Skip to content

refactor: move ANSIBLE_CONFIG env up #5

refactor: move ANSIBLE_CONFIG env up

refactor: move ANSIBLE_CONFIG env up #5

Workflow file for this run

name: release-binary-docker-images
on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+"
- "v2.0.0-alpha1"
permissions:
contents: write
jobs:
build-push-docker-images:
runs-on: ubuntu-latest
steps:
- name: Cache container layers
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}${{ matrix.containers.suffix }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}${{ matrix.containers.suffix }}-buildx-
- name: Checkout source code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and tag dev image
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile.dev
tags: |
controlplane/simulator:dev
load: true
push: false
- name: Run Trivy vulnerability scanner on the dev image
uses: aquasecurity/[email protected]
with:
image-ref: 'controlplane/simulator:dev'
format: 'table'
exit-code: '1'
vuln-type: 'os,library'
severity: 'CRITICAL,HIGH'
trivyignores: './.trivy-config/.trivyignore'
- name: Build and tag simulator image
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
tags: controlplane/simulator:${{ github.ref_name }}
load: true
push: false
- name: Run Trivy vulnerability scanner on simulator image
uses: aquasecurity/[email protected]
with:
image-ref: controlplane/simulator:${{ github.ref_name }}
format: 'table'
exit-code: '1'
vuln-type: 'os,library'
severity: 'CRITICAL,HIGH'
trivyignores: './.trivy-config/.trivyignore'
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
platforms: linux/amd64,linux/arm64
- name: Build and push dev image ## should use cache image from the previous step
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile.dev
tags: 'controlplane/simulator:dev'
load: false ## push and load cannot be set at the same time
push: true
- name: pull dev image
run: |
docker images ls
docker pull controlplane/simulator:dev
docker images ls
- name: Build and push simulator image ## should use cache image from the previous step
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
tags: |
controlplane/simulator:${{ github.ref_name }}
controlplane/simulator:latest
load: false
push: true
goreleaser:
runs-on: ubuntu-latest
name: goreleaser
needs: build-push-docker-images
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version-file: go.mod
- run: go version
- uses: anchore/sbom-action/download-syft@v0
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v5
with:
distribution: goreleaser
args: release --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}