Skip to content

fix(dist): exclude stitch-panel from cargo-dist releases #3

fix(dist): exclude stitch-panel from cargo-dist releases

fix(dist): exclude stitch-panel from cargo-dist releases #3

name: Container (panel)
# The admin panel image. Separate from the bot image so a frontend change doesn't
# rebuild and republish the bot, and so a broken panel build can never hold up a
# bot release.
on:
pull_request:
paths:
- '.github/workflows/container-panel.yml'
- 'Cargo.lock'
- 'Cargo.toml'
- 'Dockerfile.panel'
- '.dockerignore'
- 'src/**'
- 'web/**'
push:
branches: [main]
paths:
- '.github/workflows/container-panel.yml'
- 'Cargo.lock'
- 'Cargo.toml'
- 'Dockerfile.panel'
- '.dockerignore'
- 'src/**'
- 'web/**'
workflow_dispatch:
permissions:
contents: read
packages: write
concurrency:
group: container-panel-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: docker/setup-buildx-action@v4
- name: Log in to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@v6
with:
images: ghcr.io/textile-protocol/textile-stitch-panel
tags: |
type=sha,prefix=sha-
type=raw,value=latest,enable={{is_default_branch}}
type=ref,event=branch
type=ref,event=pr
- name: Build container image
uses: docker/build-push-action@v6
with:
context: .
file: Dockerfile.panel
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha,scope=panel
# Only write the shared build cache from trusted (non-PR) runs. A PR can
# run arbitrary code during the build; letting it populate the gha cache
# would let it poison a layer later consumed by the main publish build.
cache-to: ${{ github.event_name != 'pull_request' && 'type=gha,mode=max,scope=panel' || '' }}