Skip to content

Release Perform v0.2.1 #11

Release Perform v0.2.1

Release Perform v0.2.1 #11

Workflow file for this run

name: Release Perform
run-name: Release Perform v${{ github.event.inputs.releaseVersion }}
on:
workflow_dispatch:
inputs:
deploy:
type: boolean
required: true
default: true
releaseVersion:
type: string
required: true
jobs:
build-native:
strategy:
fail-fast: false
matrix:
config:
- host: ubuntu-latest
target: i686-unknown-linux-gnu
artifact: linux-x86
cross: true
linker: gcc-multilib
pkgFlags: "--define 'skipTests'"
- host: ubuntu-latest
target: x86_64-unknown-linux-gnu
artifact: linux-x86_64
- host: ubuntu-latest
target: aarch64-unknown-linux-gnu
artifact: linux-aarch64
cross: true
linker: gcc-aarch64-linux-gnu
pkgFlags: "--define 'skipTests'"
- host: ubuntu-latest
target: aarch64-linux-android
artifact: linux-android-aarch64
cross: true
linker: gcc-aarch64-linux-gnu
pkgFlags: "--define 'skipTests'"
- host: ubuntu-latest
target: armv7-linux-androideabi
artifact: linux-android-armv7
cross: true
linker: gcc-arm-linux-gnueabihf
pkgFlags: "--define 'skipTests'"
- host: windows-latest
target: x86_64-pc-windows-msvc
artifact: windows-x86_64
- host: windows-latest
target: i686-pc-windows-msvc
artifact: windows-x86_32
pkgFlags: "--define 'skipTests'"
- host: macos-latest
target: x86_64-apple-darwin
artifact: osx-x86_64
- host: macos-latest
target: aarch64-apple-darwin
artifact: osx-aarch64
pkgFlags: "--define 'skipTests'"
runs-on: ${{ matrix.config.host }}
steps:
- uses: actions/checkout@v3
with:
ref: v${{ github.event.inputs.releaseVersion }}
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
targets: ${{ matrix.config.target }}
- uses: ./.github/workflows/rust-cache
- name: Install Linker
run: |
sudo apt update
sudo apt install ${{ matrix.config.linker }}
if: ${{ matrix.config.cross }}
- name: Setup Java
uses: actions/setup-java@v3
with:
java-version: "11"
distribution: "temurin"
- name: Run mvn package for native
run: mvn --batch-mode --projects ngrok-java-native --also-make package --activate-profiles ci-native --define 'ngrok.native.classifier=${{ matrix.config.artifact }}' --define 'ngrok.native.target=${{ matrix.config.target }}' ${{ matrix.config.pkgFlags }}
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: ngrok-java-native-${{ github.event.inputs.releaseVersion }}-${{ matrix.config.artifact }}.jar
path: ngrok-java-native/target/ngrok-java-native-${{ github.event.inputs.releaseVersion }}-${{ matrix.config.artifact }}.jar
retention-days: 1
deploy-central:
if: ${{ github.event.inputs.deploy }}
runs-on: ubuntu-latest
needs:
- build-native
steps:
- uses: actions/checkout@v3
with:
ref: v${{ github.event.inputs.releaseVersion }}
- uses: actions/setup-java@v3
with:
java-version: |
17
11
distribution: "temurin"
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
gpg-private-key: ${{ secrets.OSSRH_GPG_PRIVATE_KEY }}
gpg-passphrase: MAVEN_GPG_PASSPHRASE
- uses: actions/download-artifact@v3
with:
path: ngrok-java-native/target/
- name: Run mvn deploy
run: mvn --batch-mode deploy --activate-profiles ci-distro,central-distro
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_PASSPHRASE }}
deploy-github:
if: ${{ github.event.inputs.deploy }}
runs-on: ubuntu-latest
needs:
- build-native
steps:
- uses: actions/checkout@v3
with:
ref: v${{ github.event.inputs.releaseVersion }}
- uses: actions/setup-java@v3
with:
java-version: |
17
11
distribution: "temurin"
- uses: actions/download-artifact@v3
with:
path: ngrok-java-native/target/
- name: Run mvn deploy
run: mvn --batch-mode deploy --activate-profiles ci-distro,github-distro
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}