Small fixes for tests and CI #4474
Workflow file for this run
This file contains 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: Test | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
check: | |
name: "Check" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: "Check that distribution files are unmodified" | |
if: github.event_name == 'pull_request' | |
run: | | |
if git --no-pager diff --name-only $(git rev-parse origin/${{ github.base_ref }})...${{ github.sha }} | grep -q "^dist/"; then | |
printf "\nThe pull request modifies distribution files, but it shouldn't.\n" && | |
printf "Please see https://github.com/AssemblyScript/assemblyscript/blob/main/CONTRIBUTING.md\n" && | |
exit 1; | |
else | |
printf "\nOK: Distributions files have not been modified.\n"; | |
fi | |
compiler: | |
name: "Compiler (${{ matrix.os }}, node ${{ matrix.node_version }})" | |
runs-on: ${{ matrix.os }}-latest | |
needs: check | |
strategy: | |
matrix: | |
os: ["ubuntu", "macos", "windows"] | |
node_version: ["current", "lts_latest"] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dcodeIO/setup-node-nvm@master | |
with: | |
node-version: ${{ matrix.node_version }} | |
- name: Install dependencies | |
run: npm ci --no-audit | |
- name: Build | |
run: npm run build | |
- name: Check | |
run: npm run check | |
- name: Test | |
run: npm test | |
compiler-bun: | |
name: "Compiler with Bun" | |
runs-on: ubuntu-latest | |
needs: check | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Bun | |
uses: oven-sh/setup-bun@v1 | |
- name: Install dependencies | |
run: bun install | |
- name: Build | |
run: bun run scripts/build | |
- name: Test | |
run: | | |
bun run ./tests/parser.js && | |
bun run ./tests/compiler.js && | |
bun run ./tests/browser.js && | |
bun run ./tests/asconfig.js && | |
bun run ./tests/transform.js | |
bootstrap: | |
name: "Bootstrap (${{ matrix.target }})" | |
runs-on: ubuntu-latest | |
needs: check | |
strategy: | |
matrix: | |
target: ["debug", "release"] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dcodeIO/setup-node-nvm@master | |
with: | |
node-version: current | |
- name: Install dependencies | |
run: npm ci --no-audit | |
- name: Build | |
run: npm run build | |
- name: "Bootstrap ${{ matrix.target }}" | |
run: npm run bootstrap:${{ matrix.target }} | |
- name: "Test ${{ matrix.target }}" | |
run: npm run test:compiler -- --wasm build/assemblyscript.${{ matrix.target }}-bootstrap.js | |
- name: "Compile ${{ matrix.target }} -> ${{ matrix.target == 'debug' && 'release' || 'debug' }}" | |
run: node bin/asc --config src/asconfig.json --target ${{ matrix.target == 'debug' && 'release' || 'debug' }}-bootstrap --wasm ./build/assemblyscript.${{ matrix.target }}-bootstrap.js | |
- name: "Test ${{ matrix.target == 'debug' && 'release' || 'debug' }}" | |
run: npm run test:compiler -- --wasm build/assemblyscript.${{ matrix.target == 'debug' && 'release' || 'debug' }}-bootstrap.js | |
features: | |
name: "Features" | |
runs-on: ubuntu-latest | |
needs: check | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dcodeIO/setup-node-nvm@master | |
with: | |
node-mirror: https://nodejs.org/download/v8-canary/ | |
node-version: 21.0.0-v8-canary20230419061e93e884 | |
- name: Install dependencies | |
run: npm ci --no-audit | |
- name: Build | |
run: npm run build | |
- name: Test experimental features | |
env: | |
ASC_FEATURES: threads,reference-types,gc,exception-handling | |
run: | | |
npm run test:compiler features/threads features/reference-types features/gc features/exception-handling bindings/esm bindings/raw | |
runtimes: | |
name: "Runtimes" | |
runs-on: ubuntu-latest | |
needs: check | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dcodeIO/setup-node-nvm@master | |
with: | |
node-version: current | |
- name: Install dependencies | |
run: npm ci --no-audit | |
- name: Build | |
run: npm run build | |
- name: Test default allocator | |
run: | | |
cd tests/allocators/default | |
npm run build | |
cd .. | |
npm test default | |
- name: Test stub allocator | |
run: | | |
cd tests/allocators/stub | |
npm run build | |
cd .. | |
npm test stub | |
loader: | |
name: "Loader" | |
runs-on: ubuntu-latest | |
needs: check | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dcodeIO/setup-node-nvm@master | |
with: | |
node-version: current | |
- name: Install dependencies | |
run: npm ci --no-audit | |
- name: Build | |
run: npm run build | |
- name: Test the loader | |
run: | | |
cd lib/loader | |
npm run asbuild | |
npm run test |