Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,3 +105,15 @@ jobs:
token: ${{ secrets.CODECOV_TOKEN }}
files: coverage.xml
fail_ci_if_error: false

test-summary:
needs: test
runs-on: ubuntu-latest
if: always()
steps:
- name: All tests passed
run: |
if [ "${{ needs.test.result }}" != "success" ]; then
echo "One or more test matrix jobs failed."
exit 1
Comment on lines +110 to +118
Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

test-summary only depends on test, so failures in lint or types can cause test to be skipped and then this job fails with a misleading message about test matrix failures. If the intent is a single required check, consider adding needs: [lint, types, test] and validating each needs.<job>.result, and/or updating the message to reflect the actual failing/skipped job result(s).

Suggested change
needs: test
runs-on: ubuntu-latest
if: always()
steps:
- name: All tests passed
run: |
if [ "${{ needs.test.result }}" != "success" ]; then
echo "One or more test matrix jobs failed."
exit 1
needs: [lint, types, test]
runs-on: ubuntu-latest
if: always()
steps:
- name: Check CI job results
run: |
failed=false
message=""
if [ "${{ needs.lint.result }}" != "success" ]; then
failed=true
message="${message}\n- lint: ${{ needs.lint.result }}"
fi
if [ "${{ needs.types.result }}" != "success" ]; then
failed=true
message="${message}\n- types: ${{ needs.types.result }}"
fi
if [ "${{ needs.test.result }}" != "success" ]; then
failed=true
message="${message}\n- test: ${{ needs.test.result }}"
fi
if [ "$failed" = true ]; then
echo "One or more CI jobs did not succeed:"
# Use printf to correctly render newlines in $message
printf "%b\n" "$message"
exit 1
else
echo "All CI jobs (lint, types, and tests) completed successfully."

Copilot uses AI. Check for mistakes.
fi
20 changes: 20 additions & 0 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Release Please

on:
push:
branches:
- main

permissions:
contents: write
pull-requests: write

jobs:
release-please:
runs-on: ubuntu-latest
steps:
- uses: googleapis/release-please-action@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
config-file: release-please-config.json
manifest-file: .release-please-manifest.json
3 changes: 3 additions & 0 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
".": "0.1.0"
}
11 changes: 11 additions & 0 deletions release-please-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"release-type": "python",
"bump-minor-pre-major": true,
"bump-patch-for-minor-pre-major": true,
"packages": {
".": {
"package-name": "protest",
"changelog-path": "CHANGELOG.md"
}
}
}
Loading