-
Notifications
You must be signed in to change notification settings - Fork 40
98 lines (83 loc) · 3.37 KB
/
macos-aarch64.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
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
with:
arch: 'aarch64'
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/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/[email protected]
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 }}