From 4ac8651cc814c385d75b3bff7722ae0a5cc6867f Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Thu, 26 Mar 2026 21:50:57 -0500 Subject: [PATCH] fix: use glab directly for releases instead of dotenv artifact GitLab's dotenv artifact format doesn't support multi-line heredoc values, causing the release job to fail with 400 Bad Request. The release-cli image already includes glab, so use it directly with --notes-file to pass multi-line changelog content safely. --- .gitlab-ci.yml | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 99e89434..67679e14 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -162,24 +162,15 @@ release: if [ -z "$RELEASE_NOTES" ]; then RELEASE_NOTES="Ditto ${CI_COMMIT_TAG}" fi - echo "RELEASE_NOTES<> release.env - echo "$RELEASE_NOTES" >> release.env - echo "ENDOFNOTES" >> release.env - artifacts: - reports: - dotenv: release.env - release: - tag_name: $CI_COMMIT_TAG - name: $CI_COMMIT_TAG - description: $RELEASE_NOTES - assets: - links: - - name: "Ditto-${CI_COMMIT_TAG}.apk" - url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/ditto/${CI_COMMIT_TAG}/Ditto-${CI_COMMIT_TAG}.apk" - link_type: package - - name: "Ditto-${CI_COMMIT_TAG}.aab" - url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/ditto/${CI_COMMIT_TAG}/Ditto-${CI_COMMIT_TAG}.aab" - link_type: package + # Create the release with glab (included in the release-cli image). + # Uses a temp file to safely pass multi-line release notes. + - echo "$RELEASE_NOTES" > /tmp/release-notes.md + - | + glab release create "$CI_COMMIT_TAG" \ + --name "$CI_COMMIT_TAG" \ + --notes-file /tmp/release-notes.md \ + "artifacts/Ditto.apk#Ditto-${CI_COMMIT_TAG}.apk" \ + "artifacts/Ditto.aab#Ditto-${CI_COMMIT_TAG}.aab" publish-zapstore: stage: publish