Skip to content

chore: fix conflict of upload appImage vs others #3391

chore: fix conflict of upload appImage vs others

chore: fix conflict of upload appImage vs others #3391

Workflow file for this run

# There is a fair bit of duplication here, but it is the best to save our github free minutes for now.
# We could save and restore cache to different jobs but that takes roughly 3 minutes to save,
# so better run them in parrallel instead.
name: Session Desktop
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_linux_non_appimage:
runs-on: ubuntu-20.04
env:
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: Build but do not publish (all but appImage)
# we want this to run always, except on "push" to "master"
if: github.event_name != 'push' || github.ref != 'master'
run: yarn sedtoDeb; yarn build-release
- name: Upload artefacts (all but appImage)
# we want this to run always, except on "push" to "master"
if: github.event_name != 'push' || github.ref != 'master'
uses: ./actions/upload_prod_artefacts
with:
UPLOAD_PREFIX: ${{ runner.os }}-${{ runner.arch }}-others
- name: Build & publish (all but appImage)
# we want this to run only when on "push" to "master"
if: github.ref == 'master' && github.event_name == 'push'
run: yarn sedtoDeb; yarn build-release-publish
build_linux_appimage_only:
runs-on: ubuntu-20.04
env:
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: Lint Files
# no need to lint files on all platforms
run: yarn lint-full
- name: Enforce yarn.lock has no duplicates
# no need to dedup yarn.lock on all platforms
uses: ./actions/deduplicate_fail
# we want to test on all platforms are some are testing the menus rendered (and are depent on the platform)
- name: Unit Test
run: yarn test
- name: Build but do not publish (only appImage)
# we want this to run always, except on "push" to "master"
if: github.event_name != 'push' || github.ref != 'master'
run: yarn sedtoAppImage; yarn build-release
- name: Upload artefacts (only appImage)
# we want this to run always, except on "push" to "master"
if: github.event_name != 'push' || github.ref != 'master'
uses: ./actions/upload_prod_artefacts
with:
UPLOAD_PREFIX: ${{ runner.os }}-${{ runner.arch }}-appImage
- name: Build & publish (only appImage)
# we want this to run only when on "push" to "master"
if: github.ref == 'master' && github.event_name == 'push'
run: yarn sedtoAppImage; yarn build-release-publish
build_windows:
runs-on: windows-2022
env:
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
# we want to test on all platforms are some are testing the menus rendered (and are depent on the platform)
- name: Unit Test
run: yarn test
- name: Build but do not publish
# we want this to run always, except on "push" to "master"
if: github.event_name != 'push' || github.ref != 'master'
run: yarn build-release
- name: Upload artefacts
# we want this to run always, except on "push" to "master"
if: github.event_name != 'push' || github.ref != 'master'
uses: ./actions/upload_prod_artefacts
with:
UPLOAD_PREFIX: ${{ runner.os }}-${{ runner.arch }}
- name: Build & publish
# we want this to run only when on "push" to "master"
if: github.ref == 'master' && github.event_name == 'push'
run: yarn build-release-publish # No other args needed for windows publish
# We want a mac arm64 build, and according to this https://github.com/actions/runner-images#available-images macos-14 is always arm64
# macos-14 is disabled for now as we hit our free tier limit for macos builds
build_macos_x64:
runs-on: macos-12
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
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 }}
steps:
- run: git config --global core.autocrlf false
- name: Checkout git repo
uses: actions/checkout@v3
- name: Setup & Build
uses: ./actions/setup_and_build
# we want to test on all platforms are some are testing the menus rendered (and are depent on the platform)
- name: Unit Test
run: yarn test
- name: Build but do not publish
# we want this to run always, except on "push" to "master"
if: github.event_name != 'push' || github.ref != 'master'
run: |
source ./build/setup-mac-certificate.sh
yarn build-release --config.mac.bundleVersion=${{ github.ref }}
- name: Upload artefacts
# we want this to run always, except on "push" to "master"
if: github.event_name != 'push' || github.ref != 'master'
uses: ./actions/upload_prod_artefacts
with:
UPLOAD_PREFIX: ${{ runner.os }}-${{ runner.arch }}
- name: Build & publish
# we want this to run only when on "push" to "master"
if: github.ref == 'master' && github.event_name == 'push'
run: |
source ./build/setup-mac-certificate.sh
build-release-publish --config.mac.bundleVersion=${{ github.ref }}