Skip to content

Commit a9a7e15

Browse files
committed
separate into release and publish
1 parent 44d2107 commit a9a7e15

2 files changed

Lines changed: 94 additions & 85 deletions

File tree

.github/workflows/publish.yml

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
name: Publish
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
concurrency:
9+
group: publish
10+
cancel-in-progress: false
11+
12+
permissions:
13+
contents: write
14+
15+
jobs:
16+
build:
17+
name: Build
18+
runs-on: ubuntu-latest
19+
outputs:
20+
version: ${{ steps.version.outputs.version }}
21+
22+
steps:
23+
- name: Checkout
24+
uses: actions/checkout@v5
25+
26+
- name: Setup Node
27+
uses: actions/setup-node@v4
28+
with:
29+
cache: npm
30+
31+
- name: Install dependencies
32+
run: npm ci
33+
34+
- name: Get version from tag
35+
id: version
36+
run: echo "version=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT"
37+
38+
- name: Build VSIX
39+
run: npx vsce package
40+
env:
41+
LOCALSTACK_WEB_AUTH_REDIRECT: https://app.localstack.cloud/redirect
42+
NODE_ENV: production
43+
ANALYTICS_API_URL: https://analytics.localstack.cloud/v1/events
44+
45+
- name: Upload VSIX artifact
46+
uses: actions/upload-artifact@v4
47+
with:
48+
name: vsix
49+
path: "*.vsix"
50+
51+
- name: Create GitHub Release
52+
uses: softprops/action-gh-release@v2
53+
with:
54+
tag_name: ${{ github.ref_name }}
55+
generate_release_notes: true
56+
files: "*.vsix"
57+
58+
publish-vscode-marketplace:
59+
name: Publish to VS Marketplace
60+
runs-on: ubuntu-latest
61+
needs: build
62+
63+
steps:
64+
- name: Download VSIX
65+
uses: actions/download-artifact@v4
66+
with:
67+
name: vsix
68+
69+
- name: Setup Node
70+
uses: actions/setup-node@v4
71+
72+
- name: Publish to VS Marketplace
73+
run: npx @vscode/vsce publish --packagePath localstack-${{ needs.build.outputs.version }}.vsix
74+
env:
75+
VSCE_PAT: ${{ secrets.VSCE_PAT }}
76+
77+
publish-ovsx:
78+
name: Publish to Open VSX
79+
runs-on: ubuntu-latest
80+
needs: build
81+
82+
steps:
83+
- name: Download VSIX
84+
uses: actions/download-artifact@v4
85+
with:
86+
name: vsix
87+
88+
- name: Setup Node
89+
uses: actions/setup-node@v4
90+
91+
- name: Publish to Open VSX
92+
run: npx ovsx publish localstack-${{ needs.build.outputs.version }}.vsix -p $OVSX_PAT
93+
env:
94+
OVSX_PAT: ${{ secrets.OVSX_PAT }}

.github/workflows/release.yml

Lines changed: 0 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@ on:
44
schedule:
55
- cron: '0 8 * * *' # Every day at 08:00 UTC
66
workflow_dispatch:
7-
push:
8-
tags:
9-
- 'v*'
107

118
concurrency:
129
group: release
@@ -18,7 +15,6 @@ permissions:
1815
jobs:
1916
release:
2017
name: Release
21-
if: github.event_name != 'push'
2218
runs-on: ubuntu-latest
2319

2420
steps:
@@ -52,84 +48,3 @@ jobs:
5248
else
5349
echo "No releasable commits — skipping push"
5450
fi
55-
56-
build:
57-
name: Build
58-
if: startsWith(github.ref, 'refs/tags/v')
59-
runs-on: ubuntu-latest
60-
outputs:
61-
version: ${{ steps.version.outputs.version }}
62-
63-
steps:
64-
- name: Checkout
65-
uses: actions/checkout@v5
66-
67-
- name: Setup Node
68-
uses: actions/setup-node@v4
69-
with:
70-
cache: npm
71-
72-
- name: Install dependencies
73-
run: npm ci
74-
75-
- name: Get version from tag
76-
id: version
77-
run: echo "version=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT"
78-
79-
- name: Build VSIX
80-
run: npx vsce package
81-
env:
82-
LOCALSTACK_WEB_AUTH_REDIRECT: https://app.localstack.cloud/redirect
83-
NODE_ENV: production
84-
ANALYTICS_API_URL: https://analytics.localstack.cloud/v1/events
85-
86-
- name: Upload VSIX artifact
87-
uses: actions/upload-artifact@v4
88-
with:
89-
name: vsix
90-
path: "*.vsix"
91-
92-
- name: Create GitHub Release
93-
uses: softprops/action-gh-release@v2
94-
with:
95-
tag_name: ${{ github.ref_name }}
96-
generate_release_notes: true
97-
files: "*.vsix"
98-
99-
publish-vscode-marketplace:
100-
name: Publish to VS Marketplace
101-
runs-on: ubuntu-latest
102-
needs: build
103-
104-
steps:
105-
- name: Download VSIX
106-
uses: actions/download-artifact@v4
107-
with:
108-
name: vsix
109-
110-
- name: Setup Node
111-
uses: actions/setup-node@v4
112-
113-
- name: Publish to VS Marketplace
114-
run: npx @vscode/vsce publish --packagePath localstack-${{ needs.build.outputs.version }}.vsix
115-
env:
116-
VSCE_PAT: ${{ secrets.VSCE_PAT }}
117-
118-
publish-ovsx:
119-
name: Publish to Open VSX
120-
runs-on: ubuntu-latest
121-
needs: build
122-
123-
steps:
124-
- name: Download VSIX
125-
uses: actions/download-artifact@v4
126-
with:
127-
name: vsix
128-
129-
- name: Setup Node
130-
uses: actions/setup-node@v4
131-
132-
- name: Publish to Open VSX
133-
run: npx ovsx publish localstack-${{ needs.build.outputs.version }}.vsix -p $OVSX_PAT
134-
env:
135-
OVSX_PAT: ${{ secrets.OVSX_PAT }}

0 commit comments

Comments
 (0)