Skip to content

Test Prebuilds for all platforms #49

Test Prebuilds for all platforms

Test Prebuilds for all platforms #49

name: Test Prebuilds for all platforms
on:
workflow_dispatch:
workflow_run:
workflows:
- Build custom native modules for studio
types:
- completed
jobs:
test-for-linux:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
cache: npm
node-version: 22
- name: Install krb5
run: sudo apt-get install -y libkrb5-dev xvfb
- name: Install toolkit
run: npm ci
- name: Set Electron Major version in env
run: echo "ELECTRON_MAJOR_VERSION=$(node ./bin/get-electron-major-version.js)" >> $GITHUB_ENV
- name: Download artifact
id: download-artifact
uses: dawidd6/action-download-artifact@v5
with:
# Optional, GitHub token, a Personal Access Token with `public_repo` scope if needed
# Required, if the artifact is from a different repo
# Required, if the repo is private a Personal Access Token with `repo` scope is needed or GitHub token in a job where the permissions `action` scope set to `read`
github_token: ${{secrets.GITHUB_TOKEN}}
# Optional, workflow file name or ID
# If not specified, will be inferred from run_id (if run_id is specified), or will be the current workflow
workflow: discover-native-modules.yml
# Optional, the status or conclusion of a completed workflow to search for
# Can be one of a workflow conclusion:
# "failure", "success", "neutral", "cancelled", "skipped", "timed_out", "action_required"
# Or a workflow status:
# "completed", "in_progress", "queued"
# Use the empty string ("") to ignore status or conclusion in the search
workflow_conclusion: success
name: modulesToBuildForElectron-${{ env.ELECTRON_MAJOR_VERSION }}
- name: Test native modules on Linux x64
run: xvfb-run npm run -w test test
test-windows-intel:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
cache: npm
node-version: 20
- name: Install MIT Kerberos MSI
run: |
choco install --install-arguments="ADDLOCAL=all" --ignoredetectedreboot --ignorepackagecodes --confirm mitkerberos
- name: Install tookit dependencies
run: npm ci
- name: Set Electron Major version in env
run: echo "ELECTRON_MAJOR_VERSION=$(node ./bin/get-electron-major-version.js)" >> $env:GITHUB_ENV
- name: Download artifact
id: download-artifact
uses: dawidd6/action-download-artifact@v5
with:
# Optional, GitHub token, a Personal Access Token with `public_repo` scope if needed
# Required, if the artifact is from a different repo
# Required, if the repo is private a Personal Access Token with `repo` scope is needed or GitHub token in a job where the permissions `action` scope set to `read`
github_token: ${{secrets.GITHUB_TOKEN}}
# Optional, workflow file name or ID
# If not specified, will be inferred from run_id (if run_id is specified), or will be the current workflow
workflow: discover-native-modules.yml
# Optional, the status or conclusion of a completed workflow to search for
# Can be one of a workflow conclusion:
# "failure", "success", "neutral", "cancelled", "skipped", "timed_out", "action_required"
# Or a workflow status:
# "completed", "in_progress", "queued"
# Use the empty string ("") to ignore status or conclusion in the search
workflow_conclusion: success
name: modulesToBuildForElectron-${{ env.ELECTRON_MAJOR_VERSION }}
- name: Build on Windows x64
run: npm run -w test test
test-mac-intel:
# Pinned down version to have intel arch
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
cache: npm
node-version: 20
- name: Install toolkit
run: npm ci
- name: Set Electron Major version in env
run: echo "ELECTRON_MAJOR_VERSION=$(node ./bin/get-electron-major-version.js)" >> $GITHUB_ENV
- name: Download artifact
id: download-artifact
uses: dawidd6/action-download-artifact@v5
with:
# Optional, GitHub token, a Personal Access Token with `public_repo` scope if needed
# Required, if the artifact is from a different repo
# Required, if the repo is private a Personal Access Token with `repo` scope is needed or GitHub token in a job where the permissions `action` scope set to `read`
github_token: ${{secrets.GITHUB_TOKEN}}
# Optional, workflow file name or ID
# If not specified, will be inferred from run_id (if run_id is specified), or will be the current workflow
workflow: discover-native-modules.yml
# Optional, the status or conclusion of a completed workflow to search for
# Can be one of a workflow conclusion:
# "failure", "success", "neutral", "cancelled", "skipped", "timed_out", "action_required"
# Or a workflow status:
# "completed", "in_progress", "queued"
# Use the empty string ("") to ignore status or conclusion in the search
workflow_conclusion: success
name: modulesToBuildForElectron-${{ env.ELECTRON_MAJOR_VERSION }}
- name: Test native modules on Mac Intel x64
run: npm run -w test test
test-mac-arm:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
cache: npm
node-version: 20
- name: Install toolkit
run: npm ci
- name: Set Electron Major version in env
run: echo "ELECTRON_MAJOR_VERSION=$(node ./bin/get-electron-major-version.js)" >> $GITHUB_ENV
- name: Download artifact
id: download-artifact
uses: dawidd6/action-download-artifact@v5
with:
# Optional, GitHub token, a Personal Access Token with `public_repo` scope if needed
# Required, if the artifact is from a different repo
# Required, if the repo is private a Personal Access Token with `repo` scope is needed or GitHub token in a job where the permissions `action` scope set to `read`
github_token: ${{secrets.GITHUB_TOKEN}}
# Optional, workflow file name or ID
# If not specified, will be inferred from run_id (if run_id is specified), or will be the current workflow
workflow: discover-native-modules.yml
# Optional, the status or conclusion of a completed workflow to search for
# Can be one of a workflow conclusion:
# "failure", "success", "neutral", "cancelled", "skipped", "timed_out", "action_required"
# Or a workflow status:
# "completed", "in_progress", "queued"
# Use the empty string ("") to ignore status or conclusion in the search
workflow_conclusion: success
name: modulesToBuildForElectron-${{ env.ELECTRON_MAJOR_VERSION }}
- name: Test native modules on Mac arm64
run: npm run -w test test