chore: simplify CI workflows
parent
f3cf19dec2
commit
537a399de1
@ -1,46 +0,0 @@
|
|||||||
# This script will run tests anytime a pull request is added
|
|
||||||
name: Session Test
|
|
||||||
|
|
||||||
on:
|
|
||||||
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
|
|
||||||
# macos-14 is disabled for now as we hit our free tier limit for macos builds
|
|
||||||
os: [windows-2022, ubuntu-20.04, macos-12]
|
|
||||||
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: Lint Files
|
|
||||||
# no need to lint files on all platforms. Just do it once on the quicker one
|
|
||||||
if: runner.os == 'Linux'
|
|
||||||
run: yarn lint-full
|
|
||||||
|
|
||||||
- name: Enforce yarn.lock has no duplicates
|
|
||||||
uses: ./actions/deduplicate_fail
|
|
||||||
|
|
||||||
- name: Unit Test
|
|
||||||
run: yarn test
|
|
@ -1,48 +0,0 @@
|
|||||||
# This script will build binaries and publish a draft on github release page with the the tag v[package-version]
|
|
||||||
name: Session Draft Release
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
os: [windows-2022, ubuntu-20.04, macos-12]
|
|
||||||
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: Build windows production binaries
|
|
||||||
if: runner.os == 'Windows'
|
|
||||||
run: node_modules\.bin\electron-builder --config.extraMetadata.environment=%SIGNAL_ENV% --publish=always
|
|
||||||
|
|
||||||
- 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=always
|
|
||||||
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-publish
|
|
@ -0,0 +1,47 @@
|
|||||||
|
name: 'Build Only (no publish)'
|
||||||
|
description: 'Build only (no publish)'
|
||||||
|
runs:
|
||||||
|
using: 'composite'
|
||||||
|
steps:
|
||||||
|
- name: Build windows production binaries
|
||||||
|
shell: bash
|
||||||
|
if: runner.os == 'Windows'
|
||||||
|
run: $(yarn bin)/electron-builder --config.extraMetadata.environment=%SIGNAL_ENV% --publish=never --config.directories.output=release
|
||||||
|
|
||||||
|
- name: Build mac production binaries
|
||||||
|
shell: bash
|
||||||
|
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
|
||||||
|
shell: bash
|
||||||
|
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@v4
|
||||||
|
with:
|
||||||
|
name: ${{ runner.os }}-${{ runner.arch }}-production
|
||||||
|
path: release
|
@ -0,0 +1,29 @@
|
|||||||
|
name: 'Build & Publish'
|
||||||
|
description: 'Build & Publish'
|
||||||
|
runs:
|
||||||
|
using: 'composite'
|
||||||
|
steps:
|
||||||
|
- name: Build & publish windows production binaries
|
||||||
|
shell: bash
|
||||||
|
if: runner.os == 'Windows' && github.ref == 'master' && github.event_name == 'push'
|
||||||
|
run: $(yarn bin)/electron-builder --config.extraMetadata.environment=%SIGNAL_ENV% --publish=always
|
||||||
|
|
||||||
|
- name: Build & publish mac production binaries
|
||||||
|
shell: bash
|
||||||
|
if: runner.os == 'macOS' && github.ref == 'master' && github.event_name == 'push'
|
||||||
|
run: |
|
||||||
|
source ./build/setup-mac-certificate.sh
|
||||||
|
$(yarn bin)/electron-builder --config.extraMetadata.environment=$SIGNAL_ENV --config.mac.bundleVersion=${{ github.ref }} --publish=always
|
||||||
|
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 & publish linux production binaries
|
||||||
|
shell: bash
|
||||||
|
if: runner.os == 'Linux' && github.ref == 'master' && github.event_name == 'push'
|
||||||
|
run: |
|
||||||
|
sudo apt-get install -y rpm
|
||||||
|
yarn build-release-publish
|
Loading…
Reference in New Issue