mirror of
https://github.com/CringeStudios/element-desktop.git
synced 2025-01-19 07:54:59 +01:00
a0a9ec830c
* Add way to provide apple ID and app password to notarise script * Add utility to generate electron-builder.json for release & nightly builds * Run Build & Test on staging too * First attempt at build & deploy for macOS with signing and notarisation * Fix quote mismatch * use correct quotes * add runs-on * Fix inputs.mode usage * remove quotes * chmod +x * Fix artifact paths * Fix deploy condition * Fix deploy condition * Fix artifact path * Iterate * Fix workflow * Fix env * Iterate * Fix missing env * Fix version calculation * Iterate * Fix config not taking effect * Update build_and_deploy.yaml * Fix alignments * delint * Fix alignment * Update build_macos.yaml * Add ability to EV sign using eSigner CKA * Initial work to build & sign Windows nightlies in CI * Format * Format * Fix gha * fix winSign * Fix install command * Add signtool to path * Update build_and_deploy.yaml * Fix quotes * Test * Fix comments * Fix cmd * Try again * arg slashes * Fix exe path * Fix matrix strategy * Use ampersand-call * fwd slash ftw? * ls * * 🌲 * tree dist * prepend path * Specify /fd and /td to modern signtool * /tr not /t for CKA * Test signing * missing comma * 🤦♂️ * Fix wrong mv * Lets sign * Fix config gen * Debug * Fix typo * Multiple drives why * Try NVL sandbox creds * Update * Attempt to disable logger * Try again * Iterate * Update build_macos.yaml * Update build_and_deploy.yaml * Update build_macos.yaml * Update build_and_deploy.yaml * Update build_and_deploy.yaml * Try custom build of eSigner CKA * Fix typos * Update build_windows.yaml * Update build_and_deploy.yaml * Update build_windows.yaml * Update build_and_deploy.yaml * Fix symlinking * Fix working-directory incantation * exe * remove debug * Prettier * Vendor check in SSL.com executable * Download CKA from packages.element.io instead * Use demo creds * StrictMode * Switch back to 0207 (unsigned) * Fix call syntax * Revert env inc * Partial rollback * Trace * Trace less * Fix CN being passed wrong * DEBUG * Debug 2 * Fix ConvertFrom-StringData * 0214 * Test * Test * Untested * Revert to 0207 * stash * Try with 20230221 * Restore scripts/electron_winSign.js * Prepare for merge * Update build_windows.yaml * Update build_and_deploy.yaml * Restore .github/workflows/build_and_deploy.yaml * Restore .github/workflows/build_and_deploy.yaml * Fix bad restore
108 lines
3.5 KiB
YAML
108 lines
3.5 KiB
YAML
name: Build and Test
|
|
on:
|
|
pull_request: {}
|
|
push:
|
|
branches: [develop, staging, master]
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
jobs:
|
|
fetch:
|
|
uses: ./.github/workflows/build_prepare.yaml
|
|
with:
|
|
config: ${{ github.event.pull_request.base.ref == 'develop' && 'element.io/nightly' || 'element.io/release' }}
|
|
version: ${{ github.event.pull_request.base.ref == 'develop' && 'develop' || '' }}
|
|
|
|
windows:
|
|
needs: fetch
|
|
name: Windows
|
|
uses: ./.github/workflows/build_windows.yaml
|
|
strategy:
|
|
matrix:
|
|
arch: [x64, x86]
|
|
with:
|
|
arch: ${{ matrix.arch }}
|
|
|
|
linux:
|
|
needs: fetch
|
|
name: Linux
|
|
uses: ./.github/workflows/build_linux.yaml
|
|
strategy:
|
|
matrix:
|
|
sqlcipher: [system, static]
|
|
with:
|
|
sqlcipher: ${{ matrix.sqlcipher }}
|
|
|
|
macos:
|
|
needs: fetch
|
|
name: macOS
|
|
uses: ./.github/workflows/build_macos.yaml
|
|
|
|
test:
|
|
needs:
|
|
- macos
|
|
- linux
|
|
- windows
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- name: macOS Universal
|
|
os: macos
|
|
artifact: macos
|
|
executable: "./dist/mac-universal/Element.app/Contents/MacOS/Element"
|
|
prepare_cmd: "find ./dist/mac-universal/Element.app -type f | perl -lne 'print if -B' | tr '\\n' '\\0' | xargs -0 -n1 chmod 755"
|
|
- name: "Linux (sqlcipher: system)"
|
|
os: ubuntu
|
|
artifact: linux-sqlcipher-system
|
|
executable: "element-desktop"
|
|
prepare_cmd: "sudo apt install ./dist/*.deb"
|
|
- name: "Linux (sqlcipher: static)"
|
|
os: ubuntu
|
|
artifact: linux-sqlcipher-static
|
|
executable: "element-desktop"
|
|
prepare_cmd: "sudo apt install ./dist/*.deb"
|
|
- name: Windows (x86)
|
|
os: windows
|
|
artifact: win-x86
|
|
executable: "./dist/win-ia32-unpacked/Element.exe"
|
|
- name: Windows (x64)
|
|
os: windows
|
|
artifact: win-x64
|
|
executable: "./dist/win-unpacked/Element.exe"
|
|
name: Test ${{ matrix.name }}
|
|
runs-on: ${{ matrix.os }}-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: actions/setup-node@v3
|
|
with:
|
|
cache: "yarn"
|
|
|
|
- name: Install Deps
|
|
run: "yarn install --pure-lockfile"
|
|
|
|
- uses: actions/download-artifact@v3
|
|
with:
|
|
name: ${{ matrix.artifact }}
|
|
path: dist
|
|
|
|
- name: Prepare for tests
|
|
run: ${{ matrix.prepare_cmd }}
|
|
if: matrix.prepare_cmd
|
|
|
|
- name: Run tests
|
|
uses: GabrielBB/xvfb-action@v1
|
|
timeout-minutes: 5
|
|
with:
|
|
run: "yarn test"
|
|
env:
|
|
ELEMENT_DESKTOP_EXECUTABLE: ${{ matrix.executable }}
|
|
|
|
- name: Upload Artifacts
|
|
uses: actions/upload-artifact@v3
|
|
if: always()
|
|
with:
|
|
name: ${{ matrix.artifact }}
|
|
path: test_artifacts
|
|
retention-days: 1
|