Skip to content

Commit 2dce535

Browse files
committed
ci(workflows): add new main workflow running pre-commit
1 parent 1600e5f commit 2dce535

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

.github/workflows/main.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
---
2+
# yamllint disable rule:comments
3+
name: Test & release
4+
5+
'on':
6+
- pull_request
7+
- push
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: ${{ github.ref != format('refs/heads/{0}',
12+
github.event.repository.default_branch) }}
13+
14+
jobs:
15+
should-run:
16+
name: Prep / Should run
17+
runs-on: ubuntu-latest
18+
timeout-minutes: 5
19+
outputs:
20+
should-run: ${{ steps.action.outputs.should-run }}
21+
steps:
22+
- id: action
23+
uses:
24+
# yamllint disable-line rule:line-length
25+
techneg-it/should-workflow-run@dcbb88600d59ec2842778ef1e2d41f680f876329 # v1.0.0
26+
pre-commit:
27+
name: Lint / `pre-commit`
28+
needs: should-run
29+
if: fromJSON(needs.should-run.outputs.should-run)
30+
container: techneg/ci-pre-commit:v2.3.3
31+
runs-on: ubuntu-latest
32+
timeout-minutes: 5
33+
steps:
34+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
35+
- name: Export `CI_CACHE_ID` from container
36+
run: echo "CI_CACHE_ID=$(cat /.ci_cache_id)" >> $GITHUB_ENV
37+
- uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
38+
with:
39+
path: ~/.cache/pre-commit
40+
key: "${{ env.CI_CACHE_ID }}|\
41+
${{ hashFiles('.pre-commit-config.yaml') }}"
42+
- name: Run `pre-commit`
43+
run: |
44+
git config --global --add safe.directory $(pwd)
45+
pre-commit run --all-files --color always --verbose
46+
pre-commit run --color always --hook-stage manual commitlint-ci
47+
results:
48+
name: Release / Collect results
49+
permissions:
50+
checks: read
51+
runs-on: ubuntu-latest
52+
timeout-minutes: 15
53+
steps:
54+
# yamllint disable-line rule:line-length
55+
- uses: poseidon/wait-for-status-checks@899c768d191b56eef585c18f8558da19e1f3e707 # v0.6.0
56+
with:
57+
ignore: Release / Collect results
58+
token: ${{ secrets.GITHUB_TOKEN }}
59+
- run: echo "::notice ::Workflow success!"

0 commit comments

Comments
 (0)