Skip to content

VSCode Servers

VSCode Servers #507

name: VSCode Servers
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * 2,4,6'
jobs:
build-main-images:
name: VSCode Main
runs-on: [ ubuntu-24.04 ]
steps:
- uses: actions/checkout@v4
with:
clean: true
show-progress: true
submodules: true
- name: Log into docker registry
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin
- name: Log into Quay.IO registry
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}"
- name: Check buildah
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: buildah --version
- name: Test Make
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: make
- name: Install requirements.txt
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: make pip
- name: Build and Deploy VSCode Server Latest
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: cd linux/advanced/vscode-server/latest && pwd && make build && make deploy
- name: Build and Deploy VSCode Server CPP
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: cd linux/advanced/vscode-server/cpp && pwd && make build && make deploy
build-other-images:
name: VSCode ${{ matrix.image.type }} ${{ matrix.image.version || '' }}
runs-on: [ ubuntu-24.04 ]
needs: build-main-images
strategy:
matrix:
image: [
# AMXX versions
{type: 'amxx', version: '1.9', path: 'amxx/1.9'},
{type: 'amxx', version: '1.10', path: 'amxx/1.10'},
# Other single-version images
{type: 'android', path: 'android'},
{type: 'nodejs', path: 'nodejs'},
{type: 'docker', path: 'docker'},
{type: 'dotnet', path: 'dotnet'},
{type: 'dotnet-full', path: 'dotnet-full'},
{type: 'mono', path: 'mono'}
]
steps:
- uses: actions/checkout@v4
with:
clean: true
show-progress: true
submodules: true
- name: Log into docker registry
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin
- name: Log into Quay.IO registry
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}"
- name: Check buildah
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: buildah --version
- name: Test Make
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: make
- name: Install requirements.txt
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: make pip
- name: Build and Deploy VSCode Server ${{ matrix.image.type }} ${{ matrix.image.version || '' }}
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: cd linux/advanced/vscode-server/${{ matrix.image.path }} && pwd && make build && make deploy
- name: Cleanup
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 45
timeout_minutes: 600
max_attempts: 15
command: make clean