chore(deps): bump mocha from 11.5.0 to 11.6.0 #2517
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: " 🧪 build-test" | |
on: # rebuild any PRs and main branch changes | |
workflow_dispatch: | |
pull_request: | |
push: | |
branches: | |
- main | |
jobs: | |
download-vscode: | |
runs-on: ubuntu-latest | |
outputs: | |
download_result: ${{ steps.download.outputs.download_result }} | |
vscode_path: ${{ fromJson(steps.download.outputs.download_result).vscodeExecutablePath }} | |
cache_key: ${{ steps.cache-key.outputs.value }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
# http://man7.org/linux/man-pages/man1/date.1.html | |
- name: Get Date | |
id: get-date | |
run: | | |
echo "date=$(/bin/date -u "+%Y%m%d")" >> $GITHUB_OUTPUT | |
shell: bash | |
- name: Key Base | |
id: key-base | |
uses: streetsidesoftware/actions/public/output@v1 | |
with: | |
value: vscode-download-cache-${{ runner.os }}- | |
- name: Calc Key | |
id: cache-key | |
uses: streetsidesoftware/actions/public/output@v1 | |
with: | |
value: "${{ steps.key-base.outputs.value }}${{ steps.get-date.outputs.date }}" | |
- name: Cache Download | |
id: cache-download | |
uses: actions/[email protected] | |
with: | |
key: ${{ steps.cache-key.outputs.value }} | |
path: .vscode-test | |
- name: Install | |
run: npm i | |
- name: Download | |
id: download | |
run: | | |
echo download_result=$(node ./test-runner/download-vscode.mjs) >> $GITHUB_OUTPUT | |
- name: Summary | |
uses: streetsidesoftware/actions/public/summary@v1 | |
with: | |
text: | | |
## Downloaded VSCode | |
- Cache Key: ${{ steps.cache-key.outputs.value }} | |
- Cache Hit: ${{ toJson(steps.cache-download.outputs) }} | |
- Download Result: ${{ steps.download.outputs.download_result }} | |
# - Event: | |
# ```json | |
# ${{ toJson(github.event) }} | |
# ``` | |
list_extensions: | |
runs-on: ubuntu-latest | |
outputs: | |
extension_list: ${{ steps.get-extensions.outputs.extensions_from_script }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: From Script | |
id: get-extensions | |
run: | | |
echo extensions_from_script=$(./scripts/list-extensions.sh) >> $GITHUB_OUTPUT | |
- name: Summary | |
uses: streetsidesoftware/actions/public/summary@v1 | |
with: | |
text: | | |
### List Extensions | |
``` | |
${{ steps.get-extensions.outputs.extensions_from_script }} | |
``` | |
build-test: | |
runs-on: ubuntu-latest | |
needs: | |
- list_extensions | |
- download-vscode | |
strategy: | |
matrix: | |
extension_dir: ${{ fromJSON(needs.list_extensions.outputs.extension_list) }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: .tool-versions | |
cache: npm | |
- name: Cache Download | |
id: cache-download | |
uses: actions/[email protected] | |
with: | |
key: ${{ needs.download-vscode.outputs.cache_key }} | |
path: .vscode-test | |
fail-on-cache-miss: true | |
- run: npm install | |
- run: | | |
cd ${{ matrix.extension_dir }} | |
npm run pack-extension | |
npm run test:cspell | |
- name: Run Test Linux | |
if: runner.os == 'Linux' | |
run: | | |
cd ${{ matrix.extension_dir }} | |
xvfb-run -a npm run test:vscode -- --vscode-path ${{ needs.download-vscode.outputs.vscode_path }} | |
- name: Run Test Windows and MacOS | |
if: runner.os != 'Linux' | |
run: | | |
cd ${{ matrix.extension_dir }} | |
npm run test:vscode -- --vscode-path ${{ needs.download-vscode.outputs.vscode_path }} | |
# Run the spell checker on all the samples using the extension's settings. | |
# This will help with dictionary updates. | |
check-samples: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: .tool-versions | |
cache: npm | |
- run: npm install | |
- name: Check Samples | |
run: | | |
npm run test:cspell |