File tree Expand file tree Collapse file tree 3 files changed +113
-17
lines changed Expand file tree Collapse file tree 3 files changed +113
-17
lines changed Original file line number Diff line number Diff line change 1+ name : CI
2+ run-name : CI run for ${{ github.head_ref }}
3+
4+ on :
5+ pull_request :
6+ branches :
7+ - main
8+ paths-ignore :
9+ - ' **/*.md'
10+
11+ jobs :
12+ lint :
13+ runs-on : ubuntu-latest
14+ steps :
15+ - name : Checkout code
16+ uses : actions/checkout@v4
17+
18+ - name : Set up Node.js
19+ uses : actions/setup-node@v4
20+ with :
21+ node-version-file : ' package.json'
22+ cache : ' npm'
23+
24+ - name : Install dependencies
25+ run : npm ci
26+
27+ - name : Run linting
28+ run : npm run lint
29+
30+ tsc :
31+ runs-on : ubuntu-latest
32+ steps :
33+ - name : Checkout code
34+ uses : actions/checkout@v4
35+
36+ - name : Set up Node.js
37+ uses : actions/setup-node@v4
38+ with :
39+ node-version-file : ' package.json'
40+ cache : ' npm'
41+
42+ - name : Install dependencies
43+ run : npm ci
44+
45+ - name : Check TypeScript syntax
46+ run : npx tsc --noEmit
47+
48+ test :
49+ runs-on : ubuntu-latest
50+ steps :
51+ - name : Checkout code
52+ uses : actions/checkout@v4
53+
54+ - name : Set up Node.js
55+ uses : actions/setup-node@v4
56+ with :
57+ node-version-file : ' package.json'
58+ cache : ' npm'
59+
60+ - name : Install dependencies
61+ run : npm ci
62+
63+ - name : Run tests
64+ run : npm test
Original file line number Diff line number Diff line change 11name : Publish to npm
2- run-name : ${{ github.ref_name }} ${{ inputs.dry_run == true && ' (dry-run)' || '' }}
2+ run-name : ${{ github.ref_name }}
33
44on :
55 workflow_dispatch :
66 inputs :
7- dry_run :
8- type : boolean
9- description : Run as a dry-run (no publish)
10- default : true
7+ environment :
8+ type : environment
9+ description : Environment
10+ required : true
1111
1212permissions :
13- id-token : write # Required for --provenancepermissions:
13+ id-token : write # Required for --provenance
1414 contents : read
1515 packages : write
1616
1919 runs-on : ubuntu-latest
2020
2121 steps :
22- - run : |
23- if [[ "${{ github.ref }}" != refs/tags/* ]]; then
24- echo "This workflow can only be run from a tag."
25- exit 1
26- fi
27-
2822 - name : Checkout repository
2923 uses : actions/checkout@v4
3024
4438 id : dist_tag
4539 run : echo "value=$(cat package.json | jq -r '.version | split("-") | .[1] // "latest" | split(".") | .[0]')" >> $GITHUB_OUTPUT
4640
47- - name : Dry run publish (${{ steps.dist_tag.outputs.value }})
48- run : npm publish --dry-run --provenance --tag ${{ steps.dist_tag.outputs.value }} --access=public
49- if : inputs.dry_run == true
50-
5141 - name : Publish to npm
5242 run : npm publish --provenance --tag ${{ steps.dist_tag.outputs.value }} --access=public
53- if : inputs.dry_run == false
5443 env :
5544 NODE_AUTH_TOKEN : ${{ secrets.NPM_TOKEN }}
Original file line number Diff line number Diff line change 1+ name : Publish to npm dry-run
2+ run-name : Dry-run ${{ github.ref_name }}
3+
4+ on :
5+ workflow_dispatch :
6+
7+ permissions :
8+ id-token : write
9+ contents : read
10+ packages : write
11+
12+ jobs :
13+ publish :
14+ runs-on : ubuntu-latest
15+
16+ steps :
17+ - run : |
18+ if [[ "${{ github.ref }}" != refs/tags/* ]]; then
19+ echo "This workflow can only be run from a tag."
20+ exit 1
21+ fi
22+
23+ - name : Checkout repository
24+ uses : actions/checkout@v4
25+
26+ - name : Set up Node.js
27+ uses : actions/setup-node@v4
28+ with :
29+ node-version-file : ' package.json'
30+ registry-url : ' https://registry.npmjs.org'
31+
32+ - name : Install dependencies
33+ run : npm ci
34+
35+ - name : Build package
36+ run : npm run build
37+
38+ - name : Extract dist tag from version
39+ id : dist_tag
40+ run : echo "value=$(cat package.json | jq -r '.version | split("-") | .[1] // "latest" | split(".") | .[0]')" >> $GITHUB_OUTPUT
41+
42+ - name : Dry run publish (${{ steps.dist_tag.outputs.value }})
43+ run : npm publish --dry-run --provenance --tag ${{ steps.dist_tag.outputs.value }} --access=public
You can’t perform that action at this time.
0 commit comments