Skip to content

Commit

Permalink
Generate files for maven local push
Browse files Browse the repository at this point in the history
Signed-off-by: Guian Gumpac <[email protected]>
  • Loading branch information
GumpacG committed Aug 23, 2024
1 parent 072c8f4 commit d414166
Show file tree
Hide file tree
Showing 2 changed files with 171 additions and 181 deletions.
340 changes: 170 additions & 170 deletions .github/workflows/java-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,132 +24,132 @@ permissions:
id-token: write

jobs:
# load-platform-matrix:
# runs-on: ubuntu-latest
## environment: AWS_ACTIONS
# outputs:
# PLATFORM_MATRIX: ${{ steps.load-platform-matrix.outputs.PLATFORM_MATRIX }}
# steps:
# - name: Checkout
# uses: actions/checkout@v4
#
# - name: load-platform-matrix
# id: load-platform-matrix
# shell: bash
# run: |
# # Get the matrix from the matrix.json file, without the object that has the IMAGE key
# export "PLATFORM_MATRIX=$(jq 'map(select(.PACKAGE_MANAGERS | contains(["maven"])))' < .github/json_matrices/build-matrix.json | jq -c .)"
# echo "PLATFORM_MATRIX=${PLATFORM_MATRIX}" >> $GITHUB_OUTPUT
#
# create-binaries-to-publish:
# needs: load-platform-matrix
# if: github.repository_owner == 'valkey-io'
# timeout-minutes: 35
# env:
# JAVA_VERSION: '11'
# strategy:
# # Run all jobs
# fail-fast: false
# matrix:
# host: ${{fromJson(needs.load-platform-matrix.outputs.PLATFORM_MATRIX)}}
#
# runs-on: ${{ matrix.host.RUNNER }}
#
# steps:
# - name: Setup self-hosted runner access
# run: |
# GHA_HOME=/home/ubuntu/actions-runner/_work/valkey-glide
# if [ -d $GHA_HOME ]; then
# sudo chown -R $USER:$USER $GHA_HOME
# sudo rm -rf $GHA_HOME
# mkdir -p $GHA_HOME/valkey-glide
# else
# echo "No cleaning needed"
# fi
# - uses: actions/checkout@v4
# with:
# submodules: recursive
#
# - name: Set the release version
# shell: bash
# run: |
# if ${{ github.event_name == 'pull_request' }}; then
# R_VERSION="0.1.0"
# elif ${{ github.event_name == 'workflow_dispatch' }}; then
# R_VERSION="${{ env.INPUT_VERSION }}"
# else
# R_VERSION=${GITHUB_REF:11}
# fi
# echo "RELEASE_VERSION=${R_VERSION}" >> $GITHUB_ENV
# echo "Release version detected: $R_VERSION"
# env:
# EVENT_NAME: ${{ github.event_name }}
# INPUT_VERSION: ${{ github.event.inputs.version }}
#
# - name: Set up JDK
# uses: actions/setup-java@v4
# with:
# distribution: "temurin"
# java-version: ${{ env.JAVA_VERSION }}
#
# - name: Install shared software dependencies
# uses: ./.github/workflows/install-shared-dependencies
# with:
# os: ${{ matrix.host.OS }}
# target: ${{ matrix.host.TARGET }}
# github-token: ${{ secrets.GITHUB_TOKEN }}
#
# - name: Install protoc (protobuf)
# uses: arduino/setup-protoc@v3
# with:
# version: "26.1"
# repo-token: ${{ secrets.GITHUB_TOKEN }}
#
# - name: Create secret key ring file
# working-directory: java/client
# run: |
# echo "$SECRING_GPG" | base64 --decode > ./secring.gpg
# ls -ltr
# env:
# SECRING_GPG: ${{ secrets.SECRING_GPG }}
#
# - name: Build java client
# working-directory: java
# run: |
# ./gradlew :client:publishToMavenLocal -Psigning.secretKeyRingFile=secring.gpg -Psigning.password="${{ secrets.GPG_PASSWORD }}" -Psigning.keyId=${{ secrets.GPG_KEY_ID }}
# env:
# GLIDE_RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
#
# - name: Bundle JAR
# working-directory: java
# run: |
# src_folder=~/.m2/repository/io/valkey/valkey-glide/${{ env.RELEASE_VERSION }}
# cd $src_folder
# jar -cvf bundle.jar *
# ls -ltr
# cd -
# cp $src_folder/bundle.jar bundle-${{ matrix.host.TARGET }}.jar
#
# - name: Upload artifacts to publish
# continue-on-error: true
# uses: actions/upload-artifact@v4
# with:
# name: java-${{ matrix.host.TARGET }}
# path: |
# java/bundle*.jar
load-platform-matrix:
runs-on: ubuntu-latest
# environment: AWS_ACTIONS
outputs:
PLATFORM_MATRIX: ${{ steps.load-platform-matrix.outputs.PLATFORM_MATRIX }}
steps:
- name: Checkout
uses: actions/checkout@v4

