Skip to content

Python Mqtt and exception cleanup #2929

Python Mqtt and exception cleanup

Python Mqtt and exception cleanup #2929

Workflow file for this run

# 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