Release #39
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
name: Release | |
on: | |
workflow_dispatch: # Manual trigger | |
inputs: | |
version: | |
type: string | |
description: Version to release | |
required: true | |
env: | |
JAVA_VERSION: 21 | |
VERSION: ${{ inputs.version }} | |
jobs: | |
buildJava: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ env.JAVA_VERSION }} | |
distribution: 'microsoft' | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@v4 | |
- name: Grant execute permission for Gradle wrapper | |
run: chmod +x ./gradlew | |
- name: Build with Gradle | |
run: ./gradlew build --rerun-tasks --stacktrace | |
- name: Create native artifact | |
run: ./gradlew copyForNative --rerun-tasks --stacktrace | |
- name: Store native artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: native-quilt-installer-jar-${{ github.sha }} | |
path: build/native-quilt-installer.jar | |
- name: Publish to releases maven | |
run: ./gradlew publish --rerun-tasks --stacktrace | |
env: | |
MAVEN_URL: ${{ secrets.MAVEN_URL }} | |
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} | |
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} | |
- name: Publish to snapshots maven | |
continue-on-error: true | |
run: ./gradlew publish --rerun-tasks --stacktrace | |
env: | |
SNAPSHOTS_URL: ${{ secrets.SNAPSHOTS_URL }} | |
SNAPSHOTS_USERNAME: ${{ secrets.SNAPSHOTS_USERNAME }} | |
SNAPSHOTS_PASSWORD: ${{ secrets.SNAPSHOTS_PASSWORD }} | |
buildNatives: | |
needs: buildJava | |
strategy: | |
matrix: | |
include: | |
- name: Windows x64 | |
publish_target: windows-x86_64 | |
os: windows-latest | |
target: x86_64-pc-windows-msvc | |
file_extension: .exe | |
- name: Windows x86 | |
publish_target: windows-i686 | |
os: windows-latest | |
target: i686-pc-windows-msvc | |
file_extension: .exe | |
- name: Windows arm64 | |
publish_target: windows-aarch64 | |
os: windows-latest | |
target: aarch64-pc-windows-msvc | |
file_extension: .exe | |
env: | |
QUILT_INSTALLER_JAR_PATH: jars/native-quilt-installer.jar | |
# for publishing | |
NATIVE_TARGET: ${{ matrix.target }} | |
NATIVE_TARGET_ARTIFACT_ID: ${{ matrix.publish_target }} | |
NATIVE_TARGET_EXT: ${{ matrix.file_extension }} | |
runs-on: ${{ matrix.os }} | |
steps: | |
# TODO: Fix macOS in future | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ env.JAVA_VERSION }} | |
distribution: 'microsoft' | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@v4 | |
- name: Grant execute permission for Gradle wrapper | |
run: chmod +x ./gradlew | |
- run: rustup target add ${{ matrix.target }} | |
- name: download native jar | |
uses: actions/download-artifact@v4 | |
with: | |
name: native-quilt-installer-jar-${{ github.sha }} | |
path: native/jars | |
- name: Run Cargo | |
run: cargo build --release --target ${{ matrix.target }} | |
working-directory: ./native | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Quilt Native Installer ${{ env.VERSION }} (${{ matrix.name }}) | |
path: native/target/${{ matrix.target }}/release/quilt-installer${{ matrix.file_extension }} | |
- name: Publish native installer ${{ matrix.publish_target }} to releases maven | |
run: ./gradlew publish --rerun-tasks --stacktrace | |
env: | |
MAVEN_URL: ${{ secrets.MAVEN_URL }} | |
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} | |
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} | |
- name: Publish native installer ${{ matrix.publish_target }} to snapshots maven | |
run: ./gradlew publish --rerun-tasks --stacktrace | |
env: | |
SNAPSHOTS_URL: ${{ secrets.SNAPSHOTS_URL }} | |
SNAPSHOTS_USERNAME: ${{ secrets.SNAPSHOTS_USERNAME }} | |
SNAPSHOTS_PASSWORD: ${{ secrets.SNAPSHOTS_PASSWORD }} |