-
Notifications
You must be signed in to change notification settings - Fork 5
163 lines (145 loc) · 4.8 KB
/
release-vscode.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
name: Release extension
on:
workflow_dispatch:
env:
FETCH_DEPTH: 0
jobs:
# Build the extension on all platforms.
build:
strategy:
matrix:
include:
- os: windows-latest
target: x86_64-pc-windows-msvc
code-target: win32-x64
# - os: windows-latest
# target: aarch64-pc-windows-msvc
# code-target: win32-arm64
# - os: ubuntu-20.04
# target: x86_64-unknown-linux-gnu
# code-target: linux-x64
# - os: ubuntu-20.04
# target: aarch64-unknown-linux-gnu
# code-target: linux-arm64
arch: aarch64
- os: macos-latest
target: x86_64-apple-darwin
code-target: darwin-x64
- os: macos-latest
target: aarch64-apple-darwin
code-target: darwin-arm64
name: Build (${{ matrix.target }})
runs-on: ${{ matrix.os }}
defaults:
run:
working-directory: ./editors/code
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: ${{ env.FETCH_DEPTH }}
# macOS or Linux binary
- run: curl -LsSf https://github.com/posit-dev/air/releases/latest/download/air-installer.sh | sh
if: ${{ startsWith(matrix.os, 'macos') || startsWith(matrix.os, 'ubuntu') }}
env:
XDG_BIN_HOME: ./bundled/bin
# Windows binary
- run: powershell -c "irm https://github.com/posit-dev/air/releases/latest/download/air-installer.ps1 | iex"
if: ${{ startsWith(matrix.os, 'windows') }}
env:
XDG_BIN_HOME: ./bundled/bin
# Install Node.
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 22
# Install Node dependencies.
- run: npm ci
# Build the extension.
- name: Package Extension (release)
run: npx vsce package -o "./dist/air-${{ matrix.code-target }}.vsix" --target ${{ matrix.code-target }}
# Upload the extension.
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: dist-${{ matrix.target }}
path: ./editors/code/dist
# Publish the built extension to the Code Marketplace.
publish-code-marketplace:
name: "Publish (Code Marketplace)"
needs: ["build"]
runs-on: ubuntu-latest
steps:
- name: Install Nodejs
uses: actions/setup-node@v4
with:
node-version: 22
# Download all built artifacts.
- uses: actions/download-artifact@v3
with:
name: dist-aarch64-apple-darwin
path: dist
- uses: actions/download-artifact@v3
with:
name: dist-x86_64-apple-darwin
path: dist
# - uses: actions/download-artifact@v3
# with:
# name: dist-x86_64-unknown-linux-gnu
# path: dist
# - uses: actions/download-artifact@v3
# with:
# name: dist-aarch64-unknown-linux-gnu
# path: dist
- uses: actions/download-artifact@v3
with:
name: dist-x86_64-pc-windows-msvc
path: dist
# - uses: actions/download-artifact@v3
# with:
# name: dist-aarch64-pc-windows-msvc
# path: dist
- run: ls -al ./dist
# Publish to the Code Marketplace.
- name: Publish Extension (Code Marketplace, release)
run: npx vsce publish --pat ${{ secrets.VSCE_PAT }} --packagePath ./dist/air-*.vsix
# # Publish the built extension to OpenVSX
# publish-openvsx:
# name: "Publish (OpenVSX)"
# needs: ["build"]
# runs-on: ubuntu-latest
# environment: release
# steps:
# - name: Install Nodejs
# uses: actions/setup-node@v4
# with:
# node-version: 22
# # Download all built artifacts.
# - uses: actions/download-artifact@v3
# with:
# name: dist-aarch64-apple-darwin
# path: dist
# - uses: actions/download-artifact@v3
# with:
# name: dist-x86_64-apple-darwin
# path: dist
# # - uses: actions/download-artifact@v3
# # with:
# # name: dist-x86_64-unknown-linux-gnu
# # path: dist
# # - uses: actions/download-artifact@v3
# # with:
# # name: dist-aarch64-unknown-linux-gnu
# # path: dist
# - uses: actions/download-artifact@v3
# with:
# name: dist-x86_64-pc-windows-msvc
# path: dist
# # - uses: actions/download-artifact@v3
# # with:
# # name: dist-aarch64-pc-windows-msvc
# # path: dist
# - run: ls -al ./dist
# # Publish to OpenVSX.
# - name: Publish Extension (OpenVSX, release)
# run: npx ovsx publish --pat ${{ secrets.OPEN_VSX_TOKEN }} --packagePath ./dist/air-*.vsix