Implement the core functionality #775
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: Gating | |
"on": | |
pull_request: | |
push: | |
workflow_dispatch: | |
inputs: {} | |
jobs: | |
tests: | |
name: Unit tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.13" | |
- name: Install dependencies | |
run: python -m pip install tox | |
- name: Test with tox | |
run: python -m tox -e py3 | |
- name: Run coveralls-python | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
COVERALLS_FLAG_NAME: python-${{ matrix.python-version }} | |
COVERALLS_PARALLEL: true | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install --upgrade setuptools | |
python -m pip install --upgrade coveralls | |
coveralls --service=github | |
coveralls --finish --service=github | |
linters: | |
name: Linters | |
strategy: | |
matrix: | |
tox_env: | |
- mypy | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.13" | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install tox | |
- name: Test '${{ matrix.tox_env }}' with tox | |
run: tox -e ${{ matrix.tox_env }} | |
hadolint: | |
name: Hadolint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: hadolint/[email protected] | |
with: | |
dockerfile: Containerfile | |
# Ignore list: | |
# * DL3041 - Specify version with dnf install -y <package>-<version> | |
ignore: DL3041 | |
failure-threshold: warning | |
validate-rules: | |
name: Validate Rules | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.13" | |
- name: Install Poetry | |
run: python -m pip install poetry | |
- name: Install Dependencies | |
run: poetry install --only=main | |
- name: Validate rule file | |
run: | | |
poetry run retasc validate-rules examples/rules | tee validation_output.log | |
- name: Assert the rule file is valid | |
run: | | |
grep -q "Validation succeeded" validation_output.log |