From 1163cf080d5caf0f1b55cc9c53537fe72301755c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Pereda?= Date: Fri, 6 Sep 2024 14:58:31 +0200 Subject: [PATCH] update versions and workflows (#35) * update versions and workflows * add macos-x86_64 workflow --- .github/workflows/android.yml | 2 +- .github/workflows/ios.yml | 2 +- .github/workflows/linux.yml | 2 +- .github/workflows/macos-aarch64.yml | 97 +++++++++++++++++++ .../workflows/{macos.yml => macos-x64_64.yml} | 6 +- pom.xml | 6 +- 6 files changed, 107 insertions(+), 8 deletions(-) create mode 100644 .github/workflows/macos-aarch64.yml rename .github/workflows/{macos.yml => macos-x64_64.yml} (95%) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 86d0eef..3d050c1 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -8,7 +8,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Setup Gluon's GraalVM uses: gluonhq/setup-graalvm@master diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index ccc382b..ba28023 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -8,7 +8,7 @@ jobs: build: runs-on: macos-14 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Setup Gluon's GraalVM uses: gluonhq/setup-graalvm@master diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 53bc189..a514253 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -8,7 +8,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Setup Gluon's GraalVM uses: gluonhq/setup-graalvm@master diff --git a/.github/workflows/macos-aarch64.yml b/.github/workflows/macos-aarch64.yml new file mode 100644 index 0000000..86fcae8 --- /dev/null +++ b/.github/workflows/macos-aarch64.yml @@ -0,0 +1,97 @@ +name: macOS AArch64 + +on: + push: + branches: [ master ] + +jobs: + build: + runs-on: macos-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Gluon's GraalVM + uses: gluonhq/setup-graalvm@master + env: + arch: 'aarch64' + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Developer ID Application certificate + uses: Apple-Actions/import-codesign-certs@v1 + with: + keychain: ${{ github.run_id }} + keychain-password: ${{ github.run_id }} + p12-file-base64: ${{ secrets.GLUON_MACOS_CERTIFICATES_FILE_BASE64 }} + p12-password: ${{ secrets.GLUON_MACOS_CERTIFICATES_PASSWORD }} + + - name: Make staging directory + run: mkdir staging + + - name: Gluon License + uses: gluonhq/gluon-build-license@v1 + with: + gluon-license: ${{ secrets.GLUON_LICENSE }} + + - name: Gluon Build and Package + id: outputfile + run: | + ./mvnw -Pdesktop,mac gluonfx:build gluonfx:package + echo ::set-output name=path::target/gluonfx/aarch64-darwin/HelloGluon-1.0.0.pkg + + - name: Notarize Installer + uses: erwin1/xcode-notarizer@v1 + with: + product-path: ${{ steps.outputfile.outputs.path }} + apple-id: ${{ secrets.NOTARIZATION_USERNAME }} + app-password: ${{ secrets.NOTARIZATION_PASSWORD }} + team-id: ${{ secrets.GLUON_MACSIGN_PREFIX }} + + - name: Upload (pkg) + uses: actions/upload-artifact@v2 + with: + name: Package + path: ${{ steps.outputfile.outputs.path }} + + - name: Provisioning Profile + id: provisioning + uses: Apple-Actions/download-provisioning-profiles@v1.0.1 + with: + bundle-id: com.gluonhq.hello.HelloGluonApp + profile-type: 'MAC_APP_STORE' + issuer-id: ${{ secrets.GLUON_IOS_APPSTORE_ISSUER_ID }} + api-key-id: ${{ secrets.GLUON_IOS_APPSTORE_KEY_ID }} + api-private-key: ${{ secrets.GLUON_IOS_APPSTORE_PRIVATE_KEY }} + + - name: Rename profiles + run: | + find /Users/runner/Library/MobileDevice -name '*.mobileprovision' -exec sh -c 'mv "$0" "${0%.mobileprovision}.provisionprofile"' {} \; + + - name: 3rd Party Mac certificate + uses: Apple-Actions/import-codesign-certs@v1 + with: + keychain: ${{ github.run_id }} + keychain-password: ${{ github.run_id }} + create-keychain: false + p12-file-base64: ${{ secrets.GLUON_MACOS_STORE_CERTIFICATES_FILE_BASE64 }} + p12-password: ${{ secrets.GLUON_MACOS_STORE_CERTIFICATES_PASSWORD }} + + - name: Gluon Package Store + id: outputfilestore + run: | + ./mvnw -Pdesktop,macstore gluonfx:package + echo ::set-output name=path::target/gluonfx/aarch64-darwin/HelloGluon-1.0.0.pkg + + - name: Upload (pkg store) + uses: actions/upload-artifact@v2 + with: + name: PackageAppStore + path: ${{ steps.outputfilestore.outputs.path }} + + - name: Upload App Store TestFlight + uses: Apple-Actions/upload-testflight-build@master + with: + app-path: ${{ steps.outputfilestore.outputs.path }} + app-type: osx + issuer-id: ${{ secrets.GLUON_IOS_APPSTORE_ISSUER_ID }} + api-key-id: ${{ secrets.GLUON_IOS_APPSTORE_KEY_ID }} + api-private-key: ${{ secrets.GLUON_IOS_APPSTORE_PRIVATE_KEY }} diff --git a/.github/workflows/macos.yml b/.github/workflows/macos-x64_64.yml similarity index 95% rename from .github/workflows/macos.yml rename to .github/workflows/macos-x64_64.yml index d75602d..0ea718e 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos-x64_64.yml @@ -1,4 +1,4 @@ -name: macOS +name: macOS x86_64 on: push: @@ -8,7 +8,7 @@ jobs: build: runs-on: macos-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Setup Gluon's GraalVM uses: gluonhq/setup-graalvm@master @@ -81,12 +81,14 @@ jobs: echo ::set-output name=path::target/gluonfx/x86_64-darwin/HelloGluon-1.0.0.pkg - name: Upload (pkg store) + if: false # only upload aarch64 version uses: actions/upload-artifact@v2 with: name: PackageAppStore path: ${{ steps.outputfilestore.outputs.path }} - name: Upload App Store TestFlight + if: false # only upload aarch64 version uses: Apple-Actions/upload-testflight-build@master with: app-path: ${{ steps.outputfilestore.outputs.path }} diff --git a/pom.xml b/pom.xml index cc6c0a6..e677344 100755 --- a/pom.xml +++ b/pom.xml @@ -11,13 +11,13 @@ UTF-8 - 11 - 22.0.2 + 21 + 24-ea+5 6.2.3 4.0.21 2.0.1 0.0.8 - 1.0.23 + 1.0.24-SNAPSHOT com.gluonhq.hello.HelloGluonApp ${main.class} The HelloGluon app