-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Automate release process to Maven Central and Gradle Plugin Portal #1663
Merged
Merged
Changes from all commits
Commits
Show all changes
39 commits
Select commit
Hold shift + click to select a range
09124a1
Update to Swig 4.2.0
rorbech b11f2e4
Clean up build-android-package node before building
rorbech 4bb0c0c
GHA adding dependency for iOS test
nhachicha 10cc4aa
Merge remote-tracking branch 'origin/cr/swig-4.2.0'
nhachicha f58b79e
test release (staging to Sonatype)
nhachicha d957d08
Install dep for realpath
nhachicha 45b8986
fix
nhachicha 15fe2d5
test
nhachicha 3ec50d4
Passing argument properly
nhachicha c2ba602
Publish only the artifacts
nhachicha a19392f
Merge remote-tracking branch 'origin/main' into nh/GHA/release
nhachicha ee61cd3
Testing release
nhachicha be39ffa
Debugging
nhachicha 1af080f
Fix IOCTL
nhachicha 24c8b58
debug
nhachicha 5bdc1f5
debug
nhachicha 878a302
fix script
nhachicha 338356a
debug
nhachicha ad4edd4
disable steps
nhachicha a94d06b
debug
nhachicha 0ffc79c
debug
nhachicha 9dd9f90
debug
nhachicha 1f7e8a2
debug
nhachicha 76a7e92
Merge remote-tracking branch 'origin/main' into nh/GHA/release
nhachicha e3020fc
Debugging vars
nhachicha c62402e
syntax
nhachicha fdf6357
syntax
nhachicha b628d3d
clean up
nhachicha de4081b
Conditional trigger for release
nhachicha af88825
Missed var
nhachicha 3520357
Fallback in case no tag is found
nhachicha 29ba516
fixes
nhachicha 64d7444
fixes
nhachicha 48d0da5
Fixes
nhachicha 4010740
un-comment steps
nhachicha d56884d
re-enable publishing
nhachicha 852befd
more cleanup
nhachicha 60ef040
Changelog
nhachicha dd00b06
Merge remote-tracking branch 'origin/main' into nh/GHA/release
nhachicha File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
name: Deploy release | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
version-label: | ||
required: true | ||
type: string | ||
|
||
packages-sha-label: | ||
required: true | ||
type: string | ||
|
||
jobs: | ||
deploy: | ||
runs-on: macos-latest | ||
name: Deploy release | ||
|
||
steps: | ||
- name: git checkout | ||
uses: actions/checkout@v3 | ||
with: | ||
submodules: "recursive" | ||
|
||
- name: Setup Java 11 | ||
uses: actions/setup-java@v3 | ||
with: | ||
distribution: ${{ vars.VERSION_JAVA_DISTRIBUTION }} | ||
java-version: ${{ vars.VERSION_JAVA }} | ||
|
||
- name: Setup Gradle and task/dependency caching | ||
uses: gradle/gradle-build-action@v2 | ||
with: | ||
cache-read-only: false | ||
|
||
- name: Setup cmake | ||
uses: jwlawson/[email protected] | ||
with: | ||
cmake-version: ${{ vars.VERSION_CMAKE }} | ||
|
||
- name: Setup ninja | ||
uses: cmelchior/setup-ninja@master | ||
with: | ||
version: ${{ vars.VERSION_NINJA }} | ||
|
||
- name: Install ccache | ||
uses: hendrikmuhs/[email protected] | ||
with: | ||
key: 'jvm-package' | ||
max-size: '2.0G' | ||
|
||
- name: Install coreutils and s3cmd | ||
run: brew install coreutils s3cmd | ||
|
||
- name: Prepend ccache executables to the PATH | ||
run: echo "/usr/lib/ccache:/usr/local/opt/ccache/libexec" >> $GITHUB_PATH | ||
|
||
# See https://github.com/hendrikmuhs/ccache-action/issues/94 | ||
- name: Configure ccache | ||
run: | | ||
ccache --set-config="compiler_check=content" | ||
ccache --show-config | ||
echo '#!/bin/bash\nccache clang "$@"%"' > /usr/local/bin/ccache-clang | ||
echo '#!/bin/bash\nccache clang++ "$@"%"' > /usr/local/bin/ccache-clang++ | ||
|
||
# TODO This matches 23.2.8568313, but what happens if we define specific ndk version in our build? | ||
- name: Setup NDK | ||
uses: nttld/setup-ndk@v1 | ||
with: | ||
ndk-version: r23c | ||
|
||
# We cannot use artifacts as they cannot be shared between workflows, so use cache instead. | ||
- name: Setup build cache | ||
uses: actions/cache@v3 | ||
with: | ||
path: ./packages/build/m2-buildrepo | ||
key: packages-m2-jvm-sync-${{ inputs.packages-sha-label }} | ||
|
||
- name: Restore Linux JNI lib | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: jni-linux-lib-${{ inputs.version-label }} | ||
path: ./packages/cinterop/build/realmLinuxBuild | ||
|
||
- name: Restore Windows JNI lib | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: jni-windows-lib-${{ inputs.version-label }} | ||
path: ./packages/cinterop/build/realmWindowsBuild/Release | ||
|
||
- name: Restore MacOS JNI lib | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: jni-macos-lib-${{ inputs.version-label }} | ||
path: ./packages/cinterop/build/realmMacOsBuild | ||
|
||
- name: Restore m2-buildrepo | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: all-packages-${{ inputs.version-label }} | ||
path: ./packages/build/m2-buildrepo | ||
|
||
- name: Publish release to Maven Central | ||
run: | | ||
set +x | ||
sh ./tools/publish_release.sh "${{ secrets.MAVEN_CENTRAL_USER_DBG }}" "${{ secrets.MAVEN_CENTRAL_KEY_DBG }}" \ | ||
"${{ secrets.AWS_S3_ACCESS_KEY_ID }}" "${{ secrets.AWS_S3_SECRET_ACCESS_KEY }}" \ | ||
"${{ secrets.DOCS_S3_ACCESS_KEY }}" "${{ secrets.DOCS_S3_SECRET_KEY }}" \ | ||
"${{ secrets.SLACK_URL_RELEASE }}" "${{ secrets.SLACK_URL_CI }}" \ | ||
"${{ secrets.GRADLE_PORTAL_KEY }}" "${{ secrets.GRADLE_PORTAL_SECRET }}" \ | ||
'-PsignBuild=true -PsignSecretRingFileKotlin="${{ secrets.GPG_SIGNING_KEY_BASE_64_DBG }}" -PsignPasswordKotlin=${{ secrets.GPG_PASS_PHRASE_DBG }}' | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the tag does not exist the tag would be "NONE", shouldn't we stop the release if not gittag is defined?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the gittag is

NONE
is_publish_build
will befalse
in the next step which will skip the release