jitsi-meet-electron/.github/workflows/ci.yml

69 lines
1.7 KiB
YAML
Raw Normal View History

2021-03-23 23:19:44 +01:00
name: CI
2020-07-02 08:51:34 +02:00
2021-03-23 23:19:44 +01:00
on:
# Trigger the workflow on push or pull request,
# but only for the master branch
push:
branches:
- master
2021-03-24 21:30:14 +01:00
tags:
- '*'
2021-03-23 23:19:44 +01:00
pull_request:
branches:
- master
2020-07-02 08:51:34 +02:00
jobs:
2021-03-23 23:19:44 +01:00
build-linux:
name: Linux
runs-on: ubuntu-20.04
2020-07-02 08:51:34 +02:00
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
2021-11-02 08:38:09 +01:00
node-version: '16.x'
2021-03-23 23:19:44 +01:00
- name: Install dependencies
run: sudo apt-get install libx11-dev zlib1g-dev libpng-dev libxtst-dev
- name: Build it
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
npm install
npm run dist
build-mac:
name: macOS
runs-on: macos-11
2021-03-23 23:19:44 +01:00
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
2021-11-02 08:38:09 +01:00
node-version: '16.x'
mac: Enable autoupdate by sign and notarize via github action (#581) mac: Enable autoupdate by sign and notarize via github action Signed and notarized binaries are the precondition for autoupdates on mac. Additionally Gatekeeper on 10.15+ is happy and allows to open the app instead of blocking it. The notarize step is added unconditionally, as it only emits a warning if the notarization API key is not set, but it does not break the build. This is an upstreaming of https://github.com/csett86/jitsi-meet-electron where it worked since March 2020. On CI, only sign if not triggered by pull request, as these will fail (as secrets are not available to pull request builds). The required github secrets (signing key, cert and notarize API login, password and team id) are: Signing Open the Keychain Access app. Export all certificates (Developer ID Certificate) related to your app into a single file (e.g. certs.p12) and set a strong password. Base64-encode your certificates using the following command: base64 -i certs.p12 -o encoded.txt In the GitHub repository, go to Settings → Secrets and add the following two variables: mac_certs: Your base64 encoded certificates, i.e. the content of the encoded.txt file you created before mac_certs_password: The password you set when exporting the certificates Notarization Create an app-specific password for your apple id: https://support.apple.com/de-de/HT204397 In the GitHub repository, go to Settings → Secrets and add the following three variables: apple_id: your apple id apple_id_password: the just created app-specific password for your apple id team_id: your team short name: https://github.com/electron/electron-notarize#notes-on-your-team-short-name Co-authored-by: Saúl Ibarra Corretgé <s@saghul.net>
2021-11-04 22:29:34 +01:00
- name: Prepare for app signing and notarization
if: ${{ github.event_name != 'pull_request' }}
run: |
echo "CSC_LINK=${{ secrets.mac_cert }}" >> $GITHUB_ENV
echo "CSC_KEY_PASSWORD=${{ secrets.mac_cert_password }}" >> $GITHUB_ENV
echo "APPLE_ID=${{ secrets.apple_id }}" >> $GITHUB_ENV
echo "APPLE_ID_PASSWORD=${{ secrets.apple_id_password }}" >> $GITHUB_ENV
echo "TEAM_ID=${{ secrets.team_id }}" >> $GITHUB_ENV
2021-03-23 23:19:44 +01:00
- name: Build it
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
npm install
npm run lint
npm run dist
build-windows:
name: Windows
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
2021-11-02 08:38:09 +01:00
node-version: '16.x'
2021-03-23 23:19:44 +01:00
- name: Build it
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
npm install
npm run dist