Skip to content

Migrate scripts/ from bash to Python with pytest coverage #53

Migrate scripts/ from bash to Python with pytest coverage

Migrate scripts/ from bash to Python with pytest coverage #53

Workflow file for this run

---
name: lint
on:
pull_request:
push:
branches:
- main
permissions:
contents: read
jobs:
json:
name: validate JSON
runs-on: ubuntu-24.04
steps:
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
enable-cache: true
- name: validate JSON files
run: ./scripts/validate_json.py
dockerfile:
name: hadolint
runs-on: ubuntu-24.04
steps:
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: hadolint
uses: hadolint/hadolint-action@2332a7b74a6de0dda2e2221d575162eba76ba5e5 # v3.3.0
with:
dockerfile: Dockerfile
config: .hadolint.yaml
python:
name: ruff
runs-on: ubuntu-24.04
steps:
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
enable-cache: true
- name: ruff check
run: uv run ruff check scripts/ tests/
- name: ruff format
run: uv run ruff format --check scripts/ tests/
matrix-smoke:
name: resolve-matrix smoke
runs-on: ubuntu-24.04
steps:
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
enable-cache: true
- name: resolve and validate matrix
run: ./scripts/resolve_matrix.py >/dev/null
tests:
name: pytest
runs-on: ubuntu-24.04
steps:
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
enable-cache: true
- name: run pytest
run: uv run pytest
complete:
if: always()
needs:
- json
- dockerfile
- python
- matrix-smoke
- tests
runs-on: ubuntu-24.04
steps:
- name: check upstream jobs
if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
run: exit 1