Skip to content

Makefile: build proto files unconditionally #146

Makefile: build proto files unconditionally

Makefile: build proto files unconditionally #146

Workflow file for this run

name: Publish Container Images
on:
push:
branches:
- main
tags:
- v[0-9]+.[0-9]+.[0-9]+
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
build-and-push:
name: Build and Push (${{ matrix.image }})
runs-on: ubuntu-latest
permissions:
packages: write
id-token: write
strategy:
matrix:
image: [
device-injector,
differ,
hook-injector,
logger,
network-device-injector,
network-logger,
template,
ulimit-adjuster,
v010-adapter,
]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install cosign
if: github.event_name != 'pull_request'
uses: sigstore/cosign-installer@v3
with:
cosign-release: 'v2.5.3'
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to registry
if: github.event_name == 'push'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Determine image tag name
id: tag
run: |
if [ "${{ github.ref_type }}" = "tag" ]; then
tag="${{ github.ref_name }}"
else
if [ "${{ github.event_name }}" = "pull_request" ]; then
tag="pr-${{ github.event.pull_request.number }}"
else
case "${{ github.ref_name }}" in
main)
tag="unstable"
;;
esac
fi
fi
if [ -z "$tag" ]; then
echo "ERROR: failed to determine image tag"
exit 1
fi
echo "TAG=ghcr.io/${{ github.repository }}/plugins/${{ matrix.image }}:$tag" >> $GITHUB_ENV
- name: Build and push image
id: build-and-push
uses: docker/build-push-action@v6
with:
context: .
file: ./plugins/Dockerfile
build-args: |
PLUGIN=${{ matrix.image }}
push: ${{ github.event_name == 'push' }}
platforms: ${{ github.event_name == 'push' && 'linux/amd64,linux/arm64' || 'linux/amd64' }}
tags: ${{ env.TAG }}
- name: Sign image
if: ${{ github.event_name != 'pull_request' }}
env:
DIGEST: ${{ steps.build-and-push.outputs.digest }}
run: cosign sign --yes ${{ env.TAG }}@${DIGEST}