Merge pull request #130 from fluxcd/arm64
Publish amd64/arm64 images to GHCR
This commit is contained in:
commit
ed27b24fca
|
@ -21,13 +21,44 @@ jobs:
|
||||||
cd config/release
|
cd config/release
|
||||||
kustomize edit set image fluxcd/source-controller=fluxcd/source-controller:${{ steps.get_version.outputs.VERSION }}
|
kustomize edit set image fluxcd/source-controller=fluxcd/source-controller:${{ steps.get_version.outputs.VERSION }}
|
||||||
kustomize build . > source-controller.yaml
|
kustomize build . > source-controller.yaml
|
||||||
- name: Push image
|
- name: Setup QEMU
|
||||||
uses: docker/build-push-action@v1
|
uses: docker/setup-qemu-action@master
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_FLUXCD_USER }}
|
platforms: all
|
||||||
|
- name: Setup Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@master
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v1
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: fluxcdbot
|
||||||
|
password: ${{ secrets.GHCR_TOKEN }}
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@v1
|
||||||
|
with:
|
||||||
|
username: fluxcdbot
|
||||||
password: ${{ secrets.DOCKER_FLUXCD_PASSWORD }}
|
password: ${{ secrets.DOCKER_FLUXCD_PASSWORD }}
|
||||||
repository: fluxcd/source-controller
|
- name: Publish amd64 image
|
||||||
tag_with_ref: true
|
uses: docker/build-push-action@v2-build-push
|
||||||
|
with:
|
||||||
|
push: ${{ github.event_name != 'pull_request' }}
|
||||||
|
builder: ${{ steps.buildx.outputs.name }}
|
||||||
|
context: .
|
||||||
|
file: ./Dockerfile
|
||||||
|
platforms: linux/amd64
|
||||||
|
tags: |
|
||||||
|
ghcr.io/fluxcd/source-controller:${{ steps.get_version.outputs.VERSION }}
|
||||||
|
docker.io/fluxcd/source-controller:${{ steps.get_version.outputs.VERSION }}
|
||||||
|
- name: Publish arm64 image
|
||||||
|
uses: docker/build-push-action@v2-build-push
|
||||||
|
with:
|
||||||
|
push: ${{ github.event_name != 'pull_request' }}
|
||||||
|
builder: ${{ steps.buildx.outputs.name }}
|
||||||
|
context: .
|
||||||
|
file: ./Dockerfile
|
||||||
|
platforms: linux/arm64
|
||||||
|
tags: ghcr.io/fluxcd/source-controller-arm64:${{ steps.get_version.outputs.VERSION }}
|
||||||
- name: Create release
|
- name: Create release
|
||||||
id: create_release
|
id: create_release
|
||||||
uses: actions/create-release@latest
|
uses: actions/create-release@latest
|
||||||
|
|
10
Dockerfile
10
Dockerfile
|
@ -1,4 +1,5 @@
|
||||||
FROM golang:1.14 as builder
|
# Docker buildkit multi-arch build requires golang alpine
|
||||||
|
FROM golang:1.14-alpine as builder
|
||||||
|
|
||||||
WORKDIR /workspace
|
WORKDIR /workspace
|
||||||
|
|
||||||
|
@ -18,11 +19,14 @@ COPY controllers/ controllers/
|
||||||
COPY pkg/ pkg/
|
COPY pkg/ pkg/
|
||||||
COPY internal/ internal/
|
COPY internal/ internal/
|
||||||
|
|
||||||
# build
|
# build without specifing the arch
|
||||||
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -a -o source-controller main.go
|
RUN CGO_ENABLED=0 go build -a -o source-controller main.go
|
||||||
|
|
||||||
FROM alpine:3.12
|
FROM alpine:3.12
|
||||||
|
|
||||||
|
# link repo to the GitHub Container Registry image
|
||||||
|
LABEL org.opencontainers.image.source="https://github.com/fluxcd/source-controller"
|
||||||
|
|
||||||
RUN apk add --no-cache ca-certificates tini
|
RUN apk add --no-cache ca-certificates tini
|
||||||
|
|
||||||
COPY --from=builder /workspace/source-controller /usr/local/bin/
|
COPY --from=builder /workspace/source-controller /usr/local/bin/
|
||||||
|
|
Loading…
Reference in New Issue