|
9 | 9 | # 📊 Flow Structure: |
10 | 10 | # ----------------- |
11 | 11 | # 1. lint-code: Quick static code analysis with ruff |
12 | | -# 2. test-python: Python backend tests |
13 | | -# 3. build-package: Build Python package for distribution |
14 | | -# 4. publish-package: Publish to PyPI (only on tags) |
| 12 | +# 2. test-python: Python backend tests across multiple Python versions |
15 | 13 | # |
16 | 14 | # 🔄 Job Dependencies: |
17 | 15 | # ------------------ |
18 | | -# The publish-package job only runs when all other jobs complete successfully |
19 | | -# and only on version tags (v*). |
20 | | -# |
21 | | -# 🎯 Skip Deploy Feature: |
22 | | -# --------------------- |
23 | | -# Add [skip-deploy] anywhere in your commit message to skip PyPI publishing. |
24 | | -# This is useful for documentation updates, test changes, or other non-production changes. |
25 | | -# Example: "📝 Update README with examples [skip-deploy]" |
| 16 | +# Jobs run in parallel for faster CI feedback. |
| 17 | +# Package building and publishing is handled by pypi_release.yml workflow. |
26 | 18 | # |
27 | 19 | # 💫 Caching Strategy: |
28 | 20 | # ------------------ |
|
32 | 24 | # Remember: Helping developers code better, one commit at a time! 🚀 |
33 | 25 | # ===================================================================== |
34 | 26 |
|
35 | | -name: Build AICodeBot 🤖 |
| 27 | +name: CI Tests 🤖 |
36 | 28 | on: |
37 | 29 | # Run on PRs |
38 | 30 | pull_request: |
@@ -129,55 +121,3 @@ jobs: |
129 | 121 | with: |
130 | 122 | files: ./coverage.xml |
131 | 123 | fail_ci_if_error: false |
132 | | - |
133 | | - build-package: |
134 | | - name: 🏗️ Build Python package |
135 | | - runs-on: ubuntu-latest |
136 | | - timeout-minutes: 5 |
137 | | - needs: [lint-code, test-python] |
138 | | - |
139 | | - steps: |
140 | | - - name: Checkout Code |
141 | | - uses: actions/checkout@v5 |
142 | | - |
143 | | - - name: Setup Python |
144 | | - uses: actions/setup-python@v5 |
145 | | - with: |
146 | | - python-version: "3.13" |
147 | | - |
148 | | - - name: Install build dependencies |
149 | | - run: | |
150 | | - python -m pip install --upgrade pip |
151 | | - pip install build twine |
152 | | -
|
153 | | - - name: Build package |
154 | | - run: python -m build |
155 | | - |
156 | | - - name: Check package |
157 | | - run: twine check dist/* |
158 | | - |
159 | | - - name: Upload build artifacts |
160 | | - uses: actions/upload-artifact@v4 |
161 | | - with: |
162 | | - name: dist |
163 | | - path: dist/ |
164 | | - |
165 | | - publish-package: |
166 | | - name: 🚀 Publish to PyPI |
167 | | - needs: [lint-code, test-python, build-package] |
168 | | - runs-on: ubuntu-latest |
169 | | - timeout-minutes: 5 |
170 | | - permissions: |
171 | | - id-token: write # For trusted publishing to PyPI |
172 | | - |
173 | | - steps: |
174 | | - - name: Download build artifacts |
175 | | - uses: actions/download-artifact@v5 |
176 | | - with: |
177 | | - name: dist |
178 | | - path: dist/ |
179 | | - |
180 | | - - name: Publish to PyPI |
181 | | - uses: pypa/gh-action-pypi-publish@release/v1 |
182 | | - with: |
183 | | - print-hash: true |
0 commit comments