name: "Devcontainer" on: push: branches: - main pull_request: paths: - ".devcontainer/**" permissions: {} # Only allow one run of the workflow per branch / PR at a time. concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: build: name: "Build devcontainer" runs-on: ubuntu-24.04 permissions: contents: read packages: read steps: - name: Checkout sources uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: persist-credentials: false - name: Login to GitHub Container Registry uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - name: Pre-build dev container image uses: devcontainers/ci@513af61f4de4f75d37e4438f184ba4358f0fc1ca # v0.3.1900000450 with: imageName: ghcr.io/reubeno/brush/devcontainer imageTag: latest cacheFrom: ghcr.io/reubeno/brush/devcontainer push: never build_and_publish: name: "Build and publish devcontainer" runs-on: ubuntu-24.04 permissions: contents: read packages: write steps: - name: Checkout sources uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: persist-credentials: false - name: Login to GitHub Container Registry uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - name: Pre-build dev container image uses: devcontainers/ci@513af61f4de4f75d37e4438f184ba4358f0fc1ca # v0.3.1900000450 with: imageName: ghcr.io/reubeno/brush/devcontainer imageTag: latest cacheFrom: ghcr.io/reubeno/brush/devcontainer push: filter refFilterForPush: refs/heads/main eventFilterForPush: push