55 branches :
66 - main
77
8- permissions :
9- contents : write
10- issues : write
11- pull-requests : write
8+ permissions : {}
129
1310concurrency :
1411 group : release
@@ -18,37 +15,48 @@ jobs:
1815 test :
1916 name : Test
2017 runs-on : ubuntu-latest
18+ permissions :
19+ contents : read
2120 steps :
2221 - name : Checkout
23- uses : actions/checkout@v5
22+ uses : actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
23+ with :
24+ persist-credentials : false
25+
26+ - name : Setup pnpm
27+ uses : pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0
2428
2529 - name : Setup Node
26- uses : actions/setup-node@v4
30+ uses : actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
2731 with :
28- cache : npm
32+ cache : pnpm
2933
3034 - name : Install dependencies
31- run : npm ci
35+ run : pnpm install --frozen-lockfile
3236
3337 - name : Compile
34- run : npx vsce package
38+ run : pnpm vsce package
3539 env :
3640 LOCALSTACK_WEB_AUTH_REDIRECT : https://app.localstack.cloud/redirect
3741 NODE_ENV : ci
3842
3943 - name : Test
40- run : xvfb-run -a npx vscode-test
44+ run : xvfb-run -a pnpm vscode-test
4145
4246 release :
4347 name : Release
4448 runs-on : ubuntu-latest
4549 needs : test
50+ permissions :
51+ contents : write
52+ issues : write
53+ pull-requests : write
4654 outputs :
4755 release_created : ${{ steps.release.outputs.release_created }}
4856 tag_name : ${{ steps.release.outputs.tag_name }}
4957 version : ${{ steps.release.outputs.version }}
5058 steps :
51- - uses : googleapis/release-please-action@v4
59+ - uses : googleapis/release-please-action@5c625bfb5d1ff62eadeeb3772007f7f66fdcf071 # v4.4.1
5260 id : release
5361 with :
5462 release-type : node
@@ -58,27 +66,34 @@ jobs:
5866 runs-on : ubuntu-latest
5967 needs : release
6068 if : ${{ needs.release.outputs.release_created == 'true' }}
69+ permissions :
70+ contents : read
6171 steps :
6272 - name : Checkout
63- uses : actions/checkout@v5
73+ uses : actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
74+ with :
75+ persist-credentials : false
76+
77+ - name : Setup pnpm
78+ uses : pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0
6479
6580 - name : Setup Node
66- uses : actions/setup-node@v4
81+ uses : actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
6782 with :
68- cache : npm
83+ cache : pnpm
6984
7085 - name : Install dependencies
71- run : npm ci
86+ run : pnpm install --frozen-lockfile
7287
7388 - name : Build VSIX
74- run : npx vsce package
89+ run : pnpm vsce package
7590 env :
7691 LOCALSTACK_WEB_AUTH_REDIRECT : https://app.localstack.cloud/redirect
7792 NODE_ENV : production
7893 ANALYTICS_API_URL : https://analytics.localstack.cloud/v1/events
7994
8095 - name : Upload VSIX artifact
81- uses : actions/upload-artifact@v4
96+ uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
8297 with :
8398 name : vsix
8499 path : " *.vsix"
@@ -88,39 +103,45 @@ jobs:
88103 runs-on : ubuntu-latest
89104 needs : [build, release]
90105 if : ${{ needs.release.outputs.release_created == 'true' }}
106+ permissions :
107+ contents : write
91108 steps :
92109 - name : Checkout
93- uses : actions/checkout@v5
110+ uses : actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
111+ with :
112+ persist-credentials : false
94113
95114 - name : Download VSIX
96- uses : actions/download-artifact@v4
115+ uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
97116 with :
98117 name : vsix
99118
100119 - name : Setup Node
101- uses : actions/setup-node@v4
120+ uses : actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
102121
103122 - name : Upload Release Artifact
104123 env :
105124 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
106- run : gh release upload ${{ needs.release.outputs.tag_name }} *.vsix
125+ NEEDS_RELEASE_OUTPUTS_TAG_NAME : ${{ needs.release.outputs.tag_name }}
126+ run : gh release upload ${NEEDS_RELEASE_OUTPUTS_TAG_NAME} *.vsix
107127
108128 publish-vscode-marketplace :
109129 name : Publish to VS Marketplace
110130 runs-on : ubuntu-latest
111131 needs : [build, release]
112132 if : ${{ needs.release.outputs.release_created == 'true' }}
133+ permissions : {}
113134 steps :
114135 - name : Download VSIX
115- uses : actions/download-artifact@v4
136+ uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
116137 with :
117138 name : vsix
118139
119140 - name : Setup Node
120- uses : actions/setup-node@v4
141+ uses : actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
121142
122143 - name : Publish to VS Marketplace
123- run : npx @vscode/vsce publish --packagePath *.vsix
144+ run : pnpm dlx @vscode/vsce publish --packagePath *.vsix
124145 env :
125146 VSCE_PAT : ${{ secrets.VSCE_PAT }}
126147
@@ -129,16 +150,17 @@ jobs:
129150 runs-on : ubuntu-latest
130151 needs : [build, release]
131152 if : ${{ needs.release.outputs.release_created == 'true' }}
153+ permissions : {}
132154 steps :
133155 - name : Download VSIX
134- uses : actions/download-artifact@v4
156+ uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
135157 with :
136158 name : vsix
137159
138160 - name : Setup Node
139- uses : actions/setup-node@v4
161+ uses : actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
140162
141163 - name : Publish to Open VSX
142- run : npx ovsx publish *.vsix -p $OVSX_PAT
164+ run : pnpm dlx ovsx publish *.vsix -p $OVSX_PAT
143165 env :
144166 OVSX_PAT : ${{ secrets.OVSX_PAT }}
0 commit comments