test(protocol-engine): Port some tests #5399
Workflow file for this run
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 runs test and lint on branch pushes that touch the | |
# g-code-testing project or its dependencies | |
name: 'G-Code Testing Lint & Test' | |
on: | |
# Most of the time, we run on pull requests, which lets us handle external PRs | |
push: | |
paths: | |
- 'Makefile' | |
- 'api/**' | |
- 'g-code-testing/**' | |
- 'scripts/**/*.mk' | |
- 'scripts/**/*.py' | |
- '.github/workflows/g-code-testing-lint-test.yaml' | |
- '.github/actions/python/**' | |
branches: | |
- 'edge' | |
- 'release' | |
- '*hotfix*' | |
pull_request: | |
paths: | |
- 'Makefile' | |
- 'g-code-testing/**' | |
- 'api/**' | |
- 'scripts/**/*.mk' | |
- 'scripts/**/*.py' | |
- '.github/workflows/g-code-testing-lint-test.yaml' | |
- '.github/actions/python/**' | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ github.ref_name != 'edge' || github.run_id}}-${{ github.ref_type != 'tag' || github.run_id }} | |
cancel-in-progress: true | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
lint-test: | |
name: 'g-code-testing package linting and tests' | |
runs-on: 'ubuntu-22.04' | |
steps: | |
- uses: 'actions/checkout@v3' | |
with: | |
fetch-depth: 0 | |
- name: 'install udev' | |
run: | | |
# WORKAROUND: Remove microsoft debian repo due to https://github.com/microsoft/linux-package-repositories/issues/130. Remove line below after it is resolved | |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list | |
sudo apt-get update && sudo apt-get install libudev-dev | |
- uses: 'actions/setup-node@v3' | |
with: | |
node-version: '18.19.0' | |
- name: 'set complex environment variables' | |
id: 'set-vars' | |
uses: actions/github-script@v6 | |
with: | |
script: | | |
const { buildComplexEnvVars } = require(`${process.env.GITHUB_WORKSPACE}/.github/workflows/utils.js`) | |
buildComplexEnvVars(core, context) | |
- uses: 'actions/setup-python@v4' | |
with: | |
python-version: '3.10' | |
- uses: './.github/actions/python/setup' | |
with: | |
project: 'g-code-testing' | |
- name: 'cache yarn cache' | |
uses: actions/cache@v3 | |
with: | |
path: | | |
${{ github.workspace }}/.npm-cache/_prebuild | |
${{ github.workspace }}/.yarn-cache | |
key: js-${{ secrets.GH_CACHE_VERSION }}-${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }} | |
- name: 'setup-js' | |
run: | | |
npm config set cache ${{ github.workspace }}/.npm-cache | |
yarn config set cache-folder ${{ github.workspace }}/.yarn-cache | |
make setup-js | |
- name: Lint | |
run: make -C g-code-testing lint | |
- name: Test | |
run: make -C g-code-testing test | |
- name: 'Upload coverage report' | |
uses: 'codecov/codecov-action@v3' | |
with: | |
files: ./g-code-testing/coverage.xml | |
flags: g-code-testing |