feat: replace ACR and MCR with GHCR (#45) #123
This file contains 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 and Publish Retina Container Images | |
on: | |
push: | |
branches: [ main ] | |
tags: [ "v*" ] | |
pull_request: | |
branches: [ main ] | |
permissions: | |
contents: read | |
packages: write | |
jobs: | |
retina-images: | |
name: Build Agent Images | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
platform: ["linux"] | |
arch: ["amd64", "arm64"] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: ">=1.21.0" | |
- run: go version | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Log in to registry | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin | |
- name: Build/Push Images | |
shell: bash | |
run: | | |
set -euo pipefail | |
echo "TAG=$(make version)" >> $GITHUB_ENV | |
make retina-image \ | |
IMAGE_NAMESPACE=${{ github.repository }} \ | |
PLATFORM=${{ matrix.platform }}/${{ matrix.arch }} | |
retina-win-images: | |
name: Build Agent Images | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
platform: ["windows"] | |
arch: ["amd64"] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: ">=1.21.0" | |
- run: go version | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Log in to registry | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin | |
- name: Build/Push Images | |
shell: bash | |
run: | | |
set -euo pipefail | |
echo "TAG=$(make version)" >> $GITHUB_ENV | |
make retina-image-win \ | |
IMAGE_NAMESPACE=${{ github.repository }} \ | |
PLATFORM=${{ matrix.platform }}/${{ matrix.arch }} | |
operator-images: | |
name: Build Operator Images | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
platform: ["linux"] | |
arch: ["amd64", "arm64"] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: ">=1.21.0" | |
- run: go version | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Log in to registry | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin | |
- name: Build/Push Images | |
shell: bash | |
run: | | |
set -euo pipefail | |
echo "TAG=$(make version)" >> $GITHUB_ENV | |
make retina-operator-image \ | |
IMAGE_NAMESPACE=${{ github.repository }} \ | |
PLATFORM=${{ matrix.platform }}/${{ matrix.arch }} | |
kubectl-retina-images: | |
name: Build kubectl-retina Images | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
platform: ["linux"] | |
arch: ["amd64", "arm64"] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: ">=1.21.0" | |
- run: go version | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Log in to registry | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin | |
- name: Build/Push Images | |
shell: bash | |
run: | | |
set -euo pipefail | |
echo "TAG=$(make version)" >> $GITHUB_ENV | |
make kubectl-retina-image \ | |
IMAGE_NAMESPACE=${{ github.repository }} \ | |
PLATFORM=${{ matrix.platform }}/${{ matrix.arch }} | |
manifests: | |
name: Generate Manifests | |
runs-on: ubuntu-latest | |
needs: [retina-images, retina-win-images, operator-images, kubectl-retina-images] | |
strategy: | |
matrix: | |
component: ["retina", "operator", "kubectl-retina"] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Log in to registry | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin | |
- name: Generate Manifests | |
shell: bash | |
run: | | |
set -euo pipefail | |
make manifest \ | |
IMAGE_NAMESPACE=${{ github.repository }} \ | |
COMPONENT=${{ matrix.component }} |