Skip to content

fix docker manifest create call (#45) #97

fix docker manifest create call (#45)

fix docker manifest create call (#45) #97

Workflow file for this run

name: 'Validate DevContainer'
description: 'This workflow is checking that updates do not break stuff. If on main branch, publish to "latest" tag.'
on:
pull_request:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
build:
name: 'Check, Build, Test, Publish DevContainer'
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
id-token: write
steps:
- name: Checkout (GitHub)
uses: actions/checkout@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# Use .devcontainer from THIS repo for building and testing
- name: Check, Build, Test
uses: devcontainers/ci@v0.3
with:
# The .devcontainer is never published as pre-built container.
# We want to only use it for building and testing the actual container, which resides in src/s-core-devcontainer.
push: "never"
runCmd: |
# Check
pre-commit run --show-diff-on-failure --color=always --all-files || exit -1
# Create builder for multi-arch builds
./scripts/create_builder.sh
# Build
./scripts/build.sh
# Test
./scripts/test.sh
# Upload devcontainer from src/s-core-devcontainer
- name: Publish
uses: devcontainers/ci@v0.3
if: github.ref == 'refs/heads/main'
with:
# We do not use the push feature of devcontainers/ci here, since that would push the wrong container.
# Instead, we use the publish script which pushes the correct container (residing in src/s-core-devcontainer).
push: "never"
runCmd: |
# manually login to ghcr.io for publishing
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
./scripts/publish.sh "main"