fix(devcontainer-base): validate base updates before publishing #60
Workflow file for this run
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: Build Devcontainer Base Image | |
| on: # yamllint disable-line rule:truthy | |
| pull_request: | |
| branches: | |
| - main | |
| paths: | |
| - .github/workflows/image-devcontainer-base.yml | |
| - images/devcontainer-base/** | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - .github/workflows/image-devcontainer-base.yml | |
| - images/devcontainer-base/** | |
| schedule: | |
| - cron: "0 0 * * 0" # Triggers every Sunday at midnight UTC | |
| concurrency: | |
| cancel-in-progress: true | |
| group: devcontainer-base-${{ github.ref }} | |
| jobs: | |
| build-container: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| packages: write | |
| steps: | |
| - name: Checkout Repo | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - name: Login to GitHub Container Registry | |
| uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Generate Metadata | |
| uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 # v6.2.0 | |
| id: metadata | |
| with: | |
| images: ghcr.io/${{ github.repository_owner }}/devcontainer-base | |
| - name: Build Candidate Image | |
| uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0 | |
| with: | |
| context: images/devcontainer-base | |
| file: images/devcontainer-base/Containerfile | |
| load: true | |
| push: false | |
| tags: ghcr.io/${{ github.repository_owner }}/devcontainer-base:latest | |
| - name: Select Candidate Image | |
| run: | | |
| sed -i \ | |
| 's|^FROM ghcr.io/marinatedconcrete/devcontainer-base:latest.*$|FROM ghcr.io/marinatedconcrete/devcontainer-base:latest|' \ | |
| .devcontainer/Containerfile | |
| - name: Validate Downstream Checks | |
| uses: devcontainers/ci@513af61f4de4f75d37e4438f184ba4358f0fc1ca # v0.3.1900000450 | |
| with: | |
| cacheFrom: ghcr.io/marinatedconcrete/config-devcontainer | |
| env: | | |
| CI=1 | |
| imageName: config-devcontainer-candidate | |
| push: never | |
| runCmd: just check-format && just lint && just test | |
| - name: Push Tested Image | |
| if: github.event_name != 'pull_request' | |
| run: docker push ghcr.io/${{ github.repository_owner }}/devcontainer-base:latest |