processing-1414-4.4.114 #34
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: Releases | |
| on: | |
| release: | |
| types: [published] | |
| jobs: | |
| version: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| revision: ${{ steps.tag_info.outputs.revision }} | |
| version: ${{ steps.tag_info.outputs.version }} | |
| steps: | |
| - name: Extract version and revision | |
| id: tag_info | |
| shell: bash | |
| run: | | |
| TAG_NAME="${GITHUB_REF#refs/tags/}" | |
| REVISION=$(echo "$TAG_NAME" | cut -d'-' -f2) | |
| VERSION=$(echo "$TAG_NAME" | cut -d'-' -f3) | |
| # Set outputs for use in later jobs or steps | |
| echo "revision=$REVISION" >> $GITHUB_OUTPUT | |
| echo "version=$VERSION" >> $GITHUB_OUTPUT | |
| reference: | |
| name: Publish Processing Reference to release | |
| runs-on: ubuntu-latest | |
| if: false | |
| permissions: | |
| contents: write | |
| needs: version | |
| steps: | |
| - name: Checkout Website Repository | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: processing/processing-website | |
| - name: Use Node.js 16 | |
| uses: actions/setup-node@v3 | |
| with: | |
| node-version: 16 | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build | |
| run: npm run build | |
| - name: Make reference.zip | |
| run: npm run zip | |
| - name: Upload reference to release | |
| uses: svenstaro/upload-release-action@v2 | |
| with: | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| asset_name: processing-${{ needs.version.outputs.version }}-reference.zip | |
| file: reference.zip | |
| publish-maven: | |
| name: Publish Processing Libraries to Maven Central | |
| runs-on: ubuntu-latest | |
| if: false | |
| needs: version | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Processing | |
| uses: ./.github/actions/setup | |
| - name: Build with Gradle | |
| run: ./gradlew publish | |
| env: | |
| MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }} | |
| MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} | |
| ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }} | |
| ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} | |
| ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_IN_MEMORY_KEY }} | |
| ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_IN_MEMORY_KEY_PASSWORD }} | |
| ORG_GRADLE_PROJECT_version: ${{ needs.version.outputs.version }} | |
| ORG_GRADLE_PROJECT_group: ${{ vars.GRADLE_GROUP }} | |
| release-windows: | |
| name: (windows/${{ matrix.arch }}) Create Processing Release | |
| runs-on: ${{ matrix.os }} | |
| needs: version | |
| if: false | |
| permissions: | |
| contents: write | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - arch: x64 | |
| os: windows-latest | |
| # - arch: aarch64 | |
| # os: windows-11-arm | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Processing | |
| uses: ./.github/actions/setup | |
| - name: Build with Gradle | |
| run: ./gradlew packageDistributionForCurrentOS | |
| env: | |
| ORG_GRADLE_PROJECT_version: ${{ needs.version.outputs.version }} | |
| ORG_GRADLE_PROJECT_group: ${{ vars.GRADLE_GROUP }} | |
| ORG_GRADLE_PROJECT_revision: ${{ needs.version.outputs.revision }} | |
| - name: Sign files with Trusted Signing | |
| uses: azure/trusted-signing-action@v0 | |
| with: | |
| azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }} | |
| azure-client-id: ${{ secrets.AZURE_CLIENT_ID }} | |
| azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }} | |
| endpoint: https://eus.codesigning.azure.net/ | |
| trusted-signing-account-name: ${{ secrets.AZURE_SIGNING_ACCOUNT_NAME }} | |
| certificate-profile-name: ${{ secrets.AZURE_CERTIFICATE_PROFILE_NAME }} | |
| files-folder: app/build/compose/binaries/main/msi | |
| files-folder-filter: msi | |
| file-digest: SHA256 | |
| timestamp-rfc3161: http://timestamp.acs.microsoft.com | |
| timestamp-digest: SHA256 | |
| - name: Upload portable version | |
| uses: svenstaro/upload-release-action@v2 | |
| with: | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| asset_name: processing-${{ needs.version.outputs.version }}-windows-${{ matrix.arch }}-portable.zip | |
| file: app/build/compose/binaries/main/Processing-${{ needs.version.outputs.version }}.zip | |
| - name: Upload installer | |
| uses: svenstaro/upload-release-action@v2 | |
| with: | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| asset_name: processing-${{ needs.version.outputs.version }}-windows-${{ matrix.arch }}.msi | |
| file: app/build/compose/binaries/main/msi/Processing-${{ needs.version.outputs.version }}.msi | |
| release-macos: | |
| name: (macOS/${{ matrix.arch }}) Create Processing Release | |
| if: false | |
| runs-on: macos-latest | |
| needs: version | |
| permissions: | |
| contents: write | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - arch: x64 | |
| - arch: aarch64 | |
| steps: | |
| - name: Install Certificates for Code Signing | |
| continue-on-error: true | |
| uses: apple-actions/import-codesign-certs@v3 | |
| with: | |
| p12-file-base64: ${{ secrets.CERTIFICATES_P12 }} | |
| p12-password: ${{ secrets.CERTIFICATES_P12_PASSWORD }} | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Processing | |
| uses: ./.github/actions/setup | |
| with: | |
| arch: ${{ matrix.arch }} | |
| - name: Build with Gradle | |
| run: ./gradlew packageDistributionForCurrentOS | |
| env: | |
| ORG_GRADLE_PROJECT_version: ${{ needs.version.outputs.version }} | |
| ORG_GRADLE_PROJECT_group: ${{ vars.GRADLE_GROUP }} | |
| ORG_GRADLE_PROJECT_revision: ${{ needs.version.outputs.revision }} | |
| ORG_GRADLE_PROJECT_compose.desktop.verbose: true | |
| ORG_GRADLE_PROJECT_compose.desktop.mac.sign: ${{ secrets.PROCESSING_SIGNING }} | |
| ORG_GRADLE_PROJECT_compose.desktop.mac.signing.identity: ${{ secrets.PROCESSING_SIGNING_IDENTITY }} | |
| ORG_GRADLE_PROJECT_compose.desktop.mac.notarization.appleID: ${{ secrets.PROCESSING_APPLE_ID }} | |
| ORG_GRADLE_PROJECT_compose.desktop.mac.notarization.password: ${{ secrets.PROCESSING_APP_PASSWORD }} | |
| ORG_GRADLE_PROJECT_compose.desktop.mac.notarization.teamID: ${{ secrets.PROCESSING_TEAM_ID }} | |
| - name: Upload portables to release | |
| uses: svenstaro/upload-release-action@v2 | |
| with: | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| asset_name: processing-${{ needs.version.outputs.version }}-macos-${{ matrix.arch }}-portable.zip | |
| file: app/build/compose/binaries/main/Processing-${{ needs.version.outputs.version }}.zip | |
| - name: Upload installers to release | |
| uses: svenstaro/upload-release-action@v2 | |
| with: | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| asset_name: processing-${{ needs.version.outputs.version }}-macos-${{ matrix.arch }}.dmg | |
| file: app/build/compose/binaries/main/dmg/Processing-${{ needs.version.outputs.version }}.dmg | |
| release-linux: | |
| name: (linux/${{ matrix.arch }}) Create Processing Release | |
| runs-on: ${{ matrix.os }} | |
| needs: version | |
| permissions: | |
| contents: write | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-24.04-arm | |
| arch: aarch64 | |
| deb: arm64 | |
| - os: ubuntu-latest | |
| arch: x64 | |
| deb: amd64 | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Processing | |
| uses: ./.github/actions/setup | |
| - name: Build with Gradle | |
| run: ./gradlew packageDistributionForCurrentOS | |
| env: | |
| ORG_GRADLE_PROJECT_version: ${{ needs.version.outputs.version }} | |
| ORG_GRADLE_PROJECT_group: ${{ vars.GRADLE_GROUP }} | |
| ORG_GRADLE_PROJECT_revision: ${{ needs.version.outputs.revision }} | |
| ORG_GRADLE_PROJECT_compose.desktop.verbose: true | |
| - name: Upload portable to release | |
| uses: svenstaro/upload-release-action@v2 | |
| with: | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| asset_name: processing-${{ needs.version.outputs.version }}-linux-${{ matrix.arch }}-portable.zip | |
| file: app/build/compose/binaries/main/Processing-${{ needs.version.outputs.version }}.zip | |
| - name: Upload installer to release | |
| uses: svenstaro/upload-release-action@v2 | |
| with: | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| asset_name: processing-${{ needs.version.outputs.version }}-linux-${{ matrix.arch }}.deb | |
| file: app/build/compose/binaries/main/deb/processing_${{ needs.version.outputs.version }}-1_${{ matrix.deb }}.deb | |
| - name: Add artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: processing_${{ needs.version.outputs.version }}-1_${{ matrix.deb }}.deb | |
| retention-days: 1 | |
| path: app/build/compose/binaries/main/deb/processing_${{ needs.version.outputs.version }}-1_${{ matrix.deb }}.deb | |
| release-linux-snap: | |
| name: (linux/${{ matrix.arch }}) Create Processing Snap Release | |
| runs-on: ${{ matrix.os }} | |
| needs: [version, release-linux] | |
| permissions: | |
| contents: write | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-24.04-arm | |
| arch: aarch64 | |
| deb: arm64 | |
| - os: ubuntu-latest | |
| arch: x64 | |
| deb: amd64 | |
| steps: | |
| - name: Install Snapcraft | |
| uses: samuelmeuli/action-snapcraft@v3 | |
| - name: Install LXD | |
| uses: canonical/setup-lxd@main | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Download artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: processing_${{ needs.version.outputs.version }}-1_${{ matrix.deb }}.deb | |
| path: app/build/compose/binaries/main/deb/ | |
| - name: Build with Gradle | |
| run: ./gradlew packageSnap | |
| env: | |
| ORG_GRADLE_PROJECT_version: ${{ needs.version.outputs.version }} | |
| ORG_GRADLE_PROJECT_group: ${{ vars.GRADLE_GROUP }} | |
| ORG_GRADLE_PROJECT_revision: ${{ needs.version.outputs.revision }} | |
| ORG_GRADLE_PROJECT_snapname: ${{ vars.SNAP_NAME }} | |
| ORG_GRADLE_PROJECT_snapconfinement: ${{ vars.SNAP_CONFINEMENT }} | |
| - name: Upload snap to release | |
| uses: svenstaro/upload-release-action@v2 | |
| with: | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| asset_name: processing-${{ needs.version.outputs.version }}-linux-${{ matrix.arch }}.snap | |
| file: app/build/compose/binaries/main/${{ vars.SNAP_NAME }}_{{ needs.version.outputs.version }}_${{ matrix.deb }}.snap | |
| - name: Upload snap to Snap Store | |
| run: snapcraft upload --release=beta app/build/compose/binaries/main/${{ vars.SNAP_NAME }}_{{ needs.version.outputs.version }}_${{ matrix.deb }}.snap | |
| env: | |
| SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.PROCESSING_SNAPCRAFT_TOKEN }} | |
| release-linux-flatpak: | |
| name: (linux/${{ matrix.arch }}) Create Processing Flatpak Release | |
| runs-on: ${{ matrix.os }} | |
| needs: [ version, release-linux ] | |
| container: | |
| image: ghcr.io/flathub-infra/flatpak-github-actions:gnome-48 | |
| options: --privileged | |
| permissions: | |
| contents: write | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-24.04-arm | |
| arch: aarch64 | |
| deb: arm64 | |
| farch: aarch64 | |
| - os: ubuntu-latest | |
| arch: x64 | |
| deb: amd64 | |
| farch: x86_64 | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Download artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: processing_${{ needs.version.outputs.version }}-1_${{ matrix.deb }}.deb | |
| path: app/build/compose/binaries/main/deb/ | |
| - name: Setup Processing | |
| uses: ./.github/actions/setup | |
| - name: Build with Gradle | |
| run: ./gradlew generateFlatpakConfiguration | |
| env: | |
| ORG_GRADLE_PROJECT_version: ${{ needs.version.outputs.version }} | |
| ORG_GRADLE_PROJECT_group: ${{ vars.GRADLE_GROUP }} | |
| ORG_GRADLE_PROJECT_revision: ${{ needs.version.outputs.revision }} | |
| - uses: flatpak/flatpak-github-actions/flatpak-builder@v6 | |
| with: | |
| bundle: processing.flatpak | |
| manifest-path: app/build/compose/binaries/main/flatpak/org.processing.pde.yml | |
| cache-key: flatpak-builder-${{ github.sha }} | |
| arch: ${{ matrix.farch }} | |
| - name: Upload Flatpak to release | |
| uses: svenstaro/upload-release-action@v2 | |
| with: | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| asset_name: processing-${{ needs.version.outputs.version }}-linux-${{ matrix.arch }}.flatpak | |
| file: processing.flatpak |