Skip to content

Commit 57802f0

Browse files
authored
feat: o2 vscode-web release build fix (#2)
* fix: updated release.yaml * fix: update release yaml * fix: update release yaml * added shell explicitly * fix: updated release.yml * update build command * updated release.yml * fixed node version * fix: updated release.yaml * update node version * added github_token * removed css-language-features from the ignored packages list * fix: added css-language-features in ignored extensions list * fix: added build and release yaml * fix: minor fixes
1 parent 5a7a48f commit 57802f0

File tree

3 files changed

+57
-23
lines changed

3 files changed

+57
-23
lines changed

.github/workflows/build.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Build
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
- master
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
env:
13+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
14+
steps:
15+
- name: Checkout code
16+
uses: actions/checkout@v4
17+
18+
- name: Setup Node.js
19+
uses: actions/setup-node@v4
20+
with:
21+
node-version: 22
22+
registry-url: https://registry.npmjs.org/
23+
24+
- name: Install system dependencies
25+
run: |
26+
sudo apt-get update
27+
sudo apt-get install -y build-essential g++ libx11-dev libxkbfile-dev libsecret-1-dev libkrb5-dev python-is-python3
28+
29+
- name: Install dependencies
30+
run: yarn
31+
32+
- name: Build project
33+
run: yarn build
34+
35+
- name: Prepare demo
36+
run: yarn prepare-demo

.github/workflows/release.yml

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,27 @@ name: Release
33
on:
44
push:
55
tags:
6-
- 'v*'
6+
- 'v*' # Runs only on version tags like v1.0.0
77

88
jobs:
99
build:
1010
runs-on: ubuntu-latest
11+
1112
steps:
1213
- name: Checkout code
13-
uses: actions/checkout@v3
14+
uses: actions/checkout@v4
1415

1516
- name: Setup Node.js
16-
uses: actions/setup-node@v3
17+
uses: actions/setup-node@v4
1718
with:
18-
node-version: '20.18.1'
19-
cache: 'yarn'
19+
node-version: 20
20+
registry-url: https://registry.npmjs.org/
21+
cache: 'yarn' # Cache dependencies for faster builds
2022

2123
- name: Install system dependencies
2224
run: |
2325
sudo apt-get update
24-
sudo apt-get install -y --no-install-recommends zip git python3 make g++ build-essential libx11-dev libx11-xcb-dev libxkbfile-dev libnotify-bin libkrb5-dev
25-
sudo ln -sf /usr/bin/python3 /usr/bin/python
26+
sudo apt-get install -y build-essential g++ libx11-dev libxkbfile-dev libsecret-1-dev libkrb5-dev python-is-python3
2627
2728
- name: Install dependencies
2829
run: yarn install --frozen-lockfile
@@ -36,20 +37,10 @@ jobs:
3637
- name: Create zip archive
3738
run: |
3839
mkdir -p release
39-
zip -r release/vscode-web.zip demo
40-
41-
- name: Upload release artifact
42-
uses: actions/upload-artifact@v4
43-
with:
44-
name: vscode-web-release
45-
path: release/vscode-web.zip
40+
zip -r release/vscode-web.zip demo # Change `demo` if build output is elsewhere
4641
4742
- name: Create GitHub Release
48-
id: create_release
49-
uses: softprops/action-gh-release@v1
43+
uses: softprops/action-gh-release@v4
5044
with:
5145
files: release/vscode-web.zip
52-
draft: false
53-
prerelease: false
54-
env:
55-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
46+
token: ${{ secrets.GITHUB_TOKEN }}

build.js

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,29 @@ function note(msg) {
1818
}
1919
function exec(cmd, opts) {
2020
console.info("\x1b[36m%s\x1b[0m", cmd);
21-
return child_process.execSync(cmd, opts);
21+
console.info("\x1b[36m%s\x1b[0m", cmd);
22+
try {
23+
return child_process.execSync(cmd, { ...opts, shell: '/bin/bash' });
24+
} catch (error) {
25+
console.error("Error executing command:", cmd);
26+
console.error(error.message);
27+
process.exit(1);
28+
}
2229
}
2330

2431
const requiredTools = ["node", "yarn", "git", "python"];
2532
note(`required tools ${JSON.stringify(requiredTools)}`);
2633
for (const tool of requiredTools) {
2734
try {
28-
child_process.execSync(`${tool} --version`, { stdio: "ignore" });
35+
child_process.execSync(`${tool} --version`, { stdio: "ignore", shell: '/bin/bash' });
2936
} catch (e) {
3037
error(`"${tool}" is not available.`);
3138
process.exit(1);
3239
}
3340
}
3441
ok("required tools installed");
3542

36-
const node_version_out = child_process.execSync(`node -v`);
43+
const node_version_out = child_process.execSync(`node -v`, { shell: '/bin/bash' });
3744
const node_version = node_version_out.toString().trim();
3845
if (node_version < "v20.0") {
3946
error(`Want node > 20. Got "${node_version}"`);

0 commit comments

Comments
 (0)