-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Updated fsbuild, added macOS10.9 target (#115)
* Updated fsbuild, added macOS10.9 target * Correct bundle.sh for stable branch * Install appdmg * macOS: Sign with both SHA-1 and SHA-256 hashes * macOS10.9 - add pyobjc * Updated workflow * More build fixes * Separate workflows * Don't specify Python 3.9 * Updated version
- Loading branch information
1 parent
a54ca85
commit f454e4f
Showing
23 changed files
with
1,906 additions
and
724 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
name: Linux | ||
on: | ||
push: | ||
branches: | ||
- master | ||
- dev | ||
- stable | ||
pull_request: | ||
branches: | ||
- master | ||
- dev | ||
- stable | ||
jobs: | ||
x86-64: | ||
runs-on: ubuntu-18.04 | ||
steps: | ||
|
||
- name: Install deb packages | ||
run: >- | ||
sudo apt install | ||
dos2unix | ||
gettext | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Set up Python 3.9 | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: 3.9 | ||
|
||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip pipenv | ||
- name: Run pipenv install | ||
run: | | ||
pipenv install --deploy | ||
- name: Download pyinstaller source | ||
run: | | ||
wget https://github.com/pyinstaller/pyinstaller/releases/download/v4.2/PyInstaller-4.2.tar.gz | ||
echo "f5c0eeb2aa663cce9a5404292c0195011fa500a6501c873a466b2e8cad3c950c *PyInstaller-4.2.tar.gz" > SHA256SUMS | ||
shasum -c SHA256SUMS | ||
tar xf PyInstaller-4.2.tar.gz | ||
- name: Compile new bootloader for pyinstaller | ||
run: | | ||
cd pyinstaller-4.2/bootloader | ||
CC="gcc -no-pie" ./waf all | ||
- name: Replace pyinstaller with custom version | ||
run: | | ||
pipenv uninstall pyinstaller | ||
pipenv install `pwd`/pyinstaller-4.2 | ||
- name: Update version | ||
run: | | ||
fsbuild/version --update --auto | ||
- name: Bootstrap | ||
run: fsbuild/bootstrap | ||
|
||
- name: Build | ||
run: | | ||
pipenv run fsbuild/build | ||
- name: Bundle | ||
run: | | ||
pipenv run fsbuild/bundle | ||
- name: Archive | ||
run: | | ||
fsbuild/archive | ||
- uses: actions/upload-artifact@v2 | ||
with: | ||
name: Linux_x86-64 | ||
path: fsbuild/_dist/* | ||
|
||
- name: Upload build to Dropbox folder | ||
if: >- | ||
github.ref == 'refs/heads/master' || | ||
github.ref == 'refs/heads/dev' || | ||
github.ref == 'refs/heads/stable' | ||
run: | | ||
python3 -m pip install dropbox | ||
fsbuild/upload | ||
env: | ||
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} | ||
DROPBOX_ACCESS_TOKEN: ${{ secrets.DROPBOX_ACCESS_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
name: macOS | ||
on: | ||
push: | ||
branches: | ||
- master | ||
- dev | ||
- stable | ||
pull_request: | ||
branches: | ||
- master | ||
- dev | ||
- stable | ||
jobs: | ||
x86-64: | ||
runs-on: macos-10.15 | ||
steps: | ||
|
||
- name: Install brew packages | ||
run: | | ||
brew install dos2unix | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Check Python version | ||
run: | | ||
which python3 | ||
python3 --version | ||
which python3.9 | ||
python3.9 --version | ||
- name: Download Python | ||
run: | | ||
wget https://www.python.org/ftp/python/3.9.5/python-3.9.5-macosx10.9.pkg | ||
echo "f65931e47676f8e835f70d4fc3cac0cb2ee9cd7393af4b90cc7f207d23437b75 *python-3.9.5-macosx10.9.pkg" > SHA256SUMS | ||
shasum -c SHA256SUMS | ||
- name: Install Python | ||
run: | | ||
sudo installer -pkg python-3.9.5-macosx10.9.pkg -target / | ||
- name: Add Python to PATH | ||
run: | | ||
echo /Library/Frameworks/Python.framework/Versions/3.9/bin >> $GITHUB_PATH | ||
- name: Install Python dependencies | ||
run: | | ||
python3 -m pip install --upgrade pip pipenv dmgbuild | ||
- name: Install Node dependencies | ||
run: | | ||
npm install -g appdmg | ||
- name: Run pipenv install | ||
run: | | ||
pipenv install --deploy | ||
- name: Update version | ||
run: | | ||
fsbuild/version --update --auto | ||
- name: Bootstrap | ||
run: fsbuild/bootstrap | ||
|
||
- name: Build | ||
run: | | ||
pipenv run fsbuild/build | ||
- name: Bundle | ||
run: | | ||
fsbuild/bundle | ||
- name: Prepare signing certificate | ||
run: | | ||
echo $SIGNING_CERTIFICATE_P12_DATA | base64 --decode > certificate.p12 | ||
security create-keychain -p $KEYCHAIN_PASSWORD build.keychain | ||
security default-keychain -s build.keychain | ||
security unlock-keychain -p $KEYCHAIN_PASSWORD build.keychain | ||
security import certificate.p12 -k build.keychain -P $SIGNING_CERTIFICATE_PASSWORD -T /usr/bin/codesign | ||
security set-key-partition-list -S apple-tool:,apple: -s -k $KEYCHAIN_PASSWORD build.keychain | ||
env: | ||
KEYCHAIN_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }} | ||
SIGNING_CERTIFICATE_P12_DATA: ${{ secrets.MACOS_CERTIFICATE_P12_DATA }} | ||
SIGNING_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }} | ||
|
||
- name: Sign | ||
run: fsbuild/sign | ||
|
||
- name: Notarize | ||
run: fsbuild/notarize | ||
env: | ||
NOTARIZATION_PASSWORD: ${{ secrets.MACOS_NOTARIZATION_PASSWORD }} | ||
NOTARIZATION_PROVIDER: ${{ secrets.MACOS_NOTARIZATION_PROVIDER }} | ||
NOTARIZATION_USERNAME: ${{ secrets.MACOS_NOTARIZATION_USERNAME }} | ||
|
||
- name: Archive | ||
run: fsbuild/archive | ||
|
||
- name: Build DMG | ||
run: fsbuild/dmg --build | ||
|
||
- name: Unlock keychain again | ||
run: | | ||
echo $SIGNING_CERTIFICATE_P12_DATA | base64 --decode > certificate.p12 | ||
security unlock-keychain -p $KEYCHAIN_PASSWORD build.keychain | ||
env: | ||
KEYCHAIN_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }} | ||
SIGNING_CERTIFICATE_P12_DATA: ${{ secrets.MACOS_CERTIFICATE_P12_DATA }} | ||
SIGNING_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }} | ||
|
||
- name: Sign DMG | ||
run: fsbuild/dmg --sign | ||
|
||
- name: Notarize DMG | ||
run: fsbuild/dmg --notarize | ||
env: | ||
NOTARIZATION_PASSWORD: ${{ secrets.MACOS_NOTARIZATION_PASSWORD }} | ||
NOTARIZATION_PROVIDER: ${{ secrets.MACOS_NOTARIZATION_PROVIDER }} | ||
NOTARIZATION_USERNAME: ${{ secrets.MACOS_NOTARIZATION_USERNAME }} | ||
|
||
- uses: actions/upload-artifact@v2 | ||
with: | ||
name: macos_x86-64 | ||
path: fsbuild/_dist/* | ||
|
||
- name: Upload build to Dropbox folder | ||
if: >- | ||
github.ref == 'refs/heads/master' || | ||
github.ref == 'refs/heads/dev' || | ||
github.ref == 'refs/heads/stable' | ||
run: | | ||
python3 -m pip install dropbox | ||
fsbuild/upload | ||
env: | ||
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} | ||
DROPBOX_ACCESS_TOKEN: ${{ secrets.DROPBOX_ACCESS_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
name: macOS10.9 | ||
on: | ||
push: | ||
branches: | ||
- master | ||
- dev | ||
- stable | ||
pull_request: | ||
branches: | ||
- master | ||
- dev | ||
- stable | ||
jobs: | ||
x86-64: | ||
runs-on: macos-10.15 | ||
env: | ||
SYSTEM_OS_DIST: macOS10.9 | ||
steps: | ||
|
||
- name: Install brew packages | ||
run: | | ||
brew install dos2unix | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Download Python | ||
run: | | ||
wget https://www.python.org/ftp/python/3.7.9/python-3.7.9-macosx10.9.pkg | ||
echo "bf54a14eef23467991e8c7a88c7307762e484c024a94ec1ee292ac1db3d41fc9 *python-3.7.9-macosx10.9.pkg" > SHA256SUMS | ||
shasum -c SHA256SUMS | ||
- name: Install Python | ||
run: | | ||
sudo installer -pkg python-3.7.9-macosx10.9.pkg -target / | ||
- name: Add Python to PATH | ||
run: | | ||
echo /Library/Frameworks/Python.framework/Versions/3.7/bin >> $GITHUB_PATH | ||
- name: Install dependencies | ||
run: | | ||
python3 -m pip install --upgrade pip pipenv dmgbuild | ||
- name: Modifications for macOS 10.9 | ||
run: | | ||
cp fsbuild/macOS10.9/* . | ||
- name: Install Node dependencies | ||
run: | | ||
npm install -g appdmg | ||
- name: Run pipenv install | ||
run: | | ||
pipenv install --deploy | ||
- name: Update version | ||
run: | | ||
fsbuild/version --update --auto | ||
- name: Bootstrap | ||
run: fsbuild/bootstrap | ||
|
||
- name: Build | ||
run: | | ||
pipenv run fsbuild/build | ||
- name: Bundle | ||
run: | | ||
fsbuild/bundle | ||
- name: Prepare signing certificate | ||
run: | | ||
echo $SIGNING_CERTIFICATE_P12_DATA | base64 --decode > certificate.p12 | ||
security create-keychain -p $KEYCHAIN_PASSWORD build.keychain | ||
security default-keychain -s build.keychain | ||
security unlock-keychain -p $KEYCHAIN_PASSWORD build.keychain | ||
security import certificate.p12 -k build.keychain -P $SIGNING_CERTIFICATE_PASSWORD -T /usr/bin/codesign | ||
security set-key-partition-list -S apple-tool:,apple: -s -k $KEYCHAIN_PASSWORD build.keychain | ||
env: | ||
KEYCHAIN_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }} | ||
SIGNING_CERTIFICATE_P12_DATA: ${{ secrets.MACOS_CERTIFICATE_P12_DATA }} | ||
SIGNING_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }} | ||
|
||
- name: Sign | ||
run: fsbuild/sign | ||
|
||
- name: Notarize | ||
run: fsbuild/notarize | ||
env: | ||
NOTARIZATION_PASSWORD: ${{ secrets.MACOS_NOTARIZATION_PASSWORD }} | ||
NOTARIZATION_PROVIDER: ${{ secrets.MACOS_NOTARIZATION_PROVIDER }} | ||
NOTARIZATION_USERNAME: ${{ secrets.MACOS_NOTARIZATION_USERNAME }} | ||
|
||
- name: Archive | ||
run: fsbuild/archive | ||
|
||
- name: Build DMG | ||
run: fsbuild/dmg --build | ||
|
||
- name: Unlock keychain again | ||
run: | | ||
echo $SIGNING_CERTIFICATE_P12_DATA | base64 --decode > certificate.p12 | ||
security unlock-keychain -p $KEYCHAIN_PASSWORD build.keychain | ||
env: | ||
KEYCHAIN_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }} | ||
SIGNING_CERTIFICATE_P12_DATA: ${{ secrets.MACOS_CERTIFICATE_P12_DATA }} | ||
SIGNING_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }} | ||
|
||
- name: Sign DMG | ||
run: fsbuild/dmg --sign | ||
|
||
- name: Notarize DMG | ||
run: fsbuild/dmg --notarize | ||
env: | ||
NOTARIZATION_PASSWORD: ${{ secrets.MACOS_NOTARIZATION_PASSWORD }} | ||
NOTARIZATION_PROVIDER: ${{ secrets.MACOS_NOTARIZATION_PROVIDER }} | ||
NOTARIZATION_USERNAME: ${{ secrets.MACOS_NOTARIZATION_USERNAME }} | ||
|
||
- uses: actions/upload-artifact@v2 | ||
with: | ||
name: macos_x86-64 | ||
path: fsbuild/_dist/* | ||
|
||
- name: Upload build to Dropbox folder | ||
if: >- | ||
github.ref == 'refs/heads/master' || | ||
github.ref == 'refs/heads/dev' || | ||
github.ref == 'refs/heads/stable' | ||
run: | | ||
python3 -m pip install dropbox | ||
fsbuild/upload | ||
env: | ||
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} | ||
DROPBOX_ACCESS_TOKEN: ${{ secrets.DROPBOX_ACCESS_TOKEN }} |
Oops, something went wrong.