Add installer integration tests
This commit is contained in:
parent
723a2745f6
commit
c31e72fb7b
4
.github/workflows/ci.yaml
vendored
4
.github/workflows/ci.yaml
vendored
@ -1,4 +1,4 @@
|
|||||||
name: ci
|
name: Build
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@ -16,7 +16,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
prebuild:
|
prebuild:
|
||||||
name: Pre-Build checks
|
name: Pre-build checks
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 5
|
timeout-minutes: 5
|
||||||
env:
|
env:
|
||||||
|
39
.github/workflows/installer.yml
vendored
Normal file
39
.github/workflows/installer.yml
vendored
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
name: Installer integration
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- "installer.sh"
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
ubuntu:
|
||||||
|
name: Test installer on Ubuntu
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Install code-server
|
||||||
|
run: ./install.sh
|
||||||
|
|
||||||
|
- name: Test code-server
|
||||||
|
run: yarn test:standalone-release code-server
|
||||||
|
|
||||||
|
macos:
|
||||||
|
name: Test installer on macOS
|
||||||
|
runs-on: macos-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Install code-server
|
||||||
|
run: ./install.sh
|
||||||
|
|
||||||
|
- name: Test code-server
|
||||||
|
run: yarn test:standalone-release code-server
|
@ -1,7 +1,9 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
# Makes sure the release works.
|
# Make sure a code-server release works. You can pass in the path otherwise it
|
||||||
|
# will use release-standalone in the current directory.
|
||||||
|
#
|
||||||
# This is to make sure we don't have Node version errors or any other
|
# This is to make sure we don't have Node version errors or any other
|
||||||
# compilation-related errors.
|
# compilation-related errors.
|
||||||
main() {
|
main() {
|
||||||
@ -10,12 +12,14 @@ main() {
|
|||||||
local EXTENSIONS_DIR
|
local EXTENSIONS_DIR
|
||||||
EXTENSIONS_DIR="$(mktemp -d)"
|
EXTENSIONS_DIR="$(mktemp -d)"
|
||||||
|
|
||||||
echo "Testing standalone release."
|
local path=${1:-./release-standalone/bin/code-server}
|
||||||
|
|
||||||
# Note: using a basic theme extension because it doesn't update often and is more reliable for testing
|
echo "Testing standalone release in $path."
|
||||||
./release-standalone/bin/code-server --extensions-dir "$EXTENSIONS_DIR" --install-extension wesbos.theme-cobalt2
|
|
||||||
|
# NOTE: using a basic theme extension because it doesn't update often and is more reliable for testing
|
||||||
|
"$path" --extensions-dir "$EXTENSIONS_DIR" --install-extension wesbos.theme-cobalt2
|
||||||
local installed_extensions
|
local installed_extensions
|
||||||
installed_extensions="$(./release-standalone/bin/code-server --extensions-dir "$EXTENSIONS_DIR" --list-extensions 2>&1)"
|
installed_extensions="$("$path" --extensions-dir "$EXTENSIONS_DIR" --list-extensions 2>&1)"
|
||||||
# We use grep as wesbos.theme-cobalt2 may have dependency extensions that change.
|
# We use grep as wesbos.theme-cobalt2 may have dependency extensions that change.
|
||||||
if ! echo "$installed_extensions" | grep -q "wesbos.theme-cobalt2"; then
|
if ! echo "$installed_extensions" | grep -q "wesbos.theme-cobalt2"; then
|
||||||
echo "Unexpected output from listing extensions:"
|
echo "Unexpected output from listing extensions:"
|
||||||
|
Reference in New Issue
Block a user