- name: load-platform-matrix
id: load-platform-matrix
shell: bash
run: |
# Get the matrix from the matrix.json file, without the object that has the IMAGE key
export "PLATFORM_MATRIX=$(jq 'map(select(.PACKAGE_MANAGERS | contains(["maven"])))' < .github/json_matrices/build-matrix.json | jq -c .)"
echo "PLATFORM_MATRIX=${PLATFORM_MATRIX}" >> $GITHUB_OUTPUT
create-binaries-to-publish:
needs: load-platform-matrix
if: github.repository_owner == 'valkey-io'
timeout-minutes: 35
env:
JAVA_VERSION: '11'
strategy:
# Run all jobs
fail-fast: false
matrix:
host: ${{fromJson(needs.load-platform-matrix.outputs.PLATFORM_MATRIX)}}

runs-on: ${{ matrix.host.RUNNER }}

steps:
- name: Setup self-hosted runner access
run: |
GHA_HOME=/home/ubuntu/actions-runner/_work/valkey-glide
if [ -d $GHA_HOME ]; then
sudo chown -R $USER:$USER $GHA_HOME
sudo rm -rf $GHA_HOME
mkdir -p $GHA_HOME/valkey-glide
else
echo "No cleaning needed"
fi
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Set the release version
shell: bash
run: |
if ${{ github.event_name == 'pull_request' }}; then
R_VERSION="0.1.0"
elif ${{ github.event_name == 'workflow_dispatch' }}; then
R_VERSION="${{ env.INPUT_VERSION }}"
else
R_VERSION=${GITHUB_REF:11}
fi
echo "RELEASE_VERSION=${R_VERSION}" >> $GITHUB_ENV
echo "Release version detected: $R_VERSION"
env:
EVENT_NAME: ${{ github.event_name }}
INPUT_VERSION: ${{ github.event.inputs.version }}

- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: ${{ env.JAVA_VERSION }}

- name: Install shared software dependencies
uses: ./.github/workflows/install-shared-dependencies
with:
os: ${{ matrix.host.OS }}
target: ${{ matrix.host.TARGET }}
github-token: ${{ secrets.GITHUB_TOKEN }}

- name: Install protoc (protobuf)
uses: arduino/setup-protoc@v3
with:
version: "26.1"
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: Create secret key ring file
working-directory: java/client
run: |
echo "$SECRING_GPG" | base64 --decode > ./secring.gpg
ls -ltr
env:
SECRING_GPG: ${{ secrets.SECRING_GPG }}

- name: Build java client
working-directory: java
run: |
./gradlew :client:publishToMavenLocal -Psigning.secretKeyRingFile=secring.gpg -Psigning.password="${{ secrets.GPG_PASSWORD }}" -Psigning.keyId=${{ secrets.GPG_KEY_ID }}
env:
GLIDE_RELEASE_VERSION: ${{ env.RELEASE_VERSION }}

- name: Bundle JAR
working-directory: java
run: |
src_folder=~/.m2/repository/io/valkey/valkey-glide/${{ env.RELEASE_VERSION }}
cd $src_folder
jar -cvf bundle.jar *
ls -ltr
cd -
cp $src_folder/bundle.jar bundle-${{ matrix.host.TARGET }}.jar
- name: Upload artifacts to publish
continue-on-error: true
uses: actions/upload-artifact@v4
with:
name: java-${{ matrix.host.TARGET }}
path: |
java/bundle*.jar
combine-binaries-to-one-directory:
# needs: create-binaries-to-publish
needs: create-binaries-to-publish
runs-on: ubuntu-latest
steps:
- name: Get status of Maven Central published artifact
run: |
BEARER_TOKEN=$(echo "${{ secrets.CENTRAL_TOKEN_USERNAME }}:${{ secrets.CENTRAL_TOKEN_PASSWORD }}" | base64)
curl --request POST \
--verbose \
--header "Authorization: Bearer $BEARER_TOKEN" \
'https://central.sonatype.com/api/v1/publisher/status?id=6a48b2c5-c3c5-4941-bd38-6011b0985ae5' \
| jq
# - name: Get status of Maven Central published artifact
# run: |
# BEARER_TOKEN=$(echo "${{ secrets.CENTRAL_TOKEN_USERNAME }}:${{ secrets.CENTRAL_TOKEN_PASSWORD }}" | base64)
# curl --request POST \
# --verbose \
# --header "Authorization: Bearer $BEARER_TOKEN" \
# 'https://central.sonatype.com/api/v1/publisher/status?id=6a48b2c5-c3c5-4941-bd38-6011b0985ae5' \
# | jq

# - name: Remove test upload from Maven Central
# run: |
Expand All @@ -159,54 +159,54 @@ jobs:
# --header "Authorization: Bearer $BEARER_TOKEN" \
# 'https://central.sonatype.com/api/v1/publisher/deployment/dad88cb3-0ba2-4602-a1cb-fbc027b2c500'

