Skip to content

chore: remove the requirement of bootstrap (#4) #18

chore: remove the requirement of bootstrap (#4)

chore: remove the requirement of bootstrap (#4) #18

Workflow file for this run

name: Test
on:
push:
branches:
- next
pull_request:
jobs:
check:
name: "Check"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
if: github.event_name == 'pull_request'
with:
node-version: latest
- name: Install dependencies
run: npm ci --no-audit
- 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
- name: Build
run: npm run build
- name: Check repo
run: npm run check
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/*"]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node_version }}
- name: Install dependencies
run: npm ci --no-audit
- name: Build
run: npm run build
- name: Test
run: npm test
features:
name: "Features"
runs-on: ubuntu-latest
needs: check
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 21-v8-canary
- 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: actions/setup-node@v3
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: actions/setup-node@v3
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
coverage:
name: "Coverage"
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: Collect coverage
run: npx c8 -r none -- npm test
- name: Output coverage summary
run: npx c8 report -r text-summary