V48 (impl-only): Fix claim-anchor asterisks #12
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Pipeliner Image | |
| # Build (and optionally push) Pipeliner — VCR appliance for sandbox deposit/read. | |
| # VCR: vcr.vercel.com/gerald-davis-projects/bitcode/pipeliner | |
| on: | |
| push: | |
| branches: | |
| - version/** | |
| - main | |
| paths: | |
| - 'images/pipeliner/**' | |
| - 'packages/pipeline-hosts/**' | |
| - 'packages/host-generics/**' | |
| - 'packages/asset-packs-pipelines/**' | |
| - 'packages/pipelines-generics/**' | |
| - 'packages/btd/**' | |
| - 'pnpm-lock.yaml' | |
| - '.github/workflows/pipeline-image.yml' | |
| workflow_dispatch: | |
| inputs: | |
| push_to_vcr: | |
| description: 'Push Pipeliner image to VCR (requires secrets)' | |
| required: false | |
| default: 'false' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| materialize-and-build: | |
| name: Materialize runners + Docker build | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 45 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '24' | |
| cache: pnpm | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Materialize Pipeliner runners | |
| run: pnpm --filter @bitcode/pipeline-image run materialize | |
| - name: Pipeliner unit test | |
| run: pnpm --filter @bitcode/pipeline-image test | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Build Pipeliner image (local tag) | |
| env: | |
| PIPELINER: vcr.vercel.com/gerald-davis-projects/bitcode/pipeliner | |
| run: | | |
| SHORT_SHA="$(echo "$GITHUB_SHA" | cut -c1-7)" | |
| docker build \ | |
| -f images/pipeliner/Dockerfile \ | |
| -t "${PIPELINER}:ci-${SHORT_SHA}" \ | |
| -t "${PIPELINER}:latest" \ | |
| . | |
| - name: Log in to VCR and push Pipeliner | |
| if: ${{ github.event_name == 'workflow_dispatch' && inputs.push_to_vcr == 'true' }} | |
| env: | |
| VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} | |
| VERCEL_TEAM_ID: ${{ secrets.VERCEL_TEAM_ID }} | |
| PIPELINER: vcr.vercel.com/gerald-davis-projects/bitcode/pipeliner | |
| run: | | |
| if [ -z "$VERCEL_TOKEN" ] || [ -z "$VERCEL_TEAM_ID" ]; then | |
| echo "Missing VERCEL_TOKEN or VERCEL_TEAM_ID" >&2 | |
| exit 1 | |
| fi | |
| printf '%s' "$VERCEL_TOKEN" | docker login vcr.vercel.com \ | |
| --username "$VERCEL_TEAM_ID" \ | |
| --password-stdin | |
| SHORT_SHA="$(echo "$GITHUB_SHA" | cut -c1-7)" | |
| docker tag "${PIPELINER}:ci-${SHORT_SHA}" "${PIPELINER}:v48-${SHORT_SHA}" | |
| docker push --all-tags "${PIPELINER}" | |
| echo "Pushed ${PIPELINER}:latest and ${PIPELINER}:v48-${SHORT_SHA}" | |
| echo "Set Production BITCODE_PIPELINE_SANDBOX_IMAGE=${PIPELINER}:v48-${SHORT_SHA}" |