summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Gusev <ubuntolog@gmail.com>2024-08-06 12:38:30 +0300
committerGitHub <noreply@github.com>2024-08-06 12:38:30 +0300
commit2c31e6a42eaf37c5bcef600ff8321b4112aa055b (patch)
treeb59de2497430de08674ebae3b3defc63fc332053
parentf9b5d95209383c0894e698ebd0f60f174c9ff09e (diff)
Fix release draft script (#811)
-rw-r--r--.github/workflows/create-release-draft.yaml16
-rwxr-xr-xhack/create-release-pr.sh22
2 files changed, 33 insertions, 5 deletions
diff --git a/.github/workflows/create-release-draft.yaml b/.github/workflows/create-release-draft.yaml
index 20ce16d..40e7c7c 100644
--- a/.github/workflows/create-release-draft.yaml
+++ b/.github/workflows/create-release-draft.yaml
@@ -31,6 +31,22 @@ jobs:
run: |
make release-binaries
+ - name: Setup qemu
+ uses: docker/setup-qemu-action@v3
+
+ - name: Setup Docker buildx
+ uses: docker/setup-buildx-action@v3
+
+ - name: Build and possibly push image
+ run: |
+ set -ex
+ docker login --username "${DOCKER_USERNAME}" --password "${DOCKER_PASSWORD}" quay.io
+ IMAGE_PUSH=yes make multiarch-image
+ working-directory: argocd-image-updater
+ env:
+ DOCKER_USERNAME: ${{ secrets.QUAY_USERNAME }}
+ DOCKER_PASSWORD: ${{ secrets.QUAY_TOKEN }}
+
- name: Create release draft
id: create-release
env:
diff --git a/hack/create-release-pr.sh b/hack/create-release-pr.sh
index 19dda33..6b0f1ef 100755
--- a/hack/create-release-pr.sh
+++ b/hack/create-release-pr.sh
@@ -4,14 +4,23 @@
# - install gh cli and semver-cli (go install github.com/davidrjonas/semver-cli@latest)
# - create and push "release-X.Y" branch
# - checkout this branch locally
-# - run this script from repo root: ./hack/create-release-pr.sh
+# - run this script from repo root: ./hack/create-release-pr.sh [REMOTE]
# - merge the PR
# It will trigger the release workflow that would create release draft on github
-RELEASE_BRANCH="$(git rev-parse --abbrev-ref HEAD || true)"
set -eux
set -o pipefail
+
+CURRENT_BRANCH="$(git branch --show-current)"
+
+if [[ ! "$CURRENT_BRANCH" == release-* ]]; then
+ echo "!! Please checkout branch 'release-X.Y' (currently in branch: '${CURRENT_BRANCH}')" >&2
+ exit 1
+fi
+
+RELEASE_BRANCH="${CURRENT_BRANCH}"
+
### look for latest on-branch tag
PREVIOUS_TAG=$(git describe --tags --abbrev=0 --match "*${RELEASE_BRANCH##release-}*" 2>/dev/null || true)
@@ -26,11 +35,14 @@ echo $NEW_VERSION > VERSION
IMAGE_TAG="v${NEW_VERSION}"
make manifests
+REMOTE=${1:-origin}
+REMOTE_URL=$(git remote get-url ${REMOTE})
+
git checkout -b "feat/new-version-${NEW_VERSION}"
git commit -m "Release ${NEW_VERSION}" VERSION manifests/
-git push --set-upstream origin "feat/new-version-${NEW_VERSION}"
-gh label --repo $(git remote get-url origin) create --force release
-gh pr --repo $(git remote get-url origin) \
+git push --set-upstream ${REMOTE} "feat/new-version-${NEW_VERSION}"
+gh label --repo ${REMOTE_URL} create --force release
+gh pr --repo ${REMOTE_URL} \
create \
--base ${RELEASE_BRANCH} \
--title "Release ${NEW_VERSION}" \