@@ -6,66 +6,66 @@ name: Developer Tests
66on :
77 pull_request :
88 branches :
9- - ' ** ' # Run on PR open, update, or synchronize (i.e., any push to PR branch)
9+ - " ** " # Run on PR open, update, or synchronize (i.e., any push to PR branch)
1010
1111# Global timeout for all jobs
1212# Note: GitHub Actions uses minutes, GitLab uses duration strings
1313jobs :
1414 developer_tests :
1515 name : Lint, Type Check, and Test
1616 runs-on : ubuntu-latest
17- timeout-minutes : 120 # 2 hours
18-
17+ timeout-minutes : 120 # 2 hours
18+
1919 # Use Python 3.13 to match GitLab configuration
2020 container :
2121 image : python:3.13-bookworm
22-
22+
2323 steps :
2424 - name : Checkout code
2525 uses : actions/checkout@v4
2626 with :
27- fetch-depth : 0 # Fetch all history for git diff in typecheck-pr
28-
27+ fetch-depth : 0 # Fetch all history for git diff in typecheck-pr
28+
2929 - name : Set up Git safe directory
3030 run : |
3131 git config --global --add safe.directory "$GITHUB_WORKSPACE"
32-
32+
3333 - name : Fetch base branch
3434 run : |
3535 git fetch origin ${{ github.base_ref || 'main' }}:refs/remotes/origin/${{ github.base_ref || 'main' }}
3636 git branch -a
37-
37+
3838 - name : Set up environment
3939 run : |
4040 python --version
4141 apt-get update -y
4242 apt-get install make curl -y
43-
43+
4444 - name : Install uv
4545 run : |
4646 curl -LsSf https://astral.sh/uv/install.sh | sh
4747 echo "$HOME/.cargo/bin" >> $GITHUB_PATH
48-
48+
4949 - name : Create virtual environment
5050 run : |
5151 uv venv .venv
5252 echo "$GITHUB_WORKSPACE/.venv/bin" >> $GITHUB_PATH
53-
53+
5454 - name : Install Node.js and basedpyright
5555 run : |
5656 curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
5757 apt-get install -y nodejs
5858 npm install -g basedpyright
59-
59+
6060 - name : Install Python dependencies
6161 run : |
6262 uv pip install ruff
6363 uv pip install typer rich boto3
6464 cd lib/idp_common_pkg && uv pip install -e ".[test]" && cd ../..
65-
65+
6666 - name : Run linting checks
6767 run : make lint-cicd
68-
68+
6969 - name : Run type checking
7070 run : |
7171 TARGET_BRANCH="${{ github.base_ref }}"
@@ -74,14 +74,14 @@ jobs:
7474 echo "Comparing: origin/$TARGET_BRANCH...HEAD"
7575 echo "===================================="
7676 echo ""
77-
78- python3 scripts/typecheck_pr_changes.py "$TARGET_BRANCH"
79-
77+
78+ make typecheck-pr TARGET_BRANCH= "$TARGET_BRANCH"
79+
8080 - name : Run tests
8181 id : run-tests
8282 run : make test-cicd -C lib/idp_common_pkg
8383 continue-on-error : false
84-
84+
8585 - name : Upload coverage reports
8686 uses : actions/upload-artifact@v4
8787 if : always() && steps.run-tests.outcome != 'skipped'
@@ -91,14 +91,14 @@ jobs:
9191 lib/idp_common_pkg/test-reports/coverage.xml
9292 lib/idp_common_pkg/test-reports/test-results.xml
9393 retention-days : 7
94-
94+
9595 - name : Publish test results
9696 uses : EnricoMi/publish-unit-test-result-action@v2
9797 if : always() && hashFiles('lib/idp_common_pkg/test-reports/test-results.xml') != ''
9898 with :
9999 files : lib/idp_common_pkg/test-reports/test-results.xml
100100 check_name : Test Results
101-
101+
102102 - name : Code Coverage Report
103103 uses : irongut/CodeCoverageSummary@v1.3.0
104104 if : always() && hashFiles('lib/idp_common_pkg/test-reports/coverage.xml') != ''
@@ -111,8 +111,8 @@ jobs:
111111 hide_complexity : true
112112 indicators : true
113113 output : both
114- thresholds : ' 60 80'
115-
114+ thresholds : " 60 80"
115+
116116 # Note: PR comments disabled for fork PRs due to permission restrictions
117117 # Coverage results are available in:
118118 # 1. Workflow artifacts (test-reports)
0 commit comments