feat: support optional credential config for submission #57
Workflow file for this run
This file contains hidden or 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: 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 }} |