From df52c5079900887d427902d7e785fe024b0fe86d Mon Sep 17 00:00:00 2001 From: Andrew Thornton Date: Tue, 7 Feb 2023 21:22:39 +0000 Subject: [PATCH 1/5] Adjust manifest to prevent tagging latest on rcs Our current manifests will always tag `latest` whenever `auto_tag` is set - which it is when drone detects a tag. This PR detects that the auto_tag build is for an rc by detecting if the build.tag contains `-rc` and if so does not tag `latest`. Signed-off-by: Andrew Thornton --- docker/manifest.rootless.tmpl | 8 ++++++++ docker/manifest.tmpl | 7 +++++++ 2 files changed, 15 insertions(+) diff --git a/docker/manifest.rootless.tmpl b/docker/manifest.rootless.tmpl index 9559416470778..3982b067f9c9c 100644 --- a/docker/manifest.rootless.tmpl +++ b/docker/manifest.rootless.tmpl @@ -1,4 +1,10 @@ image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}{{#if (hasPrefix "refs/heads/release/v" build.ref)}}{{trimPrefix "refs/heads/release/v" build.ref}}-{{/if}}dev{{/if}}-rootless +{{#if contains "-rc" (first build.tags) }} +tags: +{{#each build.tags}} + - {{this}}-rootless +{{/each}} +{{else}} {{#if build.tags}} tags: {{#each build.tags}} @@ -6,6 +12,8 @@ tags: {{/each}} - "latest-rootless" {{/if}} +{{/if}} + manifests: - image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}{{#if (hasPrefix "refs/heads/release/v" build.ref)}}{{trimPrefix "refs/heads/release/v" build.ref}}-{{/if}}dev{{/if}}-linux-amd64-rootless diff --git a/docker/manifest.tmpl b/docker/manifest.tmpl index 4cd4ea4ea2d8b..d88b338339af8 100644 --- a/docker/manifest.tmpl +++ b/docker/manifest.tmpl @@ -1,4 +1,10 @@ image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}{{#if (hasPrefix "refs/heads/release/v" build.ref)}}{{trimPrefix "refs/heads/release/v" build.ref}}-{{/if}}dev{{/if}} +{{#if contains "-rc" (first build.tags) }} +tags: +{{#each build.tags}} + - {{this}} +{{/each}} +{{else}} {{#if build.tags}} tags: {{#each build.tags}} @@ -6,6 +12,7 @@ tags: {{/each}} - "latest" {{/if}} +{{/if}} manifests: - image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}{{#if (hasPrefix "refs/heads/release/v" build.ref)}}{{trimPrefix "refs/heads/release/v" build.ref}}-{{/if}}dev{{/if}}-linux-amd64 From eb3084d561829fc6be61e3066ae015222284ab76 Mon Sep 17 00:00:00 2001 From: Andrew Thornton Date: Tue, 7 Feb 2023 21:30:10 +0000 Subject: [PATCH 2/5] use unless Signed-off-by: Andrew Thornton --- docker/manifest.rootless.tmpl | 7 +------ docker/manifest.tmpl | 9 ++------- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/docker/manifest.rootless.tmpl b/docker/manifest.rootless.tmpl index 3982b067f9c9c..281ae37f956a5 100644 --- a/docker/manifest.rootless.tmpl +++ b/docker/manifest.rootless.tmpl @@ -1,15 +1,10 @@ image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}{{#if (hasPrefix "refs/heads/release/v" build.ref)}}{{trimPrefix "refs/heads/release/v" build.ref}}-{{/if}}dev{{/if}}-rootless -{{#if contains "-rc" (first build.tags) }} -tags: -{{#each build.tags}} - - {{this}}-rootless -{{/each}} -{{else}} {{#if build.tags}} tags: {{#each build.tags}} - {{this}}-rootless {{/each}} +{{#if contains "-rc" (first build.tags) }} - "latest-rootless" {{/if}} {{/if}} diff --git a/docker/manifest.tmpl b/docker/manifest.tmpl index d88b338339af8..bcbb9002103f8 100644 --- a/docker/manifest.tmpl +++ b/docker/manifest.tmpl @@ -1,17 +1,12 @@ image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}{{#if (hasPrefix "refs/heads/release/v" build.ref)}}{{trimPrefix "refs/heads/release/v" build.ref}}-{{/if}}dev{{/if}} -{{#if contains "-rc" (first build.tags) }} -tags: -{{#each build.tags}} - - {{this}} -{{/each}} -{{else}} {{#if build.tags}} tags: {{#each build.tags}} - {{this}} {{/each}} +{{#unless contains "-rc" (first build.tags) }} - "latest" -{{/if}} +{{/unless}} {{/if}} manifests: - From 7ec660a5b7f2faace3d2f813b6b30822553541cf Mon Sep 17 00:00:00 2001 From: zeripath Date: Tue, 7 Feb 2023 22:38:16 +0000 Subject: [PATCH 3/5] Update docker/manifest.rootless.tmpl Co-authored-by: John Olheiser --- docker/manifest.rootless.tmpl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docker/manifest.rootless.tmpl b/docker/manifest.rootless.tmpl index 281ae37f956a5..f31343502cf42 100644 --- a/docker/manifest.rootless.tmpl +++ b/docker/manifest.rootless.tmpl @@ -4,11 +4,10 @@ tags: {{#each build.tags}} - {{this}}-rootless {{/each}} -{{#if contains "-rc" (first build.tags) }} +{{#unless contains "-rc" (first build.tags) }} - "latest-rootless" +{{/unless}} {{/if}} -{{/if}} - manifests: - image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}{{#if (hasPrefix "refs/heads/release/v" build.ref)}}{{trimPrefix "refs/heads/release/v" build.ref}}-{{/if}}dev{{/if}}-linux-amd64-rootless From 16e6d9b46914d2f6f5c710e21e7043d8cd528c03 Mon Sep 17 00:00:00 2001 From: Andrew Thornton Date: Wed, 8 Feb 2023 22:03:07 +0000 Subject: [PATCH 4/5] skip build.tags if build.tag contains -rc Signed-off-by: Andrew Thornton --- docker/manifest.rootless.tmpl | 2 +- docker/manifest.tmpl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/manifest.rootless.tmpl b/docker/manifest.rootless.tmpl index f31343502cf42..46a397c828d89 100644 --- a/docker/manifest.rootless.tmpl +++ b/docker/manifest.rootless.tmpl @@ -1,10 +1,10 @@ image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}{{#if (hasPrefix "refs/heads/release/v" build.ref)}}{{trimPrefix "refs/heads/release/v" build.ref}}-{{/if}}dev{{/if}}-rootless {{#if build.tags}} +{{#unless contains "-rc" build.tag}} tags: {{#each build.tags}} - {{this}}-rootless {{/each}} -{{#unless contains "-rc" (first build.tags) }} - "latest-rootless" {{/unless}} {{/if}} diff --git a/docker/manifest.tmpl b/docker/manifest.tmpl index bcbb9002103f8..b4ba5a76ed4aa 100644 --- a/docker/manifest.tmpl +++ b/docker/manifest.tmpl @@ -1,10 +1,10 @@ image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}{{#if (hasPrefix "refs/heads/release/v" build.ref)}}{{trimPrefix "refs/heads/release/v" build.ref}}-{{/if}}dev{{/if}} {{#if build.tags}} +{{#unless contains "-rc" build.tag }} tags: {{#each build.tags}} - {{this}} {{/each}} -{{#unless contains "-rc" (first build.tags) }} - "latest" {{/unless}} {{/if}} From 6b818d1c1cf870856e8339fd3e90954807ca76f9 Mon Sep 17 00:00:00 2001 From: Andrew Thornton Date: Sun, 12 Feb 2023 21:23:03 +0000 Subject: [PATCH 5/5] create RC docker building sections Signed-off-by: Andrew Thornton --- .drone.yml | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 136 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index dc8423875a6ff..7150629028e3a 100644 --- a/.drone.yml +++ b/.drone.yml @@ -985,7 +985,10 @@ depends_on: trigger: ref: - - "refs/tags/**" + include: + - "refs/tags/**" + exclude: + - "refs/tags/**-rc*" event: exclude: - cron @@ -1033,6 +1036,68 @@ steps: event: exclude: - pull_request +--- + +kind: pipeline +type: docker +name: docker-linux-amd64-release-candidate-version + +platform: + os: linux + arch: amd64 + +depends_on: + - testing-amd64 + - testing-arm64 + +trigger: + ref: + - "refs/tags/**-rc*" + event: + exclude: + - cron + +steps: + - name: fetch-tags + image: docker:git + pull: always + commands: + - git config --global --add safe.directory /drone/src + - git fetch --tags --force + + - name: publish + image: techknowlogick/drone-docker:latest + pull: always + settings: + tags: ${DRONE_TAG##v}-linux-amd64 + repo: gitea/gitea + build_args: + - GOPROXY=https://goproxy.io + password: + from_secret: docker_password + username: + from_secret: docker_username + when: + event: + exclude: + - pull_request + + - name: publish-rootless + image: techknowlogick/drone-docker:latest + settings: + dockerfile: Dockerfile.rootless + tags: ${DRONE_TAG##v}-linux-amd64-rootless + repo: gitea/gitea + build_args: + - GOPROXY=https://goproxy.io + password: + from_secret: docker_password + username: + from_secret: docker_username + when: + event: + exclude: + - pull_request --- kind: pipeline @@ -1209,7 +1274,10 @@ depends_on: trigger: ref: - - "refs/tags/**" + include: + - "refs/tags/**" + exclude: + - "refs/tags/**-rc*" event: exclude: - cron @@ -1258,6 +1326,68 @@ steps: exclude: - pull_request +--- +kind: pipeline +type: docker +name: docker-linux-arm64-release-candidate-version + +platform: + os: linux + arch: arm64 + +depends_on: + - testing-amd64 + - testing-arm64 + +trigger: + ref: + - "refs/tags/**-rc*" + event: + exclude: + - cron + +steps: + - name: fetch-tags + image: docker:git + pull: always + commands: + - git config --global --add safe.directory /drone/src + - git fetch --tags --force + + - name: publish + image: techknowlogick/drone-docker:latest + pull: always + settings: + tags: ${DRONE_TAG##v}-linux-arm64 + repo: gitea/gitea + build_args: + - GOPROXY=https://goproxy.io + password: + from_secret: docker_password + username: + from_secret: docker_username + when: + event: + exclude: + - pull_request + + - name: publish-rootless + image: techknowlogick/drone-docker:latest + settings: + dockerfile: Dockerfile.rootless + tags: ${DRONE_TAG##v}-linux-arm64-rootless + repo: gitea/gitea + build_args: + - GOPROXY=https://goproxy.io + password: + from_secret: docker_password + username: + from_secret: docker_username + when: + event: + exclude: + - pull_request + --- kind: pipeline type: docker @@ -1427,7 +1557,9 @@ trigger: depends_on: - docker-linux-amd64-release-version + - docker-linux-amd64-release-candidate-version - docker-linux-arm64-release-version + - docker-linux-arm64-release-candidate-version --- kind: pipeline @@ -1509,6 +1641,8 @@ depends_on: - docker-linux-arm64-release - docker-linux-amd64-release-version - docker-linux-arm64-release-version + - docker-linux-amd64-release-candidate-version + - docker-linux-arm64-release-candidate-version - docker-linux-amd64-release-branch - docker-linux-arm64-release-branch - docker-manifest