Session Desktop #3347
Workflow file for this run
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
# This script will build session production binaries anytime a branch is updated | |
name: Session Build Binaries | |
on: | |
push: | |
branches: | |
- clearnet | |
- unstable | |
- release/ | |
- ci/ | |
pull_request: | |
branches: | |
- clearnet | |
- unstable | |
- release/ | |
- ci/ | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
# We want a mac arm64 build, and according to this https://github.com/actions/runner-images#available-images macos-14 is always arm64 | |
os: [windows-2022, ubuntu-20.04, macos-12, macos-14] | |
env: | |
SIGNAL_ENV: production | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- run: git config --global core.autocrlf false | |
- name: Checkout git repo | |
uses: actions/checkout@v3 | |
- name: Setup & Build | |
uses: ./actions/setup_and_build | |
- name: Enforce yarn.lock has no duplicates | |
uses: ./actions/deduplicate_fail | |
- name: Build windows production binaries | |
if: runner.os == 'Windows' | |
run: node_modules\.bin\electron-builder --config.extraMetadata.environment=%SIGNAL_ENV% --publish=never --config.directories.output=release | |
- name: Build mac production binaries | |
if: runner.os == 'macOS' | |
run: | | |
source ./build/setup-mac-certificate.sh | |
$(yarn bin)/electron-builder --config.extraMetadata.environment=$SIGNAL_ENV --config.mac.bundleVersion=${{ github.ref }} --publish=never --config.directories.output=release | |
env: | |
MAC_CERTIFICATE: ${{ secrets.MAC_CERTIFICATE }} | |
MAC_CERTIFICATE_PASSWORD: ${{ secrets.MAC_CERTIFICATE_PASSWORD }} | |
SIGNING_APPLE_ID: ${{ secrets.SIGNING_APPLE_ID }} | |
SIGNING_APP_PASSWORD: ${{ secrets.SIGNING_APP_PASSWORD }} | |
SIGNING_TEAM_ID: ${{ secrets.SIGNING_TEAM_ID }} | |
- name: Build linux production binaries | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt-get install -y rpm | |
yarn build-release | |
- name: Remove unpacked files | |
run: | | |
ls -d -- */ | xargs -I{} echo "Removing {}" | |
ls -d -- */ | xargs -I{} rm -rf {} | |
shell: bash | |
working-directory: ./release/ | |
- name: Remaining files | |
run: ls . | |
shell: bash | |
working-directory: ./release/ | |
- name: Upload Production Artifacts | |
uses: actions/upload-artifact@v1 | |
with: | |
name: ${{ runner.os }}-${{ runner.arch }}-production | |
path: release |