From 7a5222dccb33686928866a1d70c50a57896f1ef8 Mon Sep 17 00:00:00 2001 From: "jose.pereda" Date: Fri, 6 Sep 2024 14:35:40 +0200 Subject: [PATCH 1/2] update versions and workflows --- .github/workflows/android.yml | 2 +- .github/workflows/ios.yml | 2 +- .github/workflows/linux.yml | 2 +- .github/workflows/macos.yml | 7 ++++--- pom.xml | 6 +++--- 5 files changed, 10 insertions(+), 9 deletions(-) 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.yml b/.github/workflows/macos.yml index d75602d..fb6acbe 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -8,11 +8,12 @@ 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 env: + arch: 'aarch64' GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Developer ID Application certificate @@ -35,7 +36,7 @@ jobs: id: outputfile run: | ./mvnw -Pdesktop,mac gluonfx:build gluonfx:package - echo ::set-output name=path::target/gluonfx/x86_64-darwin/HelloGluon-1.0.0.pkg + echo ::set-output name=path::target/gluonfx/aarch64-darwin/HelloGluon-1.0.0.pkg - name: Notarize Installer uses: erwin1/xcode-notarizer@v1 @@ -78,7 +79,7 @@ jobs: id: outputfilestore run: | ./mvnw -Pdesktop,macstore gluonfx:package - echo ::set-output name=path::target/gluonfx/x86_64-darwin/HelloGluon-1.0.0.pkg + echo ::set-output name=path::target/gluonfx/aarch64-darwin/HelloGluon-1.0.0.pkg - name: Upload (pkg store) uses: actions/upload-artifact@v2 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 From d2efaa539f745ab316bacc408fa8e7757c41ddc0 Mon Sep 17 00:00:00 2001 From: "jose.pereda" Date: Fri, 6 Sep 2024 14:56:32 +0200 Subject: [PATCH 2/2] add macos-x86_64 workflow --- .../{macos.yml => macos-aarch64.yml} | 2 +- .github/workflows/macos-x64_64.yml | 98 +++++++++++++++++++ 2 files changed, 99 insertions(+), 1 deletion(-) rename .github/workflows/{macos.yml => macos-aarch64.yml} (99%) create mode 100644 .github/workflows/macos-x64_64.yml diff --git a/.github/workflows/macos.yml b/.github/workflows/macos-aarch64.yml similarity index 99% rename from .github/workflows/macos.yml rename to .github/workflows/macos-aarch64.yml index fb6acbe..86fcae8 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos-aarch64.yml @@ -1,4 +1,4 @@ -name: macOS +name: macOS AArch64 on: push: diff --git a/.github/workflows/macos-x64_64.yml b/.github/workflows/macos-x64_64.yml new file mode 100644 index 0000000..0ea718e --- /dev/null +++ b/.github/workflows/macos-x64_64.yml @@ -0,0 +1,98 @@ +name: macOS x86_64 + +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: + 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/x86_64-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/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 }} + 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 }}