Skip to content

add setup step for central maven repository. #2

add setup step for central maven repository.

add setup step for central maven repository. #2

Workflow file for this run

# Workflow for release a jar file with all native dependencies embedded.
# The Workflow also releases a AAR file with the native dependencies build for Android.
# The workflow runs whenever a release is published.
name: Release
on:
workflow_dispatch: # allow manual trigger
env:
dummy: 2 # change to force cache invalidation
CARGO_TERM_COLOR: always # implicitly adds '--color=always' to all cargo commands
jobs:
build-native-ubuntu:
runs-on: ubuntu-22.04
steps:
# Setup rust
- name: Setup Rust
uses: actions-rs/toolchain@v1
with:
toolchain: 1.69
# Checkout the code
- name: Checkout
uses: actions/checkout@v2
with:
submodules: recursive
- name: Make ubuntu native dependencies
run: make
- name: Upload linux library
uses: actions/upload-artifact@master
with:
name: ubuntu-library
path: ./concordium-sdk/native/libcrypto_jni.so
build-native-macos:
runs-on: macos-latest
steps:
# Setup rust
- name: Setup Rust
uses: actions-rs/toolchain@v1
with:
toolchain: 1.69
# Checkout the code
- name: Checkout
uses: actions/checkout@v2
with:
submodules: recursive
- name: Make macos native dependencies
run: make
- name: Upload macos library
uses: actions/upload-artifact@master
with:
name: macos-library
path: ./concordium-sdk/native/libcrypto_jni.dylib
build-native-windows:
runs-on: windows-latest
steps:
# Setup rust
- name: Setup Rust
uses: actions-rs/toolchain@v1
with:
toolchain: 1.69
# Checkout the code
- name: Checkout
uses: actions/checkout@v2
with:
submodules: recursive
- name: Make windows native dependencies
run: cd crypto-jni && cargo build --release
- name: Upload windows library
uses: actions/upload-artifact@master
with:
name: windows-library
path: crypto-jni\target\release\crypto_jni.dll
build-aar-library:
runs-on: ubuntu-22.04
steps:
- name: Set Up Android tools
run: |
${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager \
--sdk_root=$ANDROID_SDK_ROOT \
"platform-tools" "platforms;android-27" "build-tools;27.0.3"
# Setup rust
- name: Setup Rust
uses: actions-rs/toolchain@v1
with:
toolchain: 1.69
# Checkout the code
- name: Checkout
uses: actions/checkout@v2
with:
submodules: recursive
- name: Make android native dependencies
run: make add-android-targets && make android
# Builds and tests the sdk
- name: Initialize root project
run: mvn install -N
- name: Build and test android sdk
run: cd concordium-android-sdk && mvn --batch-mode --update-snapshots install
- name: Upload aar
uses: actions/upload-artifact@master
with:
name: concordium-android-sdk.aar
path: ./concordium-android-sdk/target/concordium-android-sdk.aar
build-and-release-jar:
needs: [build-native-ubuntu, build-native-macos, build-native-windows, build-aar-library]
# Use fixed OS version because we install packages on the system.
runs-on: ubuntu-22.04
environment: release
if: ${{ !github.event.pull_request.draft }}
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: recursive
- name: Setup JDK 8
uses: actions/setup-java@v2
with:
java-version: 8
distribution: 'adopt'
cache: maven
- name: Download linux library
uses: actions/download-artifact@master
with:
name: ubuntu-library
path: concordium-sdk/native
- name: Download macos library
uses: actions/download-artifact@master
with:
name: macos-library
path: concordium-sdk/native
- name: Download windows library
uses: actions/download-artifact@master
with:
name: windows-library
path: concordium-sdk/native
- name: Download aar library
uses: actions/download-artifact@master
with:
name: concordium-android-sdk.aar
path: concordium-android-sdk/target
# Builds and tests the sdk. Delomboks code and generates a javadoc jar from the delombok'ed code
- name: Build and test sdk
run: cd concordium-sdk && mvn --batch-mode --update-snapshots install && mvn lombok:delombok -f pom.xml && mvn javadoc:jar -f pom.xml
# Attach jar files to release (jar, jar-with-dependencies and javadoc-jar)
- name: Release
uses: softprops/action-gh-release@v1
with:
files: |
concordium-sdk/target/*.jar
concordium-android-sdk/target/concordium-android-sdk.aar
- name: Deploy javadoc
uses: MathieuSoysal/[email protected]
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
javadoc-branch: javadoc
java-version: 8
target-folder: javadoc # url will be https://concordium.github.io/concordium-java-sdk/javadoc/concordium-sdk/apidocs/
subdirectories: ./concordium-sdk
without-checkout: true
project: maven
custom-command: cd concordium-sdk && mvn javadoc:javadoc -f pom.xml # Generates javadoc from the delombok'ed code
# Setup maven central repository
- name: Set up Maven Central Repository
uses: actions/setup-java@v3

Check failure on line 192 in .github/workflows/release.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/release.yml

Invalid workflow file

You have an error in your yaml syntax on line 192
with:
java-version: '8'
distribution: 'temurin'
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
# Publish the artifact to the central maven repository.
- name: Publish package to central maven repository
run: mvn --batch-mode deploy
env:
MAVEN_USERNAME: ${{ secrets.SONATYPE_USR }}
MAVEN_PASSWORD: ${{ secrets.SONATYPE_PWD }}