66 push :
77 branches : [master]
88
9+ concurrency :
10+ group : ${{ github.workflow }}-${{ github.ref }}
11+ cancel-in-progress : true
12+
913jobs :
1014 lint :
1115 name : " Lint"
@@ -14,60 +18,60 @@ jobs:
1418
1519 steps :
1620 - name : " Checkout"
17- uses : actions/checkout@v4
21+ uses : actions/checkout@v5
1822
19- - name : " Setup Node 22 "
20- uses : actions/setup-node@v4
23+ - name : " Setup Node 24 "
24+ uses : actions/setup-node@v5
2125 with :
22- node-version : 22
23- # cache: npm
26+ node-version : 24
2427
2528 - name : " Install"
2629 id : install
2730 run : |
28- npm install
31+ npm ci
2932
3033 - name : " ESLint"
31- if : ${{ always() }}
34+ id : eslint
35+ if : ${{ !cancelled() }}
3236 run : |
33- npm run lint
37+ npm run lint:report
3438
3539 - name : " Prettier"
36- if : ${{ always () }}
40+ if : ${{ !cancelled () }}
3741 run : |
38- npm run prettier
39-
40- build :
41- name : " Build"
42- runs-on : ubuntu-latest
43- timeout-minutes : 5
44-
45- steps :
46- - name : " Checkout"
47- uses : actions/checkout@v4
42+ npm run prettier:check
4843
49- - name : " Setup Node 22"
50- uses : actions/setup-node@v4
51- with :
52- node-version : 22
53- # cache: npm
54-
55- - name : " Install"
44+ - name : " Yamllint"
45+ if : ${{ !cancelled() }}
46+ env :
47+ CONFIG : " {extends: relaxed, ignore: [node_modules/], rules: {line-length: {max: 119}}}"
5648 run : |
57- npm install
49+ echo "::group::List Files"
50+ yamllint -d '${{ env.CONFIG }}' --list-files .
51+ echo "::endgroup::"
52+ yamllint -d '${{ env.CONFIG }}' .
5853
59- - name : " Build"
60- run : |
61- npm run build
54+ # - name: "Actionlint"
55+ # if: ${{ !cancelled() }}
56+ # run: |
57+ # echo "::group::Download"
58+ # loc=$(curl -sI https://github.com/rhysd/actionlint/releases/latest | grep -i '^location:')
59+ # echo "loc: ${loc}"
60+ # tag=$(echo "${loc}" | sed -E 's|.*/tag/v?(.*)|\1|' | tr -d '\t\r\n')
61+ # echo "tag: ${tag}"
62+ # url="https://github.com/rhysd/actionlint/releases/latest/download/actionlint_${tag}_linux_amd64.tar.gz"
63+ # echo "url: ${url}"
64+ # curl -sL "${url}" | tar xz -C "${RUNNER_TEMP}" actionlint
65+ # file "${RUNNER_TEMP}/actionlint"
66+ # "${RUNNER_TEMP}/actionlint" --version
67+ # echo "::endgroup::"
68+ # "${RUNNER_TEMP}/actionlint" -color -verbose -shellcheck= -pyflakes=
6269
63- - name : " Verify"
64- run : |
65- git status --porcelain dist/
66- if [ ! -d "dist" ];then
67- echo "Missing dist directory, run: npm build"
68- exit 1
69- fi
70- if [ -n "$(git status --porcelain dist)" ];then
71- echo "Build was not run, run: npm build"
72- exit 1
73- fi
70+ - name : " Check Build Action"
71+ if : ${{ !cancelled() }}
72+ uses : cssnr/check-build-action@master
73+
74+ - name : " ESLint Annotate"
75+ if : ${{ !cancelled() && steps.eslint.outcome != 'success' }}
76+ continue-on-error : true
77+ uses : ataylorme/eslint-annotate-action@v3
0 commit comments