docs: authoring CI workflows for trestle-bot section in contributing guide #1234
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
--- | |
name: CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
concurrency: | |
group: ${{ github.ref }}-${{ github.workflow }}-ci | |
cancel-in-progress: true | |
jobs: | |
megalinter: | |
name: Run linters | |
runs-on: ubuntu-latest | |
permissions: | |
issues: write | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4 | |
- name: MegaLinter | |
id: ml | |
uses: oxsecurity/megalinter@5199c6377b4cb7faff749a1971636f3343db9fe6 # pin@v7 | |
env: | |
VALIDATE_ALL_CODEBASE: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
project_checks: | |
name: Run project checks | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4 | |
- name: Set up poetry and install | |
uses: ./.github/actions/setup-poetry | |
- name: Pre-commit install | |
run: make pre-commit | |
- name: Run linting checks | |
run: make lint | |
- name: Run security checks | |
run: make security-check | |
- name: Check dependencies | |
run: make dep-cve-check | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: [ '3.8', '3.9', '3.10', '3.11' ] | |
fail-fast: false | |
steps: | |
- name: Check out | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4 | |
- name: Set up poetry and install | |
uses: ./.github/actions/setup-poetry | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Run tests | |
run: make test | |
e2e-test: | |
runs-on: 'ubuntu-24.04' | |
permissions: | |
contents: read | |
steps: | |
- name: Check out | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4 | |
- uses: ./.github/actions/e2e-testing |