mirror of
https://github.com/invariantlabs-ai/invariant-gateway.git
synced 2026-02-12 14:32:45 +00:00
55 lines
1.9 KiB
YAML
55 lines
1.9 KiB
YAML
name: Build Docker Images
|
|
|
|
on:
|
|
workflow_run:
|
|
workflows:
|
|
- Invariant gateway testing CI
|
|
types:
|
|
- completed
|
|
branches:
|
|
- main
|
|
- v*
|
|
|
|
jobs:
|
|
build-explorer-local-images:
|
|
runs-on: ubuntu-latest
|
|
# check that this is a tag or the 'main' branch but not a pull request
|
|
# if: ${{ github.event.workflow_run.conclusion == 'success' && (github.ref_type == 'tag' || github.ref == 'refs/heads/main') }}
|
|
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v2
|
|
|
|
- name: Login to GitHub Container Registry
|
|
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
|
|
|
|
# based on whether this is a version tag or a branch, we will set the tags for the pushed images
|
|
- name: Set Docker Tags
|
|
id: set-tags
|
|
run: |
|
|
if [[ "${{ github.event.workflow_run.head_branch }}" == "main" ]]; then
|
|
echo "tags=ghcr.io/${{ github.repository }}/gateway:latest" >> $GITHUB_ENV
|
|
# starts with v* and only contains numbers and dots
|
|
elif [[ "${{ github.event.workflow_run.head_branch }}" =~ ^v[0-9.]+$ ]]; then
|
|
# get tag name from the event
|
|
version=${{ github.event.workflow_run.head_branch }}
|
|
# remove the refs/tags/ prefix
|
|
echo "version string is $version"
|
|
echo "tags=ghcr.io/${{ github.repository }}/gateway:latest,ghcr.io/${{ github.repository }}/gateway:${version}" >> $GITHUB_ENV
|
|
else
|
|
echo "Failed to determine the tags for the Docker images for branch ${{ github.event.workflow_run.head_branch }}"
|
|
exit 1
|
|
fi
|
|
|
|
- name: build gateway image
|
|
uses: docker/build-push-action@v5
|
|
with:
|
|
context: .
|
|
file: ./gateway/Dockerfile.gateway
|
|
platforms: linux/amd64
|
|
push: true
|
|
tags: ${{ env.tags }}
|