From f0f4dc1f2515ba5650e283c93237680c19ab31b3 Mon Sep 17 00:00:00 2001 From: Andrew Thornton Date: Thu, 3 Feb 2022 16:09:52 +0000 Subject: [PATCH 1/5] Fix pushing to 1-x-dev docker tag It appears that #18551 and #18573 have a mistake in that raymond does not have an {{else}} on {{#equal}}. This PR notes that Sprig has a hasPrefix function and so we use this with another if. Signed-off-by: Andrew Thornton --- docker/manifest.rootless.tmpl | 6 +++--- docker/manifest.tmpl | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docker/manifest.rootless.tmpl b/docker/manifest.rootless.tmpl index c488934ea39ed..9559416470778 100644 --- a/docker/manifest.rootless.tmpl +++ b/docker/manifest.rootless.tmpl @@ -1,4 +1,4 @@ -image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}{{#equal build.ref "refs/heads/main"}}dev{{else}}{{trimPrefix "refs/heads/release/v" build.ref}}-dev{{/equal}}{{/if}}-rootless +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}} tags: {{#each build.tags}} @@ -8,12 +8,12 @@ tags: {{/if}} manifests: - - image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}{{#equal build.ref "refs/heads/main"}}dev{{else}}{{trimPrefix "refs/heads/release/v" build.ref}}-dev{{/equal}}{{/if}}-linux-amd64-rootless + 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 platform: architecture: amd64 os: linux - - image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}{{#equal build.ref "refs/heads/main"}}dev{{else}}{{trimPrefix "refs/heads/release/v" build.ref}}-dev{{/equal}}{{/if}}-linux-arm64-rootless + 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-arm64-rootless platform: architecture: arm64 os: linux diff --git a/docker/manifest.tmpl b/docker/manifest.tmpl index 2d125c96ca5d0..4cd4ea4ea2d8b 100644 --- a/docker/manifest.tmpl +++ b/docker/manifest.tmpl @@ -1,4 +1,4 @@ -image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}{{#equal build.ref "refs/heads/main"}}dev{{else}}{{trimPrefix "refs/heads/release/v" build.ref}}-dev{{/equal}}{{/if}} +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}} tags: {{#each build.tags}} @@ -8,12 +8,12 @@ tags: {{/if}} manifests: - - image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}{{#equal build.ref "refs/heads/main"}}dev{{else}}{{trimPrefix "refs/heads/release/v" build.ref}}-dev{{/equal}}{{/if}}-linux-amd64 + 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 platform: architecture: amd64 os: linux - - image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}{{#equal build.ref "refs/heads/main"}}dev{{else}}{{trimPrefix "refs/heads/release/v" build.ref}}-dev{{/equal}}{{/if}}-linux-arm64 + 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-arm64 platform: architecture: arm64 os: linux From c362f812865ebb07d253adc3980d50b3ca4fa7c8 Mon Sep 17 00:00:00 2001 From: Andrew Thornton Date: Thu, 3 Feb 2022 18:53:49 +0000 Subject: [PATCH 2/5] Fix pushing to 1-x-dev docker tag (part 2) Although we now have the manifest working, we need to create the images. Here we adjust the .drone.yml to force building of the images Signed-off-by: Andrew Thornton --- .drone.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.drone.yml b/.drone.yml index 98e325ad54929..1f5d7fdad325d 100644 --- a/.drone.yml +++ b/.drone.yml @@ -804,6 +804,7 @@ depends_on: trigger: ref: - refs/heads/main + - "refs/heads/release/v*" event: exclude: - cron @@ -819,7 +820,7 @@ steps: image: techknowlogick/drone-docker:latest settings: auto_tag: false - tags: dev-linux-amd64 + tags: ${DRONE_COMMIT_REF##refs/heads/release/v}${${DRONE_COMMIT_REF##refs/heads/release/v}:+-}dev-linux-amd64 repo: gitea/gitea build_args: - GOPROXY=https://goproxy.cn @@ -837,7 +838,7 @@ steps: settings: dockerfile: Dockerfile.rootless auto_tag: false - tags: dev-linux-amd64-rootless + tags: ${DRONE_COMMIT_REF##refs/heads/release/v}${${DRONE_COMMIT_REF##refs/heads/release/v}:+-}dev-linux-amd64-rootless repo: gitea/gitea build_args: - GOPROXY=https://goproxy.cn @@ -961,6 +962,7 @@ depends_on: trigger: ref: - refs/heads/main + - "refs/heads/release/v*" event: exclude: - cron @@ -976,7 +978,7 @@ steps: image: techknowlogick/drone-docker:latest settings: auto_tag: false - tags: dev-linux-arm64 + tags: ${DRONE_COMMIT_REF##refs/heads/release/v}${${DRONE_COMMIT_REF##refs/heads/release/v}:+-}dev-linux-arm64 repo: gitea/gitea build_args: - GOPROXY=https://goproxy.cn @@ -994,7 +996,7 @@ steps: settings: dockerfile: Dockerfile.rootless auto_tag: false - tags: dev-linux-arm64-rootless + tags: ${DRONE_COMMIT_REF##refs/heads/release/v}${${DRONE_COMMIT_REF##refs/heads/release/v}:+-}dev-linux-arm64-rootless repo: gitea/gitea build_args: - GOPROXY=https://goproxy.cn From a03bae0ae659c02474cc11180745b97dc26a063d Mon Sep 17 00:00:00 2001 From: Andrew Thornton Date: Thu, 3 Feb 2022 19:58:41 +0000 Subject: [PATCH 3/5] Fix pushing to 1-x-dev docker tag OK now we have the images building we should make sure that the main ones stays dev and the release/v* ones become *-dev-* Signed-off-by: Andrew Thornton --- .drone.yml | 134 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) diff --git a/.drone.yml b/.drone.yml index 1f5d7fdad325d..bd149830b0f28 100644 --- a/.drone.yml +++ b/.drone.yml @@ -804,6 +804,69 @@ depends_on: trigger: ref: - refs/heads/main + event: + exclude: + - cron + +steps: + - name: fetch-tags + image: docker:git + commands: + - git fetch --tags --force + + - name: publish + pull: always + image: techknowlogick/drone-docker:latest + settings: + auto_tag: false + tags: dev-linux-amd64 + repo: gitea/gitea + build_args: + - GOPROXY=off + 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 + auto_tag: false + tags: dev-linux-amd64-rootless + repo: gitea/gitea + build_args: + - GOPROXY=off + password: + from_secret: docker_password + username: + from_secret: docker_username + environment: + PLUGIN_MIRROR: + from_secret: plugin_mirror + when: + event: + exclude: + - pull_request + +--- +kind: pipeline +name: docker-linux-amd64-release-branch + +platform: + os: linux + arch: amd64 + +depends_on: + - testing-amd64 + - testing-arm64 + +trigger: + ref: - "refs/heads/release/v*" event: exclude: @@ -962,6 +1025,72 @@ depends_on: trigger: ref: - refs/heads/main + event: + exclude: + - cron + +steps: + - name: fetch-tags + image: docker:git + commands: + - git fetch --tags --force + + - name: publish + pull: always + image: techknowlogick/drone-docker:latest + settings: + auto_tag: false + tags: dev-linux-arm64 + repo: gitea/gitea + build_args: + - GOPROXY=off + password: + from_secret: docker_password + username: + from_secret: docker_username + environment: + PLUGIN_MIRROR: + from_secret: plugin_mirror + when: + event: + exclude: + - pull_request + + - name: publish-rootless + image: techknowlogick/drone-docker:latest + settings: + dockerfile: Dockerfile.rootless + auto_tag: false + tags: dev-linux-arm64-rootless + repo: gitea/gitea + build_args: + - GOPROXY=off + password: + from_secret: docker_password + username: + from_secret: docker_username + environment: + PLUGIN_MIRROR: + from_secret: plugin_mirror + when: + event: + exclude: + - pull_request + +--- +kind: pipeline +name: docker-linux-arm64-release-branch + +platform: + os: linux + arch: arm64 + +depends_on: + - testing-amd64 + - testing-arm64 + +trigger: + ref: - "refs/heads/release/v*" event: exclude: @@ -1008,6 +1137,7 @@ steps: event: exclude: - pull_request + --- kind: pipeline type: docker @@ -1096,6 +1226,8 @@ trigger: depends_on: - docker-linux-amd64-release - docker-linux-arm64-release + - docker-linux-amd64-release-branch + - docker-linux-arm64-release-branch --- kind: pipeline @@ -1129,6 +1261,8 @@ depends_on: - docker-linux-arm64-release - docker-linux-amd64-release-version - docker-linux-arm64-release-version + - docker-linux-amd64-release-branch + - docker-linux-arm64-release-branch - docker-manifest - docker-manifest-version - docs From ae076e5addb0178d9d0111545fd33b75be5840f2 Mon Sep 17 00:00:00 2001 From: Andrew Thornton Date: Thu, 3 Feb 2022 19:58:41 +0000 Subject: [PATCH 4/5] Fix pushing to 1-x-dev docker tag OK now we have the images building we should make sure that the main ones stays dev and the release/v* ones become *-dev-* Signed-off-by: Andrew Thornton --- .drone.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.drone.yml b/.drone.yml index bd149830b0f28..c47dd20ab16b0 100644 --- a/.drone.yml +++ b/.drone.yml @@ -883,7 +883,7 @@ steps: image: techknowlogick/drone-docker:latest settings: auto_tag: false - tags: ${DRONE_COMMIT_REF##refs/heads/release/v}${${DRONE_COMMIT_REF##refs/heads/release/v}:+-}dev-linux-amd64 + tags: ${DRONE_BRANCH##release/v}-dev-linux-amd64 repo: gitea/gitea build_args: - GOPROXY=https://goproxy.cn @@ -901,7 +901,7 @@ steps: settings: dockerfile: Dockerfile.rootless auto_tag: false - tags: ${DRONE_COMMIT_REF##refs/heads/release/v}${${DRONE_COMMIT_REF##refs/heads/release/v}:+-}dev-linux-amd64-rootless + tags: ${DRONE_BRANCH##release/v}-dev-linux-amd64-rootless repo: gitea/gitea build_args: - GOPROXY=https://goproxy.cn @@ -1107,7 +1107,7 @@ steps: image: techknowlogick/drone-docker:latest settings: auto_tag: false - tags: ${DRONE_COMMIT_REF##refs/heads/release/v}${${DRONE_COMMIT_REF##refs/heads/release/v}:+-}dev-linux-arm64 + tags: ${DRONE_BRANCH##release/v}-dev-linux-arm64 repo: gitea/gitea build_args: - GOPROXY=https://goproxy.cn @@ -1125,7 +1125,7 @@ steps: settings: dockerfile: Dockerfile.rootless auto_tag: false - tags: ${DRONE_COMMIT_REF##refs/heads/release/v}${${DRONE_COMMIT_REF##refs/heads/release/v}:+-}dev-linux-arm64-rootless + tags: ${DRONE_BRANCH##release/v}-dev-linux-arm64-rootless repo: gitea/gitea build_args: - GOPROXY=https://goproxy.cn From 72f2c22c9e0bc051eb1870e2d5b2584269edfe53 Mon Sep 17 00:00:00 2001 From: zeripath Date: Thu, 3 Feb 2022 20:23:02 +0000 Subject: [PATCH 5/5] Apply suggestions from code review --- .drone.yml | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/.drone.yml b/.drone.yml index c47dd20ab16b0..d9de5590391f0 100644 --- a/.drone.yml +++ b/.drone.yml @@ -822,7 +822,7 @@ steps: tags: dev-linux-amd64 repo: gitea/gitea build_args: - - GOPROXY=off + - GOPROXY=https://goproxy.cn password: from_secret: docker_password username: @@ -840,14 +840,11 @@ steps: tags: dev-linux-amd64-rootless repo: gitea/gitea build_args: - - GOPROXY=off + - GOPROXY=https://goproxy.cn password: from_secret: docker_password username: from_secret: docker_username - environment: - PLUGIN_MIRROR: - from_secret: plugin_mirror when: event: exclude: @@ -1043,14 +1040,11 @@ steps: tags: dev-linux-arm64 repo: gitea/gitea build_args: - - GOPROXY=off + - GOPROXY=https://goproxy.cn password: from_secret: docker_password username: from_secret: docker_username - environment: - PLUGIN_MIRROR: - from_secret: plugin_mirror when: event: exclude: @@ -1064,14 +1058,11 @@ steps: tags: dev-linux-arm64-rootless repo: gitea/gitea build_args: - - GOPROXY=off + - GOPROXY=https://goproxy.cn password: from_secret: docker_password username: from_secret: docker_username - environment: - PLUGIN_MIRROR: - from_secret: plugin_mirror when: event: exclude: