name: Install on: pull_request: paths: - ".github/workflows/install.yml" - "package.json" - "scripts/**" push: branches: - develop paths: - ".github/workflows/install.yml" - "package.json" - "scripts/**" permissions: contents: read jobs: pack: runs-on: ubuntu-latest permissions: contents: read steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - run: | jq -c '.version = "1.28.0"' package.json > tmp.$$.json mv tmp.$$.json package.json npm pack - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: installer path: supabase-1.28.0.tgz npm: needs: pack strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: installer - run: npm init -y - run: npm i --save-dev ./supabase-1.28.0.tgz - run: npx --no-install supabase --version yarn: needs: pack strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: installer - run: yarn init -y - run: yarn add -D ./supabase-1.28.0.tgz - run: yarn supabase --version yarn_berry: needs: pack strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: installer - run: yarn set version berry # - run: yarn config set nodeLinker node-modules - run: yarn init -y # Yarn Berry 4.14+ disables install scripts by default (yarnpkg/berry#7089). # The supabase package relies on a postinstall script to fetch its binary, # so we opt in via YARN_ENABLE_SCRIPTS just for this install step (the # Yarn analog to pnpm's --allow-build=supabase). - run: yarn add -D ./supabase-1.28.0.tgz env: YARN_ENABLE_SCRIPTS: "true" - if: ${{ matrix.os != 'windows-latest' }} run: yarn supabase --version # Workaround for running extensionless executable on windows - if: ${{ matrix.os == 'windows-latest' }} run: | & "$(yarn bin supabase).exe" --version pnpm: needs: pack strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: installer - run: npm install -g pnpm - run: pnpm init # https://github.com/pnpm/pnpm/issues/9124#issuecomment-2663021284 - run: pnpm i --save-dev ./supabase-1.28.0.tgz --allow-build=supabase - run: pnpm supabase --version bun: needs: pack strategy: fail-fast: false matrix: # Bun build is experimental on windows os: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: installer - uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0 with: bun-version: latest - run: | echo '{"trustedDependencies": ["supabase"]}' > package.json - run: bun add -D ./supabase-1.28.0.tgz - run: bunx supabase --version