feat(hardware-testing): collected work for upgrading scripts to PE #4385
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: 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 |