Skip to content

Nightly E2E

Nightly E2E #42

Workflow file for this run

name: Nightly E2E
# These suites used to run on every push to main, alongside a full copy of the PR
# gate. That copy was redundant - GitHub runs PR-CI against the merge commit, so
# main re-ran jobs whose result was already known - and it never gated anything,
# because Release is a separate workflow triggered by the same push.
#
# What is left here is the coverage PRs genuinely do not have: the E2E suites.
# They run on a schedule so a break gets noticed without charging every merge for
# it, and can be kicked off by hand from the Actions tab.
on:
schedule:
- cron: '0 2 * * *'
workflow_dispatch:
jobs:
HubWithNoPlatform:
name: Run E2E Plugin Test
runs-on: ubuntu-latest
strategy:
matrix:
node: [20]
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Build
run: |
# Add your script commands here
npm install --no-package-lock
npm run bundle
- name: Run E2E Plugin Test without Platform
run: |
# Add your script commands here
npm run test-e2e
E2EHubAndNodeTest:
name: Run E2EHubAndNodeTest
runs-on: ubuntu-latest
strategy:
matrix:
api-level: [ 29 ]
target: [ google_apis ]
steps:
- name: checkout
uses: actions/checkout@v6
- name: Build
run: |
npm install --no-package-lock
npm run bundle
- name: Enable KVM
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- name: run tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
target: ${{ matrix.target }}
arch: x86_64
profile: Nexus 6
script: npm run test-e2e-hubnode
E2EPluginTest:
name: Run Plugin Test
runs-on: macos-latest
strategy:
matrix:
node: [ 20 ]
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Build
run: |
npm install --no-package-lock
npm run bundle
- name: Run e2e plugin Test
run: |
npm run test-e2e