name: Build on: push: branches: - main pull_request: workflow_dispatch: jobs: build: runs-on: ubuntu-latest env: EMSCRIPTEN_VERSION: '2.0.17' steps: - uses: actions/checkout@v3 - name: Set up Node uses: actions/setup-node@v3 with: node-version: '18' - name: Install Emscripten uses: mymindstorm/setup-emsdk@v12 with: version: ${{ env.EMSCRIPTEN_VERSION }} - name: Install dependencies run: npm install - name: Generate parser run: npm run generate - name: Verify that generated parser matches the repository run: | diff=`git diff HEAD -- src` echo "$diff" test -z "$diff" - name: Run tests run: npm test - name: Build WASM binary run: npm run build-wasm - name: Upload WASM binary uses: actions/upload-artifact@v3 with: name: tree-sitter-kotlin.wasm path: ./tree-sitter-kotlin.wasm - name: Set up Rust uses: actions-rs/toolchain@v1 with: toolchain: stable - name: Build and test crate uses: actions-rs/cargo@v1 with: command: test