Skip to content

Commit bdabded

Browse files
committed
ci
1 parent 38d0b93 commit bdabded

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

template/.github/workflows/ci.yaml.jinja

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ jobs:
2121
contents: write # needed updating dependabot branches
2222

2323
lint:
24-
needs: [ get-values ]
24+
needs:
25+
- get-values
2526
name: Pre-commit
2627
uses: ./.github/workflows/pre-commit.yaml
2728
permissions:
@@ -31,7 +32,8 @@ jobs:
3132
python-version: {% endraw %}{{ python_version }}{% raw %}
3233

3334
test:
34-
needs: [ lint ]
35+
needs:
36+
- lint
3537
strategy:
3638
matrix:
3739
os:
@@ -79,7 +81,8 @@ jobs:
7981
slug: {% endraw %}{{ full_repo_url | replace("https://github.com/", "") }}{% raw %}{% endraw %}{% endif %}{% raw %}
8082

8183
{% endraw %}{% if is_frozen_executable %}{% raw %} executable:
82-
needs: [ test ]
84+
needs:
85+
- test
8386
strategy:
8487
matrix:
8588
os:
@@ -117,7 +120,8 @@ jobs:
117120

118121
{% endraw %}{% if create_docs %}{% raw %}
119122
build-docs:
120-
needs: [ lint ]
123+
needs:
124+
- lint
121125
strategy:
122126
matrix:
123127
python-version:
@@ -152,17 +156,25 @@ jobs:
152156
permissions:
153157
statuses: write # needed for updating status on Dependabot PRs
154158
needs:
155-
- test
156-
- get-values{% endraw %}{% if create_docs %}
159+
- get-values
160+
- test{% endraw %}{% if create_docs %}
157161
- build-docs{% endif %}{% if is_frozen_executable %}
158162
- executable{% endif %}{% raw %}
159163
if: always()
160164
timeout-minutes: {% endraw %}{{ gha_short_timeout_minutes }}{% raw %}
161165
steps:
162166
- name: fail if prior job failure
163-
if: needs.test.result != 'success'{% endraw %}{% if create_docs %} || needs.build-docs.result != 'success'{% endif %}{% if is_frozen_executable %} || needs.executable.result != 'success'{% endif %}{% raw %}
164167
run: |
165-
exit 1
168+
failure_pattern="^(failure|cancelled)$"
169+
170+
if [[ "${{ needs.get-values.result }}" =~ $failure_pattern ]] ||{% endraw %}{% if create_docs %}{% raw %}
171+
[[ "${{ needs.build-docs.result }}" =~ $failure_pattern ]] ||{% endraw %}{% endif %}{% raw %}{% endraw %}{% if is_frozen_executable %}{% raw %}
172+
[[ "${{ needs.executable.result }}" =~ $failure_pattern ]] ||{% endraw %}{% endif %}{% raw %}
173+
[[ "${{ needs.test.result }}" =~ $failure_pattern ]]; then
174+
echo "❌ One or more jobs failed or were cancelled"
175+
exit 1
176+
fi
177+
echo "✅ All jobs completed successfully or were skipped"
166178
- name: Mark updated Dependabot commit of devcontainer hash as succeeded
167179
if: needs.get-values.outputs.dependabot-commit-created == 'true'
168180
env:

0 commit comments

Comments
 (0)