forked from gluonhq/scenebuilder
-
Notifications
You must be signed in to change notification settings - Fork 0
90 lines (90 loc) · 3.72 KB
/
mac.yml
File metadata and controls
90 lines (90 loc) · 3.72 KB
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
name: Scene Builder MacOS Bundles
on:
push:
tags:
- '*'
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Setup java
uses: joschi/setup-jdk@v2
with:
java-version: 16
- uses: Apple-Actions/import-codesign-certs@v1
with:
p12-file-base64: ${{ secrets.CERTIFICATES_FILE_BASE64 }}
p12-password: ${{ secrets.CERTIFICATES_PASSWORD }}
- name: Store Variables
id: variables
run: |
TAG=${GITHUB_REF/refs\/tags\//}
VERSION=$TAG
S3_PATH=${{ env.AWS_S3_BUCKET }}/scenebuilder/$TAG/install/mac/
if [[ "$TAG" == *-RC* ]]; then
VERSION=`echo $TAG | cut -d- -f1`
S3_PATH=${{ env.AWS_S3_BUCKET }}/scenebuilder/RC/$TAG/install/mac/
fi
echo ::set-output name=SOURCE_TAG::$TAG
echo ::set-output name=SOURCE_VERSION::$VERSION
echo ::set-output name=S3_PATH::$S3_PATH
shell: bash
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
- name: Setup JavaFX
run: |
wget -P /tmp https://download2.gluonhq.com/openjfx/16/openjfx-16_osx-x64_bin-jmods-SIGNED.zip
unzip /tmp/openjfx-16_osx-x64_bin-jmods-SIGNED.zip -d /tmp
- name: Build and package JAR
run: |
mvn -q versions:set -DnewVersion=${{ env.VERSION }} -DgenerateBackupPoms=false
mvn -q package -Dmaven.test.skip=true -X
env:
VERSION: ${{ steps.variables.outputs.SOURCE_VERSION }}
- name: Create Bundle using JPackage
id: outputfile
run: |
.github/scripts/jpackage.sh \
--icon app/assets/osx/icon-mac.icns \
--java-options '"--add-opens=javafx.fxml/javafx.fxml=ALL-UNNAMED"' \
--type dmg \
--mac-package-identifier com.gluonhq.scenebuilder \
--mac-package-name 'Scene Builder' \
--mac-package-signing-prefix "$GLUON_MACSIGN_PREFIX" \
--mac-signing-key-user-name "$GLUON_MACSIGN_USER" \
--mac-sign
mv $INSTALL_DIR/SceneBuilder-${{ env.VERSION }}.dmg $INSTALL_DIR/SceneBuilder-${{ env.TAG }}.dmg
ls $INSTALL_DIR
echo ::set-output name=path::$INSTALL_DIR/SceneBuilder-${{ env.TAG }}.dmg
env:
MAIN_CLASS: com.oracle.javafx.scenebuilder.app.SceneBuilderApp
JAVAFX_HOME: /tmp/javafx-jmods-16/
JPACKAGE_HOME: ${{ env.JAVA_HOME }}
GLUON_MACSIGN_PREFIX: ${{ secrets.GLUON_MACSIGN_PREFIX }}
GLUON_MACSIGN_USER: ${{ secrets.GLUON_MACSIGN_USER }}
TAG: ${{ steps.variables.outputs.SOURCE_TAG }}
VERSION: ${{ steps.variables.outputs.SOURCE_VERSION }}
INSTALL_DIR: app/target/install
- name: "Notarize Release Build"
uses: erwin1/xcode-notarize@main
with:
product-path: ${{ steps.outputfile.outputs.path }}
appstore-connect-username: ${{ secrets.NOTARIZATION_USERNAME }}
appstore-connect-password: ${{ secrets.NOTARIZATION_PASSWORD }}
primary-bundle-id: com.gluonhq.scenebuilder
asc-provider: ${{ secrets.GLUON_MACSIGN_PREFIX }}
verbose: true
- name: Upload Artifact
uses: actions/upload-artifact@v2
with:
name: SceneBuilder-${{ runner.os }}
path: ${{ steps.outputfile.outputs.path }}
- name: Upload to AWS S3
run: |
aws s3 cp $ARTIFACT_PATH $S3_PATH --acl public-read --region us-east-1 --debug
env:
ARTIFACT_PATH: ${{ steps.outputfile.outputs.path }}
S3_PATH: ${{ steps.variables.outputs.S3_PATH }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}