Compare commits

..

1 Commits

Author SHA1 Message Date
Asher
58491f317f Add workflow for updating VS Code
For now it is manually triggered.
2026-05-07 10:46:13 -08:00
3 changed files with 49 additions and 10 deletions

View File

@@ -38,7 +38,7 @@ jobs:
with:
node-version-file: .node-version
- uses: robinraju/release-downloader@28fc21f50d76778e7023361aa1f863e717d3d56f # v1.13
- uses: robinraju/release-downloader@daf26c55d821e836577a15f77d86ddc078948b05 # v1.12
with:
repository: "coder/code-server"
tag: ${{ env.TAG }}
@@ -122,13 +122,13 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: robinraju/release-downloader@28fc21f50d76778e7023361aa1f863e717d3d56f # v1.13
- uses: robinraju/release-downloader@daf26c55d821e836577a15f77d86ddc078948b05 # v1.12
with:
repository: "coder/code-server"
tag: v${{ env.VERSION }}
fileName: "*.deb"
out-file-path: "release-packages"
- uses: robinraju/release-downloader@28fc21f50d76778e7023361aa1f863e717d3d56f # v1.13
- uses: robinraju/release-downloader@daf26c55d821e836577a15f77d86ddc078948b05 # v1.12
with:
repository: "coder/code-server"
tag: v${{ env.VERSION }}

36
.github/workflows/update.yaml vendored Normal file
View File

@@ -0,0 +1,36 @@
name: Update code-server
on:
workflow_dispatch:
inputs:
version:
type: string
required: true
jobs:
update:
runs-on: ubuntu-latest
env:
VERSION: ${{ inputs.version }}
GH_TOKEN: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version-file: .node-version
- run: ./ci/build/update-vscode.sh
- name: Open PR
run: |
git config --global user.name cdrci
git config --global user.email opensource@coder.com
git checkout -b update/${{ env.VERSION }}
git add .
git commit -m "Update VS Code to ${{ env.VERSION }}"
git push -u origin $(git branch --show)
gh pr create --repo coder/code-server-aur \
--title "Update VS Code to ${{ env.VERSION }}" \
--body-file .cache/checklist \
--draft

View File

@@ -17,10 +17,10 @@ function remove_patches() {
function update_vscode() {
pushd lib/vscode
if ! git checkout "$VERSION" ; then
echo "$VERSION does not exist locally, fetching..."
if ! git checkout "$target_vscode_version" ; then
echo "$target_vscode_version does not exist locally, fetching..."
git fetch --all --prune
git checkout "$VERSION"
git checkout "$target_vscode_version"
fi
popd
}
@@ -110,12 +110,12 @@ function run() {
function add_changelog() {
local file=CHANGELOG.md
if grep "Code $VERSION" "$file" ; then
echo "Changelog for $VERSION already exists"
if grep "Code $target_vscode_version" "$file" ; then
echo "Changelog for $target_vscode_version already exists"
else
# TODO: This is not exactly robust. In particular, it needs to handle if
# there is already a "changed" section.
sed -i.bak "s/## Unreleased/## Unreleased\n\nCode v$VERSION\n\n### Changed\n\n- Update to Code $VERSION/" "$file"
sed -i.bak "s/## Unreleased/## Unreleased\n\nCode v$target_vscode_version\n\n### Changed\n\n- Update to Code $target_vscode_version/" "$file"
fi
}
@@ -127,6 +127,9 @@ function main() {
local target_node_version
target_node_version=$(grep target lib/vscode/remote/.npmrc | awk -F= '{print $2}' | tr -d '"')
local target_vscode_version
target_vscode_version="${VERSION#v}"
declare -a steps
# Removing patches only needs to be done locally; in CI we start from a fresh
# clone each time.
@@ -135,7 +138,7 @@ function main() {
fi
steps+=(
"Update VS Code to $VERSION" "update_vscode"
"Update VS Code to $target_vscode_version" "update_vscode"
"Refresh VS Code patches" "refresh_patches"
"Set Node version to $target_node_version" "update_node"
"Update CSP webview hash" "update_csp"