feat: support type infer for class memeber #4761
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/*"] | |
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: Check | |
run: npm run check | |
- name: Test | |
run: npm test | |
bootstrap: | |
name: "Bootstrap (${{ matrix.target }})" | |
runs-on: ubuntu-latest | |
needs: check | |
strategy: | |
matrix: | |
target: ["debug", "release"] | |
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: "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: 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 |