Skip to content

Commit

Permalink
Merge branch 'notarization-backport' into v6.7.04_notarized
Browse files Browse the repository at this point in the history
  • Loading branch information
benanhalt committed Feb 25, 2020
2 parents 20b573b + 2da55a1 commit ddc815f
Show file tree
Hide file tree
Showing 5 changed files with 3,222 additions and 4,066 deletions.
123 changes: 103 additions & 20 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ on: [push]

jobs:
build:
name: Build and Package Specify 6
runs-on: ubuntu-latest

steps:

- uses: actions/checkout@v2

- name: Unbase64 code signing certs
Expand All @@ -16,7 +16,7 @@ jobs:
echo $WIN_PKCS12 | base64 -d > packaging/certwithroot.pfx
env:
WIN_PKCS12: ${{ secrets.WIN_PKCS12 }}
MAC_PKCS12: ${{ secrets.MAC_PKCS12 }}
MAC_PKCS12: ${{ secrets.MAC_PKCS12_V2 }}

- name: Set up JDK 1.8
uses: actions/setup-java@v1
Expand All @@ -33,58 +33,58 @@ jobs:
id: cache-install4j
uses: actions/cache@v1
with:
path: install4j7.0.7
key: install4j7.0.7-cache
path: install4j8.0.4
key: install4j8.0.4-cache

- name: Download Install4j
if: steps.cache-install4j.outputs.cache-hit != 'true'
run: |
wget https://download-keycdn.ej-technologies.com/install4j/install4j_unix_7_0_7.tar.gz
tar -zxvf install4j_unix_7_0_7.tar.gz
wget https://download-gcdn.ej-technologies.com/install4j/install4j_unix_8_0_4.tar.gz
tar -zxvf install4j_unix_8_0_4.tar.gz
- name: Set Install4j license
run: install4j7.0.7/bin/install4jc --license=$INSTALL4J_LICENSE
run: install4j8.0.4/bin/install4jc --license=$INSTALL4J_LICENSE
env:
INSTALL4J_LICENSE: ${{ secrets.INSTALL4J_LICENSE }}
INSTALL4J_LICENSE: ${{ secrets.INSTALL4J8_LICENSE }}

- name: Package Specify 6
run: >
ant -noinput -buildfile build.xml -Dinstall4j.dir=./install4j7.0.7
ant -noinput -buildfile build.xml -Dinstall4j.dir=./install4j8.0.4
-Dwin-keystore-password=$WIN_KEYSTORE_PASSWORD -Dmac-keystore-password=$MAC_KEYSTORE_PASSWORD
-Dwin.pkcs12=certwithroot.pfx -Dmac.pkcs12=expdevidapp.p12 -Dcode.signing=true
package-all
env:
WIN_KEYSTORE_PASSWORD: ${{ secrets.WIN_KEYSTORE_PASSWORD }}
MAC_KEYSTORE_PASSWORD: ${{ secrets.MAC_KEYSTORE_PASSWORD }}
MAC_KEYSTORE_PASSWORD: ${{ secrets.MAC_KEYSTORE_PASSWORD_V2 }}

- name: Upload Specify_windows_64.exe as artifact
uses: actions/upload-artifact@v1
with:
name: Specify_windows_64.exe
name: Specify_windows_64
path: packages/Specify_windows_64.exe

- name: Upload Specify_windows.exe as artifact
uses: actions/upload-artifact@v1
with:
name: Specify_windows.exe
name: Specify_windows
path: packages/Specify_windows.exe

- name: Upload Specify_unix_64.sh as artifact
uses: actions/upload-artifact@v1
with:
name: Specify_unix_64.sh
name: Specify_unix_64
path: packages/Specify_unix_64.sh

- name: Upload Specify_unix.sh as artifact
uses: actions/upload-artifact@v1
with:
name: Specify_unix.sh
name: Specify_unix
path: packages/Specify_unix.sh

- name: Upload Specify_macos.dmg as artifact
uses: actions/upload-artifact@v1
with:
name: Specify_macos.dmg
name: Specify_macos
path: packages/Specify_macos.dmg

- name: Upload updates.xml as artifact
Expand All @@ -93,15 +93,98 @@ jobs:
name: updates.xml
path: packages/updates.xml

- name: Release
notarize:
name: Notarize the Specify 6 Mac package
needs: build
runs-on: macos-latest

steps:
- name: Download Specify_macos artifact
uses: actions/download-artifact@v1
with:
name: Specify_macos

- name: Upload the Mac package for notarization
run: >
xcrun altool --notarize-app --primary-bundle-id org.specifysoftware
--username [email protected] --password $AC_PASSWORD
--file Specify_macos/Specify_macos.dmg | tee notarize-app-output.txt
env:
AC_PASSWORD: ${{ secrets.AC_PASSWORD }}

- name: Get the request UUID
run: sed -En 's/RequestUUID = (.*)$/\1/p' notarize-app-output.txt | tee request-uuid.txt

- name: Check the notarization status
run: >
for i in {1..60}; do
sleep 120;
xcrun altool --notarization-info $(< request-uuid.txt)
--username [email protected] --password $AC_PASSWORD
| tee notarization-info.txt;
grep -q "Status: in progress" notarization-info.txt || break;
done;
grep -q "Status: success" notarization-info.txt || { echo "Notarization failed!"; exit 1; }
env:
AC_PASSWORD: ${{ secrets.AC_PASSWORD }}

- name: Staple the notarization ticket to the installer
run: xcrun stapler staple Specify_macos/Specify_macos.dmg

- name: Upload the stapled Specify_macos.dmg as artifact
uses: actions/upload-artifact@v1
with:
name: Specify_macos_with_ticket
path: Specify_macos/Specify_macos.dmg

release:
name: Create a Specify 6 release
needs: [build, notarize]
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest

steps:
- name: Download Specify_windows_64 artifact
uses: actions/download-artifact@v1
with:
name: Specify_windows_64

- name: Download Specify_windows artifact
uses: actions/download-artifact@v1
with:
name: Specify_windows

- name: Download Specify_unix_64 artifact
uses: actions/download-artifact@v1
with:
name: Specify_unix_64

- name: Download Specify_unix artifact
uses: actions/download-artifact@v1
with:
name: Specify_unix

- name: Download Specify_macos_with_ticket artifact
uses: actions/download-artifact@v1
with:
name: Specify_macos_with_ticket

- name: Download updates.xml artifact
uses: actions/download-artifact@v1
with:
name: updates.xml

- name: Create release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
draft: true
prerelease: true
files: |
packages/Specify*
packages/updates.xml
Specify_windows_64/*
Specify_windows/*
Specify_unix_64/*
Specify_unix/*
Specify_macos_with_ticket/*
updates.xml/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

4 changes: 2 additions & 2 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<fail unless="specify.SPECIFY_VERSION">Specify version not set.</fail>

<property name="packages.dir" value="packages" />
<property name="install4j.dir" value="${user.home}/install4j7.0.7" />
<property name="install4j.dir" value="${user.home}/install4j8.0.4" />
<property name="packaging.dir" value="packaging"/>

<!-- Needed for building help search index -->
Expand Down Expand Up @@ -309,7 +309,7 @@

<move todir="${packages.dir}">
<fileset dir="${packages.dir}"/>
<mapper type="regexp" from="^(.*)-x64(.*)$" to="\1\2" />
<mapper type="regexp" from="^(.*)(?:-x64|-x32)(.*)$" to="\1\2" />
</move>
</target>

Expand Down
Loading

0 comments on commit ddc815f

Please sign in to comment.