name: 'build-test' on: # rebuild any PRs and main branch changes pull_request: push: branches: - main - 'releases/*' workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref_name }} cancel-in-progress: true jobs: build: # make sure build/ci work properly runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: | npm install - run: | npm run all test: # make sure the action works on a clean machine without building strategy: fail-fast: false matrix: include: - name: ubuntu runs-on: ubuntu-latest - name: macos runs-on: macos-latest - name: windows runs-on: windows-latest - name: alpine runs-on: ubuntu-latest container: alpine:latest requirements: apk add --no-cache curl bash name: ${{ matrix.name }} runs-on: ${{ matrix.runs-on }} container: ${{ matrix.container }} steps: - name: Install requirements if: ${{ matrix.requirements }} run: ${{ matrix.requirements }} - uses: actions/checkout@v4 - name: Setup mise uses: ./ with: mise_toml: | [tools] jq = "1.7.1" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: mise --version - run: mise x jq -- jq --version - run: which jq - run: jq --version - run: . scripts/test.sh shell: bash specific_version: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup mise uses: ./ with: cache_save: ${{ github.ref_name == 'main' }} cache_key_prefix: mise-v1 version: 2024.9.6 install_args: bun mise_toml: | [tools] bun = "1" - run: which bun - run: bun -v