Complete flavor card, compare polish, open-by-default panels #295
Workflow file for this run
This file contains hidden or 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: | |
| permissions: | |
| contents: read | |
| jobs: | |
| python: | |
| name: Python β lint & test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install tooling | |
| run: pip install ruff pytest | |
| - name: Ruff lint | |
| run: ruff check . | |
| - name: Install runtime deps | |
| run: pip install -r requirements.txt | |
| - name: Pytest | |
| run: | | |
| if git ls-files '*test_*.py' '*_test.py' 'tests/**/*.py' | grep -q .; then | |
| pytest -q | |
| else | |
| echo "No Python tests yet β skipping." | |
| fi | |
| dotnet: | |
| name: .NET β build & test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: "8.0.x" | |
| - name: Build & test | |
| run: | | |
| target=$(git ls-files '*.sln' | head -1) | |
| [ -z "$target" ] && target=$(git ls-files '*.csproj' | head -1) | |
| if [ -n "$target" ]; then | |
| echo "Building $target" | |
| dotnet build "$target" --configuration Release | |
| if git ls-files '*Test*.csproj' | grep -q .; then | |
| dotnet test --configuration Release | |
| else | |
| echo "No .NET test projects yet β build only." | |
| fi | |
| else | |
| echo "No .NET projects yet β skipping." | |
| fi | |
| dco: | |
| name: DCO β commit sign-off | |
| runs-on: ubuntu-latest | |
| if: github.event_name == 'pull_request' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Verify every commit carries a Signed-off-by | |
| run: | | |
| base='${{ github.event.pull_request.base.sha }}' | |
| head='${{ github.event.pull_request.head.sha }}' | |
| fail=0 | |
| for c in $(git rev-list --no-merges "$base".."$head"); do | |
| if ! git show -s --format=%B "$c" | grep -qiE '^Signed-off-by: .+ <.+@.+>'; then | |
| echo "::error::commit ${c:0:8} has no 'Signed-off-by' line β sign off (DCO + CLA): git commit -s --amend (or: git rebase --signoff $base)" | |
| fail=1 | |
| fi | |
| done | |
| if [ "$fail" = 0 ]; then echo "All commits signed off β"; else exit 1; fi |