Skip to content

Commit 0cebcfd

Browse files
committed
feat(ci): update release workflow
1 parent 67281dc commit 0cebcfd

1 file changed

Lines changed: 31 additions & 47 deletions

File tree

.github/workflows/release.yml

Lines changed: 31 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
name: Build & publish release
22

33
concurrency:
4-
group: "build"
4+
group: "release"
55
cancel-in-progress: true
66

77
on:
88
workflow_dispatch:
99
push:
10-
branches:
11-
- release
10+
branches: [ 'release' ]
1211

1312
# Required actions secrets:
1413
# SONATYPE_USERNAME: sonatype staging repo user token username
@@ -20,51 +19,16 @@ on:
2019
jobs:
2120
build:
2221
timeout-minutes: 10
23-
runs-on: ubuntu-20.04
22+
runs-on: ubuntu-latest
2423
steps:
2524
- name: Checkout
26-
uses: actions/checkout@master
25+
uses: actions/checkout@v4
2726
with:
2827
ref: release
29-
path: "src"
30-
31-
- name: Setup JDK 11
32-
uses: actions/setup-java@v2
33-
with:
34-
java-version: 11
35-
distribution: zulu
36-
cache: gradle
37-
38-
- name: Setup Android SDK
39-
uses: android-actions/setup-android@v2
40-
41-
- uses: actions/cache@v2
42-
with:
43-
path: |
44-
~/.cargo/bin/
45-
~/.cargo/registry/index/
46-
~/.cargo/registry/cache/
47-
~/.cargo/git/db/
48-
$GITHUB_WORKSPACE/jni/target/
49-
$GITHUB_WORKSPACE/zip/target/
50-
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
51-
52-
- name: Setup Rust toolchain
53-
uses: actions-rs/toolchain@v1
54-
with:
55-
toolchain: nightly
56-
profile: minimal
57-
default: true
58-
59-
- name: Setup Rust Environment
60-
run: |
61-
rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android i686-linux-android
62-
cargo ndk --version || cargo install cargo-ndk
6328

6429
- name: Test version
6530
id: version
6631
run: |
67-
cd $GITHUB_WORKSPACE/src
6832
version=$(cat lib/build.gradle.kts | grep -E '^version = "' | cut -d \" -f 2)
6933
if git show-ref --tags --quiet --verify -- "refs/tags/$version" >/dev/null; then
7034
echo "Git tag $version already exists, failing to publish";
@@ -73,27 +37,47 @@ jobs:
7337
echo "::set-output name=release_tag::$version"
7438
fi
7539
76-
- name: Build and Maven publish
40+
- name: Setup JDK 21
41+
uses: actions/setup-java@v4
42+
with:
43+
java-version: 21
44+
distribution: zulu
45+
46+
- name: Setup Android SDK
47+
uses: android-actions/setup-android@v3
48+
49+
- name: Setup Rust toolchain
50+
run: |
51+
rustup toolchain add --profile=minimal nightly
52+
rustup default nightly
53+
rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android i686-linux-android
54+
cargo ndk --version || cargo install cargo-ndk
55+
56+
- name: Build and Publish to Maven
7757
env:
7858
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
7959
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
8060
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
8161
SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
8262
SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
8363
run: |
84-
cd $GITHUB_WORKSPACE/src
8564
chmod +x gradlew
86-
./gradlew lib:publish --no-daemon
65+
./gradlew :lib:publishToMavenLocal :lib:publish --no-daemon --stacktrace
66+
67+
- name: Upload artifacts
68+
uses: actions/upload-artifact@v4
69+
with:
70+
name: libziprs
71+
path: ~/.m2/repository/**
8772

8873
- name: Prepare Release
8974
run: |
90-
mkdir -p $GITHUB_WORKSPACE/builds
91-
mv -T $GITHUB_WORKSPACE/src/lib/build/outputs/aar/lib-release.aar $GITHUB_WORKSPACE/builds/libziprs-release.aar
75+
(cd && zip /tmp/libziprs.zip -r '**')
9276
9377
- name: Create Release
94-
uses: softprops/action-gh-release@v1
78+
uses: softprops/action-gh-release@v2
9579
with:
9680
tag_name: ${{ steps.version.outputs.release_tag }}
9781
generate_release_notes: true
9882
fail_on_unmatched_files: true
99-
files: builds/libziprs-release.aar
83+
files: /tmp/libziprs.zip

0 commit comments

Comments
 (0)