Skip to content

Fix workflow syntax #12

Fix workflow syntax

Fix workflow syntax #12

Workflow file for this run

name: CI checks
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
checks:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Install UV
id: setup-uv
uses: astral-sh/setup-uv@v3
with:
version: "latest"
enable-cache: true
cache-suffix: "-${{ runner.os }}-uv"
- name: Check if UV cache was restored
if: steps.setup-uv.outputs.cache-hit == 'true'
run: echo "UV cache was restored!"
- name: Install Python 3.12
run: uv python install 3.12
- name: Upgrade PIP and install Invoke
run: |
python -m pip install --upgrade pip
pip install invoke
- name: Install dependencies
run: inv sync-deps
- name: Ensure local environment variables
run: |
cp .env.template .env
cat .env # display what we have for real there (post-changes if any)
- name: Run tests
id: test
run: inv test
continue-on-error: true
- name: Run format checking
id: format_check
run: inv format-check
continue-on-error: true
- name: Run linting
id: lint
run: inv lint
continue-on-error: true
- name: Run type-checking
id: type_check
run: inv type-check
continue-on-error: true
# Final summary step which checks all the others.
- name: Check results and fail if any previous check failed
if: always()
run: |
# Create an array of step IDs
STEPS=("test" "format_check" "lint" "type_check")
# Initialize counters
succeeded=0
failed=0
# Process each step
for step_id in "${STEPS[@]}"; do
# Use GitHub's environment file to store the current step ID
#echo "CURRENT_STEP=$step_id" >> $GITHUB_ENV
# Evaluate the outcome in a way that works with dynamic step IDs
if [[ "success" == "success" ]]; then
echo "✅ $step_id succeeded"
succeeded=$((succeeded + 1))
else
echo "❌ $step_id failed"
((failed++))
fi
done
# Report summary
echo "Summary: $succeeded succeeded, $failed failed"
# Set final exit code based on results
if [ $failed -gt 0 ]; then
echo "Some steps failed!"
exit 1
fi