name: 'build-test' on: pull_request: push: branches: - main permissions: contents: read defaults: run: shell: bash jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - uses: actions/setup-node@v4 with: node-version-file: .node-version cache: npm - run: npm ci - run: npm run all - id: diff run: | if [ ! -d dist/ ]; then echo "Expected dist/ directory does not exist. See status below:" ls -la ./ exit 1 fi if [ "$(git diff --ignore-space-at-eol --text dist/ | wc -l)" -gt "0" ]; then echo "Detected uncommitted changes after build. See status below:" git diff --ignore-space-at-eol --text dist/ exit 1 fi # Upload the mismatched version as a workflow artifact. - if: ${{ failure() && steps.diff.outcome == 'failure' }} uses: actions/upload-artifact@v4 with: name: dist path: dist/ test: runs-on: ${{ matrix.os }} strategy: matrix: os: [macos-latest, windows-latest, ubuntu-latest] version: [1.0.0, latest] steps: - uses: actions/checkout@v5 - uses: ./ with: version: ${{ matrix.version }} - run: supabase -h check: if: ${{ always() && github.event.pull_request }} runs-on: ubuntu-latest needs: [test] steps: - run: | result="${{ needs.test.result }}" [[ $result == "success" || $result == "skipped" ]]