name: Continuous integration on: [push, pull_request] jobs: test: name: Test strategy: matrix: os: [macos-latest, ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v4 - name: Install Node.js uses: actions/setup-node@v4.2.0 with: node-version: 16.x - name: Install dependencies run: npm install - name: Run headless test uses: coactions/setup-xvfb@v1 with: run: | npm run compile npm test build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install Node.js uses: actions/setup-node@v4.2.0 with: node-version: 16.x - name: Install dependencies run: npm install - name: Lint and build extension run: | npm run lint npm run package -- --out godot-tools.vsix ls -l godot-tools.vsix - name: Upload extension VSIX uses: actions/upload-artifact@v4.6.0 with: name: godot-tools path: godot-tools.vsix