From c4ed12d9c517fe847b9f443b595982a1366abf07 Mon Sep 17 00:00:00 2001 From: Shubham Bansal <62992590+shubham-bansal96@users.noreply.github.com> Date: Mon, 30 Jan 2023 17:26:06 +0530 Subject: [PATCH] Push docker images to github container registry (#2705) * changes to push images in github container registry * reverting changes for helm chart to pass CI test * use gitURL instead of whole URL * use gitURL instead of whole URL * added release process for docker.io * removed trailing spaces * added support for multi arch images in GHCR --- .github/workflows/release.yaml | 9 +- .goreleaser.yml | 157 ++++++++++++++++++++++++++++++++- 2 files changed, 164 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 68ad1d9f..6c490051 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -43,7 +43,14 @@ jobs: - name: Set up QEMU uses: docker/setup-qemu-action@v2 - - name: Docker Login + - name: Login to ghcr.io + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Login to docker.io uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} diff --git a/.goreleaser.yml b/.goreleaser.yml index f4d9ac28..a94c9b21 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -84,8 +84,11 @@ dockers: image_templates: - "fission/builder:latest-amd64" - "fission/builder:{{ .Tag }}-amd64" + - "ghcr.io/fission/builder:latest-amd64" + - "ghcr.io/fission/builder:{{ .Tag }}-amd64" dockerfile: cmd/builder/Dockerfile build_flag_templates: + - "--label=org.opencontainers.image.source={{.GitURL}}" - "--platform=linux/amd64" - "--label=org.opencontainers.image.created={{.Date}}" - "--label=org.opencontainers.image.revision={{.FullCommit}}" @@ -96,28 +99,60 @@ dockers: image_templates: - "fission/fetcher:latest-amd64" - "fission/fetcher:{{ .Tag }}-amd64" + - "ghcr.io/fission/fetcher:latest-amd64" + - "ghcr.io/fission/fetcher:{{ .Tag }}-amd64" dockerfile: cmd/fetcher/Dockerfile + build_flag_templates: + - "--label=org.opencontainers.image.source={{.GitURL}}" + - "--platform=linux/amd64" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Tag}}" - <<: *docker-amd64 ids: - fission-bundle image_templates: - "fission/fission-bundle:latest-amd64" - "fission/fission-bundle:{{ .Tag }}-amd64" + - "ghcr.io/fission/fission-bundle:latest-amd64" + - "ghcr.io/fission/fission-bundle:{{ .Tag }}-amd64" dockerfile: cmd/fission-bundle/Dockerfile + build_flag_templates: + - "--label=org.opencontainers.image.source={{.GitURL}}" + - "--platform=linux/amd64" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Tag}}" - <<: *docker-amd64 ids: - pre-upgrade-checks image_templates: - "fission/pre-upgrade-checks:latest-amd64" - "fission/pre-upgrade-checks:{{ .Tag }}-amd64" + - "ghcr.io/fission/pre-upgrade-checks:latest-amd64" + - "ghcr.io/fission/pre-upgrade-checks:{{ .Tag }}-amd64" dockerfile: cmd/preupgradechecks/Dockerfile + build_flag_templates: + - "--label=org.opencontainers.image.source={{.GitURL}}" + - "--platform=linux/amd64" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Tag}}" - <<: *docker-amd64 ids: - reporter image_templates: - "fission/reporter:latest-amd64" - "fission/reporter:{{ .Tag }}-amd64" + - "ghcr.io/fission/reporter:latest-amd64" + - "ghcr.io/fission/reporter:{{ .Tag }}-amd64" dockerfile: cmd/reporter/Dockerfile + build_flag_templates: + - "--label=org.opencontainers.image.source={{.GitURL}}" + - "--platform=linux/amd64" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Tag}}" - &docker-arm64 use: buildx goos: linux @@ -127,8 +162,11 @@ dockers: image_templates: - "fission/builder:latest-arm64" - "fission/builder:{{ .Tag }}-arm64" + - "ghcr.io/fission/builder:latest-arm64" + - "ghcr.io/fission/builder:{{ .Tag }}-arm64" dockerfile: cmd/builder/Dockerfile build_flag_templates: + - "--label=org.opencontainers.image.source={{.GitURL}}" - "--platform=linux/arm64" - "--label=org.opencontainers.image.created={{.Date}}" - "--label=org.opencontainers.image.revision={{.FullCommit}}" @@ -139,28 +177,60 @@ dockers: image_templates: - "fission/fetcher:latest-arm64" - "fission/fetcher:{{ .Tag }}-arm64" + - "ghcr.io/fission/fetcher:latest-arm64" + - "ghcr.io/fission/fetcher:{{ .Tag }}-arm64" dockerfile: cmd/fetcher/Dockerfile + build_flag_templates: + - "--label=org.opencontainers.image.source={{.GitURL}}" + - "--platform=linux/arm64" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Tag}}" - <<: *docker-arm64 ids: - fission-bundle image_templates: - "fission/fission-bundle:latest-arm64" - "fission/fission-bundle:{{ .Tag }}-arm64" + - "ghcr.io/fission/fission-bundle:latest-arm64" + - "ghcr.io/fission/fission-bundle:{{ .Tag }}-arm64" dockerfile: cmd/fission-bundle/Dockerfile + build_flag_templates: + - "--label=org.opencontainers.image.source={{.GitURL}}" + - "--platform=linux/arm64" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Tag}}" - <<: *docker-arm64 ids: - pre-upgrade-checks image_templates: - "fission/pre-upgrade-checks:latest-arm64" - "fission/pre-upgrade-checks:{{ .Tag }}-arm64" + - "ghcr.io/fission/pre-upgrade-checks:latest-arm64" + - "ghcr.io/fission/pre-upgrade-checks:{{ .Tag }}-arm64" dockerfile: cmd/preupgradechecks/Dockerfile + build_flag_templates: + - "--label=org.opencontainers.image.source={{.GitURL}}" + - "--platform=linux/arm64" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Tag}}" - <<: *docker-arm64 ids: - reporter image_templates: - "fission/reporter:latest-arm64" - "fission/reporter:{{ .Tag }}-arm64" + - "ghcr.io/fission/reporter:latest-arm64" + - "ghcr.io/fission/reporter:{{ .Tag }}-arm64" dockerfile: cmd/reporter/Dockerfile + build_flag_templates: + - "--label=org.opencontainers.image.source={{.GitURL}}" + - "--platform=linux/arm64" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Tag}}" - &docker-armv7 use: buildx goos: linux @@ -171,8 +241,11 @@ dockers: image_templates: - "fission/builder:latest-armv7" - "fission/builder:{{ .Tag }}-armv7" + - "ghcr.io/fission/builder:latest-armv7" + - "ghcr.io/fission/builder:{{ .Tag }}-armv7" dockerfile: cmd/builder/Dockerfile build_flag_templates: + - "--label=org.opencontainers.image.source={{.GitURL}}" - "--platform=linux/arm/v7" - "--label=org.opencontainers.image.created={{.Date}}" - "--label=org.opencontainers.image.revision={{.FullCommit}}" @@ -183,74 +256,156 @@ dockers: image_templates: - "fission/fetcher:latest-armv7" - "fission/fetcher:{{ .Tag }}-armv7" + - "ghcr.io/fission/fetcher:latest-armv7" + - "ghcr.io/fission/fetcher:{{ .Tag }}-armv7" dockerfile: cmd/fetcher/Dockerfile + build_flag_templates: + - "--label=org.opencontainers.image.source={{.GitURL}}" + - "--platform=linux/arm/v7" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Tag}}" - <<: *docker-armv7 ids: - fission-bundle image_templates: - "fission/fission-bundle:latest-armv7" - "fission/fission-bundle:{{ .Tag }}-armv7" + - "ghcr.io/fission/fission-bundle:latest-armv7" + - "ghcr.io/fission/fission-bundle:{{ .Tag }}-armv7" dockerfile: cmd/fission-bundle/Dockerfile + build_flag_templates: + - "--label=org.opencontainers.image.source={{.GitURL}}" + - "--platform=linux/arm/v7" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Tag}}" - <<: *docker-armv7 ids: - pre-upgrade-checks image_templates: - "fission/pre-upgrade-checks:latest-armv7" - "fission/pre-upgrade-checks:{{ .Tag }}-armv7" + - "ghcr.io/fission/pre-upgrade-checks:latest-armv7" + - "ghcr.io/fission/pre-upgrade-checks:{{ .Tag }}-armv7" dockerfile: cmd/preupgradechecks/Dockerfile + build_flag_templates: + - "--label=org.opencontainers.image.source={{.GitURL}}" + - "--platform=linux/arm/v7" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Tag}}" - <<: *docker-armv7 ids: - reporter image_templates: - "fission/reporter:latest-armv7" - "fission/reporter:{{ .Tag }}-armv7" + - "ghcr.io/fission/reporter:latest-armv7" + - "ghcr.io/fission/reporter:{{ .Tag }}-armv7" dockerfile: cmd/reporter/Dockerfile + build_flag_templates: + - "--label=org.opencontainers.image.source={{.GitURL}}" + - "--platform=linux/arm/v7" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Tag}}" docker_manifests: + - name_template: ghcr.io/fission/builder:{{ .Tag }} + image_templates: + - ghcr.io/fission/builder:{{ .Tag }}-amd64 + - ghcr.io/fission/builder:{{ .Tag }}-arm64 + - ghcr.io/fission/builder:{{ .Tag }}-armv7 - name_template: fission/builder:{{ .Tag }} image_templates: - fission/builder:{{ .Tag }}-amd64 - fission/builder:{{ .Tag }}-arm64 - fission/builder:{{ .Tag }}-armv7 + - name_template: ghcr.io/fission/fetcher:{{ .Tag }} + image_templates: + - ghcr.io/fission/fetcher:{{ .Tag }}-amd64 + - ghcr.io/fission/fetcher:{{ .Tag }}-arm64 + - ghcr.io/fission/fetcher:{{ .Tag }}-armv7 - name_template: fission/fetcher:{{ .Tag }} image_templates: - fission/fetcher:{{ .Tag }}-amd64 - fission/fetcher:{{ .Tag }}-arm64 - fission/fetcher:{{ .Tag }}-armv7 + - name_template: ghcr.io/fission/fission-bundle:{{ .Tag }} + image_templates: + - ghcr.io/fission/fission-bundle:{{ .Tag }}-amd64 + - ghcr.io/fission/fission-bundle:{{ .Tag }}-arm64 + - ghcr.io/fission/fission-bundle:{{ .Tag }}-armv7 - name_template: fission/fission-bundle:{{ .Tag }} image_templates: - fission/fission-bundle:{{ .Tag }}-amd64 - fission/fission-bundle:{{ .Tag }}-arm64 - fission/fission-bundle:{{ .Tag }}-armv7 + - name_template: ghcr.io/fission/pre-upgrade-checks:{{ .Tag }} + image_templates: + - ghcr.io/fission/pre-upgrade-checks:{{ .Tag }}-amd64 + - ghcr.io/fission/pre-upgrade-checks:{{ .Tag }}-arm64 + - ghcr.io/fission/pre-upgrade-checks:{{ .Tag }}-armv7 - name_template: fission/pre-upgrade-checks:{{ .Tag }} image_templates: - fission/pre-upgrade-checks:{{ .Tag }}-amd64 - fission/pre-upgrade-checks:{{ .Tag }}-arm64 - fission/pre-upgrade-checks:{{ .Tag }}-armv7 + - name_template: ghcr.io/fission/reporter:{{ .Tag }} + image_templates: + - ghcr.io/fission/reporter:{{ .Tag }}-amd64 + - ghcr.io/fission/reporter:{{ .Tag }}-arm64 + - ghcr.io/fission/reporter:{{ .Tag }}-armv7 - name_template: fission/reporter:{{ .Tag }} image_templates: - fission/reporter:{{ .Tag }}-amd64 - fission/reporter:{{ .Tag }}-arm64 - fission/reporter:{{ .Tag }}-armv7 + - name_template: ghcr.io/fission/builder:latest + image_templates: + - ghcr.io/fission/builder:latest-amd64 + - ghcr.io/fission/builder:latest-arm64 + - ghcr.io/fission/builder:latest-armv7 - name_template: fission/builder:latest image_templates: - fission/builder:latest-amd64 - fission/builder:latest-arm64 - fission/builder:latest-armv7 + - name_template: ghcr.io/fission/fetcher:latest + image_templates: + - ghcr.io/fission/fetcher:latest-amd64 + - ghcr.io/fission/fetcher:latest-arm64 + - ghcr.io/fission/fetcher:latest-armv7 - name_template: fission/fetcher:latest image_templates: - fission/fetcher:latest-amd64 - fission/fetcher:latest-arm64 - - fission/fetcher:latest-armv7 + - fission/fetcher:latest-armv7 + - name_template: ghcr.io/fission/fission-bundle:latest + image_templates: + - ghcr.io/fission/fission-bundle:latest-amd64 + - ghcr.io/fission/fission-bundle:latest-arm64 + - ghcr.io/fission/fission-bundle:latest-armv7 - name_template: fission/fission-bundle:latest image_templates: - fission/fission-bundle:latest-amd64 - fission/fission-bundle:latest-arm64 - fission/fission-bundle:latest-armv7 + - name_template: ghcr.io/fission/pre-upgrade-checks:latest + image_templates: + - ghcr.io/fission/pre-upgrade-checks:latest-amd64 + - ghcr.io/fission/pre-upgrade-checks:latest-arm64 + - ghcr.io/fission/pre-upgrade-checks:latest-armv7 - name_template: fission/pre-upgrade-checks:latest image_templates: - fission/pre-upgrade-checks:latest-amd64 - fission/pre-upgrade-checks:latest-arm64 - fission/pre-upgrade-checks:latest-armv7 + - name_template: ghcr.io/fission/reporter:latest + image_templates: + - ghcr.io/fission/reporter:latest-amd64 + - ghcr.io/fission/reporter:latest-arm64 + - ghcr.io/fission/reporter:latest-armv7 - name_template: fission/reporter:latest image_templates: - fission/reporter:latest-amd64