Python Mqtt and exception cleanup #2929
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow uses actions that are not certified by GitHub. | |
# They are provided by a third-party and are governed by | |
# separate terms of service, privacy policy, and support | |
# documentation. | |
name: OpenC3 Playwright Tests | |
# Only run on a push to master to avoid running for all the dependabot PRs | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
jobs: | |
openc3-build-test: | |
if: ${{ github.actor != 'dependabot[bot]' }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
# cache: "yarn" | |
# cache-dependency-path: "**/yarn.lock" | |
- name: openc3.sh build | |
# This `shell` line is required to get around a known issue: https://github.com/actions/runner/issues/241#issuecomment-745902718 | |
shell: 'script -q -e -c "bash {0}"' | |
run: ./openc3.sh build | |
- name: Install playwright dependencies | |
run: ./playwright.sh install-playwright | |
working-directory: playwright | |
- name: Check for test.only | |
run: yarn playwright test --list --forbid-only | |
working-directory: playwright | |
- name: openc3.sh run | |
# This `shell` line is required to get around a known issue: https://github.com/actions/runner/issues/241#issuecomment-745902718 | |
shell: 'script -q -e -c "bash {0}"' | |
run: ./openc3.sh run | |
# Allow the containers to spin up | |
- name: Sleep for 2min | |
run: sleep 120s | |
shell: bash | |
# Check container status | |
- name: Check container status | |
shell: 'script -q -e -c "bash {0}"' | |
run: | | |
docker ps | |
docker logs cosmos-openc3-cosmos-init-1 | |
docker logs cosmos-openc3-operator-1 | |
# Build a test plugin for playwright and a copy so we can 'upgrade' | |
- name: Build plugin | |
shell: 'script -q -e -c "bash {0}"' | |
run: ./playwright.sh build-plugin | |
working-directory: playwright | |
# Ensure we're connected and running | |
- name: Wait for build | |
run: yarn playwright test --project=chromium tests/wait-for-build.spec.ts | |
working-directory: playwright | |
- name: Run Playwright tests | |
# Run separately to allow for parallelism | |
run: ./playwright.sh run-chromium --grep-invert='enterprise' | |
working-directory: playwright | |
- name: Generate coverage | |
run: yarn fixlinux; yarn cobertura | |
working-directory: playwright | |
- uses: codecov/codecov-action@v4 | |
with: | |
directory: playwright/coverage | |
flags: frontend # See codecov.yml | |
token: ${{ secrets.CODECOV_TOKEN }} | |
- name: Upload test artifacts | |
if: always() # Upload on pass or fail | |
uses: actions/upload-artifact@v4 | |
with: | |
name: playwright | |
path: playwright/test-results | |
retention-days: 30 |