Revert "refactor: move unit tests to separate job"
This reverts commit 6c87b540b4
.
This commit is contained in:
parent
917d92ef52
commit
6ad5d9a7c3
62
.github/workflows/build.yaml
vendored
62
.github/workflows/build.yaml
vendored
@ -182,55 +182,6 @@ jobs:
|
|||||||
if: failure()
|
if: failure()
|
||||||
uses: andymckay/cancel-action@0.2
|
uses: andymckay/cancel-action@0.2
|
||||||
|
|
||||||
test-unit:
|
|
||||||
name: Run unit tests
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
timeout-minutes: 5
|
|
||||||
steps:
|
|
||||||
- name: Checkout repo
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Get changed files
|
|
||||||
id: changed-files
|
|
||||||
uses: tj-actions/changed-files@v23.2
|
|
||||||
with:
|
|
||||||
files: |
|
|
||||||
src/**
|
|
||||||
|
|
||||||
- name: Install Node.js v16
|
|
||||||
if: steps.changed-files.outputs.any_changed == 'true'
|
|
||||||
uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: "16"
|
|
||||||
|
|
||||||
- name: Fetch dependencies from cache
|
|
||||||
if: steps.changed-files.outputs.any_changed == 'true'
|
|
||||||
id: cache-yarn
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: "node_modules"
|
|
||||||
key: yarn-build-${{ hashFiles('yarn.lock') }}
|
|
||||||
restore-keys: |
|
|
||||||
yarn-build-
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
if: steps.changed-files.outputs.any_changed == 'true' && steps.cache-yarn.outputs.cache-hit != 'true'
|
|
||||||
run: SKIP_SUBMODULE_DEPS=1 yarn --frozen-lockfile
|
|
||||||
|
|
||||||
- name: Run unit tests
|
|
||||||
if: steps.changed-files.outputs.any_changed == 'true'
|
|
||||||
run: yarn test:unit
|
|
||||||
|
|
||||||
- name: Upload coverage report to Codecov
|
|
||||||
uses: codecov/codecov-action@v3
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.CODECOV_TOKEN }}
|
|
||||||
if: success()
|
|
||||||
|
|
||||||
- name: Fail workflow
|
|
||||||
if: failure()
|
|
||||||
uses: andymckay/cancel-action@0.2
|
|
||||||
|
|
||||||
typecheck:
|
typecheck:
|
||||||
name: Check TypeScript types
|
name: Check TypeScript types
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -341,6 +292,19 @@ jobs:
|
|||||||
if: steps.cache-vscode.outputs.cache-hit != 'true'
|
if: steps.cache-vscode.outputs.cache-hit != 'true'
|
||||||
run: yarn build:vscode
|
run: yarn build:vscode
|
||||||
|
|
||||||
|
# Our code imports code from VS Code's `out` directory meaning VS Code
|
||||||
|
# must be built before running these tests.
|
||||||
|
# TODO: Move to its own step?
|
||||||
|
- name: Run code-server unit tests
|
||||||
|
run: yarn test:unit
|
||||||
|
if: success()
|
||||||
|
|
||||||
|
- name: Upload coverage report to Codecov
|
||||||
|
uses: codecov/codecov-action@v3
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.CODECOV_TOKEN }}
|
||||||
|
if: success()
|
||||||
|
|
||||||
# The release package does not contain any native modules
|
# The release package does not contain any native modules
|
||||||
# and is neutral to architecture/os/libc version.
|
# and is neutral to architecture/os/libc version.
|
||||||
- name: Create release package
|
- name: Create release package
|
||||||
|
31
ci/dev/test-unit.sh
Executable file
31
ci/dev/test-unit.sh
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
main() {
|
||||||
|
cd "$(dirname "$0")/../.."
|
||||||
|
|
||||||
|
source ./ci/lib.sh
|
||||||
|
|
||||||
|
# Our code imports from `out` in order to work during development but if you
|
||||||
|
# have only built for production you will have not have this directory. In
|
||||||
|
# that case symlink `out` to a production build directory.
|
||||||
|
if [[ ! -e lib/vscode/out ]]; then
|
||||||
|
pushd lib
|
||||||
|
local out=(vscode-reh-web-*)
|
||||||
|
if [[ -d "${out[0]}" ]]; then
|
||||||
|
ln -s "../${out[0]}/out" ./vscode/out
|
||||||
|
else
|
||||||
|
echo "Could not find lib/vscode/out or lib/vscode-reh-web-*"
|
||||||
|
echo "Code must be built before running unit tests"
|
||||||
|
# exit 1
|
||||||
|
fi
|
||||||
|
popd
|
||||||
|
fi
|
||||||
|
|
||||||
|
# We must keep jest in a sub-directory. See ../../test/package.json for more
|
||||||
|
# information. We must also run it from the root otherwise coverage will not
|
||||||
|
# include our source files.
|
||||||
|
CS_DISABLE_PLUGINS=true ./test/node_modules/.bin/jest "$@" --testRegex "./test/unit/.*ts" --testPathIgnorePatterns "./test/unit/node/test-plugin"
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
@ -17,7 +17,7 @@
|
|||||||
"release:prep": "./ci/build/release-prep.sh",
|
"release:prep": "./ci/build/release-prep.sh",
|
||||||
"test:e2e": "VSCODE_IPC_HOOK_CLI= ./ci/dev/test-e2e.sh",
|
"test:e2e": "VSCODE_IPC_HOOK_CLI= ./ci/dev/test-e2e.sh",
|
||||||
"test:e2e:proxy": "USE_PROXY=1 ./ci/dev/test-e2e.sh",
|
"test:e2e:proxy": "USE_PROXY=1 ./ci/dev/test-e2e.sh",
|
||||||
"test:unit": "CS_DISABLE_PLUGINS=true ./test/node_modules/.bin/jest --testRegex './test/unit/.*ts' --forceExit --detectOpenHandles",
|
"test:unit": "./ci/dev/test-unit.sh --forceExit --detectOpenHandles",
|
||||||
"test:integration": "./ci/dev/test-integration.sh",
|
"test:integration": "./ci/dev/test-integration.sh",
|
||||||
"test:scripts": "./ci/dev/test-scripts.sh",
|
"test:scripts": "./ci/dev/test-scripts.sh",
|
||||||
"package": "./ci/build/build-packages.sh",
|
"package": "./ci/build/build-packages.sh",
|
||||||
|
Reference in New Issue
Block a user