name: ci on: [push] jobs: fmt: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Run ./ci/steps/fmt.sh uses: ./ci/container with: args: ./ci/steps/fmt.sh lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Run ./ci/steps/lint.sh uses: ./ci/container with: args: ./ci/steps/lint.sh test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Run ./ci/steps/test.sh uses: ./ci/container with: args: ./ci/steps/test.sh release: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Run ./ci/steps/release.sh uses: ./ci/container with: args: ./ci/steps/release.sh - name: Upload npm package artifact uses: actions/upload-artifact@v2 with: name: npm-package path: ./release-npm-package linux-amd64: needs: release runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Download npm package uses: actions/download-artifact@v2 with: name: npm-package path: ./release-npm-package - name: Run ./ci/steps/release-standalone.sh uses: ./ci/container with: args: ./ci/steps/release-standalone.sh - name: Upload release artifacts uses: actions/upload-artifact@v2 with: name: release-packages path: ./release-packages linux-arm64: needs: release runs-on: ubuntu-arm64-latest steps: - uses: actions/checkout@v1 - name: Download npm package uses: actions/download-artifact@v2 with: name: npm-package path: ./release-npm-package - name: Run ./ci/steps/release-standalone.sh uses: ./ci/container/arm64 with: args: ./ci/steps/release-standalone.sh - name: Upload release artifacts uses: actions/upload-artifact@v2 with: name: release-packages path: ./release-packages macos-amd64: needs: release runs-on: macos-latest steps: - uses: actions/checkout@v1 - name: Download npm package uses: actions/download-artifact@v2 with: name: npm-package path: ./release-npm-package - run: brew unlink node@12 - run: brew install node - run: ./ci/steps/release-standalone.sh env: # Otherwise we get rate limited when fetching the ripgrep binary. # For whatever reason only MacOS needs it. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload release artifacts uses: actions/upload-artifact@v2 with: name: release-packages path: ./release-packages docker-amd64: runs-on: ubuntu-latest needs: linux-amd64 steps: - uses: actions/checkout@v1 - name: Download release package uses: actions/download-artifact@v2 with: name: release-packages path: ./release-packages - name: Run ./ci/steps/build-docker-image.sh uses: ./ci/container with: args: ./ci/steps/build-docker-image.sh - name: Upload release image uses: actions/upload-artifact@v2 with: name: release-images path: ./release-images docker-arm64: runs-on: ubuntu-arm64-latest needs: linux-arm64 steps: - uses: actions/checkout@v1 - name: Download release package uses: actions/download-artifact@v2 with: name: release-packages path: ./release-packages - name: Run ./ci/steps/build-docker-image.sh uses: ./ci/container/arm64 with: args: ./ci/steps/build-docker-image.sh - name: Upload release image uses: actions/upload-artifact@v2 with: name: release-images path: ./release-images