Skip to content

Merge pull request #179 from ikostan/exercism-sync/383869105c757f18 #16

Merge pull request #179 from ikostan/exercism-sync/383869105c757f18

Merge pull request #179 from ikostan/exercism-sync/383869105c757f18 #16

---
name: "Main Pipeline"
on: # yamllint disable-line rule:truthy
push:
branches: [ main ]
pull_request:
branches: [ main ]
permissions:
contents: "read"
pull-requests: "read"
jobs:
changed-files:
runs-on: "ubuntu-latest"
outputs:
python_changed: ${{ steps.python-files.outputs.any_changed }}
yaml_changed: ${{ steps.yaml-files.outputs.any_changed }}
steps:
- uses: "actions/checkout@v5"
- name: "Get changed Python files"
id: python-files
uses: "tj-actions/changed-files@v47"
with:
files: |
**/*.py
requirements.txt
.pylintrc
- name: "Get changed YAML files"
id: yaml-files
uses: "tj-actions/changed-files@v47"
with:
files: |
**/*.yml
**/*.yaml
yamllint:
name: "YAML Lint Workflow"
needs:
- "changed-files"
if: needs.changed-files.outputs.yaml_changed == 'true'
uses: "./.github/workflows/yamllint.yml"
ruff:
name: "Ruff Lint and Format"
needs:
- "changed-files"
- "yamllint"
if: needs.changed-files.outputs.python_changed == 'true'
uses: "./.github/workflows/ruff.yml"
pylint:
name: "Pylint Workflow"
needs:
- "changed-files"
- "yamllint"
if: needs.changed-files.outputs.python_changed == 'true'
uses: "./.github/workflows/pylint.yml"
flake8:
name: "Flake8 Workflow"
needs:
- "changed-files"
- "yamllint"
if: needs.changed-files.outputs.python_changed == 'true'
uses: "./.github/workflows/flake8.yml"
pytest:
name: "Pytest Workflow"
needs:
- "ruff"
- "pylint"
- "flake8"
uses: "./.github/workflows/pytest.yml"
codecov:
name: "Codecov Coverage Report"
needs:
- "pytest"
uses: "./.github/workflows/codecov.yml"
secrets:
CODECOV_TOKEN: "${{ secrets.CODECOV_TOKEN }}"