diff --git a/.github/workflows/changelog-verify.yml b/.github/workflows/changelog-verify.yml index 13ef3fe19..04e10e473 100644 --- a/.github/workflows/changelog-verify.yml +++ b/.github/workflows/changelog-verify.yml @@ -26,19 +26,28 @@ jobs: BASE_SHA=${{ github.event.pull_request.base.sha }} HEAD_SHA=${{ github.event.pull_request.head.sha }} - # Use 3-dot syntax so we only see changes introduced by this PR - CHANGED_FILES=$(git diff --name-only "$BASE_SHA...$HEAD_SHA" -- changelog.d/ | grep -vE "^$" || true) + # Use 3-dot syntax so we only see changes introduced by this PR + CHANGED_FILES=$(git diff --name-status "$BASE_SHA...$HEAD_SHA" -- changelog.d/ | awk '$1 ~ /^[AM]/ {print $2}' || true) + DELETED_FILES=$(git diff --name-status "$BASE_SHA...$HEAD_SHA" -- changelog.d/ | awk '$1 ~ /^D/ {print $2}' || true) + CHANGELOG_MODIFIED=$(git diff --name-only "$BASE_SHA...$HEAD_SHA" -- CHANGELOG.md | grep -vE "^$" || true) else # For push events, compare with the previous commit HEAD_SHA=${{ github.sha }} BASE_SHA=$(git rev-parse HEAD~1) - CHANGED_FILES=$(git diff --name-only "$BASE_SHA" "$HEAD_SHA" -- changelog.d/ | grep -vE "^$" || true) + CHANGED_FILES=$(git diff --name-status "$BASE_SHA" "$HEAD_SHA" -- changelog.d/ | awk '$1 ~ /^[AM]/ {print $2}' || true) + DELETED_FILES=$(git diff --name-status "$BASE_SHA" "$HEAD_SHA" -- changelog.d/ | awk '$1 ~ /^D/ {print $2}' || true) + CHANGELOG_MODIFIED=$(git diff --name-only "$BASE_SHA" "$HEAD_SHA" -- CHANGELOG.md | grep -vE "^$" || true) fi echo "BASE_SHA: $BASE_SHA" echo "HEAD_SHA: $HEAD_SHA" + echo "CHANGELOG_MODIFIED: ${CHANGELOG_MODIFIED:-false}" echo "CHANGED_FILES:" echo "$CHANGED_FILES" + if [ -n "$DELETED_FILES" ]; then + echo "DELETED_CHANGELOG_FILES:" + echo "$DELETED_FILES" + fi # Check if commit is by zebot with wire-build update message COMMIT_AUTHOR=$(git log --format="%an" -1 $HEAD_SHA) @@ -51,16 +60,26 @@ jobs: exit 0 fi - if [ -z "$CHANGED_FILES" ]; then - echo "No files changed in changelog.d/ for this ${GITHUB_EVENT_NAME:-event}." - echo "Every PR must add or modify at least one changelog.d/ entry." - exit 1 - fi - PATTERN='^(Added|Changed|Deprecated|Removed|Fixed|Security): .+' LINE_FOUND=false + ALLOW_RELEASE_CLEANUP=false + + if [ -z "$CHANGED_FILES" ]; then + if [ -n "$DELETED_FILES" ] && [ -n "$CHANGELOG_MODIFIED" ]; then + echo "No new or modified changelog.d/ entries found, but CHANGELOG.md changed, so this release cleanup is allowed." + ALLOW_RELEASE_CLEANUP=true + else + echo "No files changed in changelog.d/ for this ${GITHUB_EVENT_NAME:-event}." + echo "Every PR must add or modify at least one changelog.d/ entry." + exit 1 + fi + fi for file in $CHANGED_FILES; do + if [ ! -f "$file" ]; then + echo "Skipping missing changelog file: $file" + continue + fi while IFS= read -r line; do if [[ -z "$line" ]]; then continue @@ -75,7 +94,7 @@ jobs: done < "$file" done - if [ "$LINE_FOUND" = false ]; then + if [ "$LINE_FOUND" = false ] && [ "$ALLOW_RELEASE_CLEANUP" = false ]; then echo "No valid lines found in changelog.d/ files. Ensure there is a newline at the end of files." echo "Please read more policies about changelog at https://keepachangelog.com/en/1.1.0" exit 1 diff --git a/CHANGELOG.md b/CHANGELOG.md index af41ae2b5..972567033 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,30 @@ --> +# Relase 5.25 R1 + +## Release notes + +* Changed: removing all old changelogs to cut a release for wire-server-deploy 5.25 for prod, wiab-staging and wiab-dev (#898) + +## Internal Dependencies + +* Removed: old images not in use anymore from proc_system_containers.sh (#909) +* Fixed: update reference for 5.25 to 5.25.21 without any pinned component + Added: logging in case of helm chart failure (#900) +* Fixed: values for smtp helm chart (#900) + +## External dependencies + +* Fixed: Enable MLS protocol in production and dev values for brig (#909) +* Fixed: Refactored terraform logic for CD purposes for all solutions wiab-dev(demo), wiab-staging and default (equivalent). All logic to pick up the region and server type remains in the respective scripts, there will be an iteration over regions first, terraform would just validate the regions and server types (#900) +* Fixed: smtp helm chart values + Fixed: issue due to requirement of mls keys for webapp for wiab-dev when MLS is not required (#900) + +## Offline Documentation + +* Fixed: commands in wiab-stag documentation (#907) + # Relase 5.25 ## release-notes diff --git a/ansible/inventory/demo/host.yml b/ansible/inventory/demo/host.yml index 1ef28e0a5..e98fc4d30 100644 --- a/ansible/inventory/demo/host.yml +++ b/ansible/inventory/demo/host.yml @@ -18,7 +18,7 @@ wiab: wire_ip: "" # artifact_hash - artifact_hash: "7a1e98f9ca610349824c89e2fd2e967b779a2f91" + artifact_hash: "2dd562a37d449eb88eb1f77dcad5c9153987af5f" # docker vars docker_ce_version: "5:28.1.1-1~ubuntu.24.04~noble" diff --git a/ansible/inventory/demo/wiab-staging.yml b/ansible/inventory/demo/wiab-staging.yml index f04fa4677..66f2d97be 100644 --- a/ansible/inventory/demo/wiab-staging.yml +++ b/ansible/inventory/demo/wiab-staging.yml @@ -6,6 +6,6 @@ wiab-staging: ansible_user: 'demo' ansible_ssh_private_key_file: "~/.ssh/id_ed25519" vars: - artifact_hash: 7a1e98f9ca610349824c89e2fd2e967b779a2f91 + artifact_hash: 2dd562a37d449eb88eb1f77dcad5c9153987af5f # when enabled, disable WAN SNAT/masquerading for VMs on the private network private_deployment: true diff --git a/changelog.d/0-release-notes/release-5.25 b/changelog.d/0-release-notes/release-5.25 deleted file mode 100644 index d2efade8b..000000000 --- a/changelog.d/0-release-notes/release-5.25 +++ /dev/null @@ -1 +0,0 @@ -Changed: removing all old changelogs to cut a release for wire-server-deploy 5.25 for prod, wiab-staging and wiab-dev diff --git a/changelog.d/2-wire-builds/clean-old-system-images b/changelog.d/2-wire-builds/clean-old-system-images deleted file mode 100644 index 0ef8e1cef..000000000 --- a/changelog.d/2-wire-builds/clean-old-system-images +++ /dev/null @@ -1 +0,0 @@ -Removed: old images not in use anymore from proc_system_containers.sh diff --git a/changelog.d/2-wire-builds/release-5.25 b/changelog.d/2-wire-builds/release-5.25 deleted file mode 100644 index fb05a2866..000000000 --- a/changelog.d/2-wire-builds/release-5.25 +++ /dev/null @@ -1,2 +0,0 @@ -Fixed: update reference for 5.25 to 5.25.21 without any pinned component -Added: logging in case of helm chart failure diff --git a/changelog.d/2-wire-builds/smpt-values-fix b/changelog.d/2-wire-builds/smpt-values-fix deleted file mode 100644 index 5c55e4a80..000000000 --- a/changelog.d/2-wire-builds/smpt-values-fix +++ /dev/null @@ -1 +0,0 @@ -Fixed: values for smtp helm chart diff --git a/changelog.d/3-deploy-builds/fix-mls-value b/changelog.d/3-deploy-builds/fix-mls-value deleted file mode 100644 index 9103a7cd5..000000000 --- a/changelog.d/3-deploy-builds/fix-mls-value +++ /dev/null @@ -1 +0,0 @@ -Fixed: Enable MLS protocol in production and dev values for brig diff --git a/changelog.d/3-deploy-builds/heztner-deployment b/changelog.d/3-deploy-builds/heztner-deployment deleted file mode 100644 index 7e5d50bcb..000000000 --- a/changelog.d/3-deploy-builds/heztner-deployment +++ /dev/null @@ -1 +0,0 @@ -Fixed: Refactored terraform logic for CD purposes for all solutions wiab-dev(demo), wiab-staging and default (equivalent). All logic to pick up the region and server type remains in the respective scripts, there will be an iteration over regions first, terraform would just validate the regions and server types diff --git a/changelog.d/3-deploy-builds/wiab-dev-mls-kys b/changelog.d/3-deploy-builds/wiab-dev-mls-kys deleted file mode 100644 index 2ee9129ce..000000000 --- a/changelog.d/3-deploy-builds/wiab-dev-mls-kys +++ /dev/null @@ -1,2 +0,0 @@ -Fixed: smtp helm chart values -Fixed: issue due to requirement of mls keys for webapp for wiab-dev when MLS is not required diff --git a/changelog.d/4-docs/wiab-stag-docs b/changelog.d/4-docs/wiab-stag-docs deleted file mode 100644 index 534eb2e8c..000000000 --- a/changelog.d/4-docs/wiab-stag-docs +++ /dev/null @@ -1 +0,0 @@ -Fixed: commands in wiab-stag documentation