# - name: Download published artifacts
# uses: actions/download-artifact@v4
#
# - name: Set the release version
# shell: bash
# run: |
# if ${{ github.event_name == 'pull_request' }}; then
# R_VERSION="0.1.0"
# elif ${{ github.event_name == 'workflow_dispatch' }}; then
# R_VERSION="${{ env.INPUT_VERSION }}"
# else
# R_VERSION=${GITHUB_REF:11}
# fi
# echo "RELEASE_VERSION=${R_VERSION}" >> $GITHUB_ENV
# echo "Release version detected: $R_VERSION"
# env:
# INPUT_VERSION: ${{ github.event.inputs.version }}
#
# - name: Move all required files to one directory
# # TODO: Add `./java-aarch64-unknown-linux-gnu/* bundles` when we are able to support a linux arm runner.
# # TODO: Add "maven" to linux arm PACKAGE_MANAGER in build-matrix.json.
# run: |
# mkdir maven-files
# cd maven-files
# for file in $(find ../. -name "*.jar"); do jar xf "$file" ; done
#
# - name: Generate sha1 and md5 files for all Maven files
# run: |
# cd maven-files
# for i in *.jar *.pom *.module; do md5sum $i | cut -d ' ' -f 1 > $i.md5; done
# for i in *.jar *.pom *.module; do sha1sum $i | cut -d ' ' -f 1 > $i.sha1; done
#
# - name: Move files to the correct directory tree
# run: |
# mkdir -p build/io/valkey/valkey-glide/${{ env.RELEASE_VERSION }}
# cp -a maven-files/* build/io/valkey/valkey-glide/${{ env.RELEASE_VERSION }}
# rm -rf build/io/valkey/valkey-glide/${{ env.RELEASE_VERSION }}/META-INF
# cd build
# zip -r ../build io
# tree
#
# - name: Upload artifacts to publish
# uses: actions/upload-artifact@v4
# with:
# name: valkey-${{ env.RELEASE_VERSION }}
# path: |
# build
#
- name: Download published artifacts
uses: actions/download-artifact@v4

- name: Set the release version
shell: bash
run: |
if ${{ github.event_name == 'pull_request' }}; then
R_VERSION="0.1.0"
elif ${{ github.event_name == 'workflow_dispatch' }}; then
R_VERSION="${{ env.INPUT_VERSION }}"
else
R_VERSION=${GITHUB_REF:11}
fi
echo "RELEASE_VERSION=${R_VERSION}" >> $GITHUB_ENV
echo "Release version detected: $R_VERSION"
env:
INPUT_VERSION: ${{ github.event.inputs.version }}

- name: Move all required files to one directory
# TODO: Add `./java-aarch64-unknown-linux-gnu/* bundles` when we are able to support a linux arm runner.
# TODO: Add "maven" to linux arm PACKAGE_MANAGER in build-matrix.json.
run: |
mkdir maven-files
cd maven-files
for file in $(find ../. -name "*.jar"); do jar xf "$file" ; done
- name: Generate sha1 and md5 files for all Maven files
run: |
cd maven-files
for i in *.jar *.pom *.module; do md5sum $i | cut -d ' ' -f 1 > $i.md5; done
for i in *.jar *.pom *.module; do sha1sum $i | cut -d ' ' -f 1 > $i.sha1; done
- name: Move files to the correct directory tree
run: |
mkdir -p build/io/valkey/valkey-glide/${{ env.RELEASE_VERSION }}
cp -a maven-files/* build/io/valkey/valkey-glide/${{ env.RELEASE_VERSION }}
rm -rf build/io/valkey/valkey-glide/${{ env.RELEASE_VERSION }}/META-INF
cd build
zip -r ../build io
tree
- name: Upload artifacts to publish
uses: actions/upload-artifact@v4
with:
name: valkey-${{ env.RELEASE_VERSION }}
path: |
build
# - name: Publish to Maven Central
# run: |
# BEARER_TOKEN=$(echo "${{ secrets.CENTRAL_TOKEN_USERNAME }}:${{ secrets.CENTRAL_TOKEN_PASSWORD }}" | base64)
Expand Down
12 changes: 1 addition & 11 deletions java/client/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ publishing {
publications {
mavenJava(MavenPublication) {
from components.java
groupId = 'io.valkey'
groupId = 'io.github.gumpacg'
artifactId = 'valkey-glide'
version = System.getenv("GLIDE_RELEASE_VERSION") ?: defaultReleaseVersion;
pom {
Expand Down Expand Up @@ -217,16 +217,6 @@ publishing {
}
}
repositories {
maven {
name = "OSSRH"

url = uri("https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/")

credentials {
username = System.getenv("CENTRAL_TOKEN_USERNAME")
password = System.getenv("CENTRAL_TOKEN_PASSWORD")
}
}
mavenLocal()
}
}
Expand Down

0 comments on commit d414166

Please sign in to comment.