Skip to content

feat: support optional credential config for submission #57

feat: support optional credential config for submission

feat: support optional credential config for submission #57

Workflow file for this run

name: Build Desktop JARs
on:
workflow_dispatch:
push:
branches: [ 'feat/**' ]
jobs:
build-linux:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
- name: Setup Rust toolchain
run: rustup update stable
- name: Setup Java 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Build Desktop JAR
shell: bash
run: |
make desktop-linux
- name: Upload JAR Artifact
uses: actions/upload-artifact@v4
with:
name: desktop-linux
path: desktop/build/libs/*.jar
publish-linux:
runs-on: ubuntu-latest
needs: build-linux
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: 'maven'
server-id: central
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }}
- name: Download JAR artifact
uses: actions/download-artifact@v4
with:
name: desktop-linux
path: maven/desktop
- name: Set Project Version
working-directory: maven/desktop
run: |
ARTIFACT_ID="passport-linux"
if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then
VERSION="${GITHUB_REF_NAME#v}"
else
SHORT_SHA=$(echo "${GITHUB_SHA}" | cut -c1-8)
VERSION="${SHORT_SHA}"
fi
echo "Generated version: $VERSION"
sed -i "s|ARTIFACT_ID|${ARTIFACT_ID}|g" pom.xml
mvn versions:set \
-DnewVersion=${VERSION} \
-DremoveSnapshot=true
env:
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
- name: Publish to Maven Central
working-directory: maven/desktop
run: |
mvn clean deploy \
-Ddesktop.jar.name=$(ls *.jar | xargs basename) \
-Ddesktop.classifier=linux \
--batch-mode \
-DskipTests
env:
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
build-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
- run: rustup update stable
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
- name: Build macOS JAR
run: make desktop-macos
- name: Upload macOS Artifact
uses: actions/upload-artifact@v4
with:
name: desktop-macos
path: desktop/build/libs/*.jar
publish-macos:
runs-on: ubuntu-latest
needs: build-macos
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Java + Maven Central
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
cache: maven
server-id: central
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }}
- name: Download macOS Artifact
uses: actions/download-artifact@v4
with:
name: desktop-macos
path: maven/desktop
- name: Set Project Version
working-directory: maven/desktop
run: |
ARTIFACT_ID="passport-macos"
if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then
VERSION="${GITHUB_REF_NAME#v}"
else
SHORT_SHA=$(echo "${GITHUB_SHA}" | cut -c1-8)
VERSION="${SHORT_SHA}"
fi
echo "Generated version: $VERSION"
sed -i "s|ARTIFACT_ID|${ARTIFACT_ID}|g" pom.xml
mvn versions:set \
-DnewVersion=${VERSION} \
-DremoveSnapshot=true
env:
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
- name: Publish to Maven Central
working-directory: maven/desktop
run: |
mvn clean deploy \
-Ddesktop.jar.name=$(ls *.jar | xargs basename) \
-Ddesktop.classifier=macos \
--batch-mode \
-DskipTests
env:
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
- run: rustup update stable
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
- name: Build Windows JAR
shell: bash
run: make desktop-windows
- name: Upload Windows Artifact
uses: actions/upload-artifact@v4
with:
name: desktop-windows
path: desktop/build/libs/*.jar
publish-windows:
runs-on: ubuntu-latest
needs: build-windows
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Java + Maven Central
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
cache: maven
server-id: central
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }}
- name: Download Windows Artifact
uses: actions/download-artifact@v4
with:
name: desktop-windows
path: maven/desktop
- name: Set Project Version
working-directory: maven/desktop
run: |
ARTIFACT_ID="passport-windows"
if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then
VERSION="${GITHUB_REF_NAME#v}"
else
SHORT_SHA=$(echo "${GITHUB_SHA}" | cut -c1-8)
VERSION="${SHORT_SHA}"
fi
echo "Generated version: $VERSION"
sed -i "s|ARTIFACT_ID|${ARTIFACT_ID}|g" pom.xml
mvn versions:set \
-DnewVersion=${VERSION} \
-DremoveSnapshot=true
env:
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
- name: Publish to Maven Central
working-directory: maven/desktop
run: |
mvn clean deploy \
-Ddesktop.jar.name=$(ls *.jar | xargs basename) \
-Ddesktop.classifier=windows \
--batch-mode \
-DskipTests
env:
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}