From c203e03f66974236c2bf979784341478e49854b4 Mon Sep 17 00:00:00 2001 From: dv-hossam-radwan Date: Thu, 4 Apr 2024 14:35:12 +0200 Subject: [PATCH 01/55] recreate release-source --- .github/workflows/release-source.yml | 362 ++++++++------------------- 1 file changed, 101 insertions(+), 261 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 97d64234..8a7f874b 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -14,6 +14,7 @@ env: GA_VERSION: "main" GITHUB_USER: "datavisyn-bot" WORKFLOW_BRANCH: "main" + GITHUB_TOKEN: ${{ secrets.REPO_TOKEN }} jobs: release-repository: @@ -25,283 +26,122 @@ jobs: echo 'only the develop branch can be released.' exit 1 # checkout specific repository - - uses: actions/checkout@v3 + - name: checkout repository + uses: actions/checkout@v3 with: token: ${{ github.token }} # checkout this workflow repository to get actions - - uses: actions/checkout@v3 + - name: checkout github-workflows repository + uses: actions/checkout@v3 with: repository: datavisyn/github-workflows ref: ${{ env.WORKFLOW_BRANCH }} path: ./tmp/github-workflows - - uses: ./tmp/github-workflows/.github/actions/check-actor + - name: check actor + uses: ./tmp/github-workflows/.github/actions/check-actor with: dv_devops: ${{ vars.DV_DEVOPS }} actor: ${{ github.actor }} qms_are_allowed: "false" - - name: read known repositories - id: get-known-repositories - run: | - if [[ $REPO_IS_PRIVATE = true ]]; then - echo "download private known repositories. " - curl -H "Authorization: token $GITHUB_TOKEN" \ - -H 'Accept: application/vnd.github.v4.raw' \ - -o known_repositories.json \ - -L https://raw.githubusercontent.com/datavisyn/github-maintenance/main/release/next_repositories_sources.json - else - echo "download public known repositories. " - curl -H "Authorization: token $GITHUB_TOKEN" \ - -H 'Accept: application/vnd.github.v4.raw' \ - -o known_repositories.json \ - -L https://raw.githubusercontent.com/datavisyn/github-maintenance/main/release/next_repositories_sources_public.json - fi - known_repositories=$( jq -c '.' ./known_repositories.json | jq -R '.') - echo "known_repositories=${known_repositories}" - rm ./known_repositories.json - echo "known_repositories=$known_repositories" >> "$GITHUB_OUTPUT" - env: - REPO_IS_PRIVATE: ${{github.event.repository.private}} - GITHUB_TOKEN: ${{ github.token }} - name: get release version id: get-release-version run: | - known_repositories=$KNOWN_REPOS - repository=$REPOSITORY_NAME - echo "repository: ${repository}" - echo "$known_repositories" | jq -r '.' - checked_repository="$(echo "$known_repositories" | jq -r '.' | jq --arg var "$repository" '.[$var]')" - release_version="$(echo "$checked_repository" | jq -r '.version')" - new_branch_name=release/$release_version - next_dev_version=$(echo "$checked_repository" | jq -r '.next_dev_version') - private=$(echo "$checked_repository" | jq -r '.private') - echo "release_version=$release_version" - echo "next_dev_version=$next_dev_version" - echo "new_branch_name=$new_branch_name" - echo "main_branch_name=$main_branch_name" - echo "private=$private" - # shellcheck disable=SC2129 - echo "release_version=$release_version" >> "$GITHUB_OUTPUT" - echo "new_branch_name=$new_branch_name" >> "$GITHUB_OUTPUT" - echo "next_dev_version=$next_dev_version" >> "$GITHUB_OUTPUT" - echo "private=$private" >> "$GITHUB_OUTPUT" - env: - KNOWN_REPOS: ${{ steps.get-known-repositories.outputs.known_repositories }} - REPOSITORY_NAME: ${{ github.event.repository.name }} - - uses: octokit/request-action@v2.x - id: get-latest-release - continue-on-error: true - name: get latest release - with: - route: GET /repos/{owner}/{repo}/releases/latest - owner: ${{ github.repository_owner }} - repo: ${{ github.event.repository.name }} - env: - GITHUB_TOKEN: ${{ github.token }} - - name: error handling if latest release was not callable - if: ${{ steps.get-latest-release.outputs.status != 404 && steps.get-latest-release.outputs.status != 200 }} - run: exit 1 - - name: check release version - if: ${{ steps.get-latest-release.outputs.status == 200 }} - run: | - if [ "$RELEASE_VERSION" == "$LATEST_RELEASE" ]; then - echo "nothing todo!" - exit 1 - # check if exit 1 is really the best solution - fi - # TODO: semver - check if version is lower than given version - env: - LATEST_RELEASE: ${{ fromJson(steps.get-latest-release.outputs.data).tag_name }} - RELEASE_VERSION: ${{ steps.get-release-version.outputs.release_version }} - - name: create/get release branch - run: | - echo "create/get release branch" - if git rev-parse --verify --quiet "origin/$BRANCH_NAME"; then - echo "branch exists!" - git checkout "$BRANCH_NAME" - else - echo "create branch" - git checkout -b "$BRANCH_NAME" - fi - env: - BRANCH_NAME: ${{ steps.get-release-version.outputs.new_branch_name }} - - name: prepare release - uses: ./tmp/github-workflows/.github/actions/release-source-changes - with: - known_repositories: ${{ steps.get-known-repositories.outputs.known_repositories }} - repository_version: ${{ steps.get-release-version.outputs.release_version }} - ga_version: ${{ env.GA_VERSION }} - prepare_release: true - - name: delete tmp files - run: | - rm -rf ./tmp/github-workflows - - name: create release notes - id: release-notes - run: | - echo "create release notes" - readarray -t my_array < <(git log 'origin/main..develop' --pretty=format:%s) - readme="## Release notes\n" - commit_titles="" - for logs in "${my_array[@]}"; do - if [[ ${logs,,} != merge* && ${logs,,} != "prepare next dev"* ]]; - then - commit_titles="$commit_titles\n* $logs" - fi - echo "test" - done - readme="$readme$commit_titles\n\n### Release dependencies first\n\nIn case of dependent visyn repositories follow dependency tree from the top.\n\n" - readme="$readme### 🏁 Finish line\n\n" - readme="$readme* [ ] Inform colleagues and customers about the release\n" - readme="$readme* [ ] Celebrate the new release 🥳" - echo -e "$readme" - echo "commits=$commit_titles" - echo "readme=$readme" >> "$GITHUB_OUTPUT" - echo "commits=$commit_titles" >> "$GITHUB_OUTPUT" - - name: setup git config + release_version="$(jq -r '.version' package.json | cut -d '-' -f 1)" + echo "RELEASE_VERSION=$release_version" >> "$GITHUB_ENV" + - name: create release branch run: | git config user.name "$GITHUB_ACTOR" git config user.email "<>" - env: - GITHUB_ACTOR: ${{ github.actor }} - - name: push branch - run: | - echo "push branch" - git commit -am "[skip ci]Prepare release v$RELEASE_VERSION" - git push origin "$BRANCH_NAME" - env: - RELEASE_VERSION: ${{ steps.get-release-version.outputs.release_version }} - BRANCH_NAME: ${{ steps.get-release-version.outputs.new_branch_name }} - - name: trigger build - uses: datavisyn/github-action-trigger-workflow@v1 - with: - owner: ${{ github.repository_owner }} - repo: ${{ github.event.repository.name }} - github_token: ${{ github.token }} - workflow_file_name: "build.yml" - ref: "${{ steps.get-release-version.outputs.new_branch_name }}" - github_user: ${{ env.GITHUB_USER }} - - name: create pull request + git checkout -b release/"$RELEASE_VERSION" + git push origin release/"$RELEASE_VERSION" + - name: Update package.json + run: | + sed -i "s/.*version.*/ \"version\": \"$RELEASE_VERSION\",/" package.json + git add package.json + git commit -m "Update package.json version to $RELEASE_VERSION" + git push origin release/"$RELEASE_VERSION" + - name: change charts and subcharts version + if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' }} + run: | + cd deploy/helm + ls_result="$(ls)" + # update chart version + for dir in $ls_result; do \ + sed -i "s/^version.*/version: $RELEASE_VERSION/" "$dir"/Chart.yaml;\ + sed -i "s/^appVersion.*/appVersion: \"$RELEASE_VERSION\"/" "$dir"/Chart.yaml;\ + done + # update subchart version + for folder in ./*; do \ + if [ -d "$folder/subcharts" ]; then \ + sed -i "s/^version.*/version: $RELEASE_VERSION/" "$folder"/subcharts/*/Chart.yaml; \ + sed -i "s/^appVersion.*/appVersion: \"$RELEASE_VERSION\"/" "$folder"/subcharts/*/Chart.yaml; \ + fi; \ + done + # commit and push changes + git add . + git commit -m "Update chart version to $RELEASE_VERSION" + git push origin release/"$RELEASE_VERSION" + - name: update imageTag and repository_tag in values files + if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' }} + run: | + cd deploy/helm + ls_result="$(ls)" + for dir in $ls_result; do \ + echo "Processing $dir"; \ + if [ -e "$dir/values.yaml" ]; then \ + if grep -q "imageTag" "$dir/values.yaml"; then \ + sed -i "s/^imageTag.*/imageTag: \&imageTag \"v$RELEASE_VERSION\"/" "$dir"/values.yaml; \ + fi; \ + if grep -q "repository_tag" "$dir/values.yaml"; then \ + sed -i "s/.*repository_tag.*/ repository_tag: v$RELEASE_VERSION/" "$dir"/values.yaml; \ + fi; \ + fi; \ + if [ -e "$dir/values/values.yaml" ]; then + if grep -q "imageTag" "$dir/values/values.yaml"; then \ + sed -i "s/^imageTag.*/imageTag: \&imageTag \"v$RELEASE_VERSION\"/" "$dir"/values/values.yaml; \ + fi; \ + if grep -q "repository_tag" "$dir/values/values.yaml"; then \ + sed -i "s/.*repository_tag.*/ repository_tag: v$RELEASE_VERSION/" "$dir"/values/values.yaml; \ + fi; \ + fi; \ + done + # commit and push changes + git add . + git commit -m "Update imageTag & repository_tag if exists in values files to v$RELEASE_VERSION" + git push origin release/"$RELEASE_VERSION" + - name: update readme files + if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' }} + run: | + # install homebrew package manager + yes | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" + (echo; echo "eval \"$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)\"") >> /home/runner/.bashrc + eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" + sudo apt-get install build-essential + # install helm-docs + brew install norwoodj/tap/helm-docs + # update readme files + cd deploy/helm + helm-docs . + # commit and push changes + git add . + git commit -m "Update Helm documentation" + git push origin release/"$RELEASE_VERSION" + - name: create pr id: create-pr - uses: octokit/request-action@v2.x - with: - route: POST /repos/{owner}/{repo}/pulls - owner: ${{ github.repository_owner }} - repo: ${{ github.event.repository.name }} - title: "Release v${{ steps.get-release-version.outputs.release_version }}" - body: '"${{ steps.release-notes.outputs.readme }}"' - head: "${{ steps.get-release-version.outputs.new_branch_name }}" - base: "main" - draft: false - env: - GITHUB_TOKEN: ${{ github.token }} - - name: check pr status - if: ${{ steps.create-pr.outputs.status != 201 }} - run: | - echo "something went wrong with the pr" - echo "data: $DATA" - echo "status: $STATUS" - exit 1 - env: - DATA: ${{ steps.create-pr.outputs.data }} - STATUS: ${{ steps.create-pr.outputs.status }} - - name: merge pull request - id: merge-pr - uses: octokit/request-action@v2.x - with: - route: PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge - owner: ${{ github.repository_owner }} - repo: ${{ github.event.repository.name }} - pull_number: ${{ fromJson(steps.create-pr.outputs.data).number }} - commit_title: "Release v${{ steps.get-release-version.outputs.release_version }}" - merge_method: "squash" - base: "main" - draft: false - env: - GITHUB_TOKEN: ${{ github.token }} - - name: check merge status - if: ${{ steps.merge-pr.outputs.status != 200 }} - run: | - echo "something went wrong with the merge of the pr" - echo "data: $DATA" - echo "status: $STATUS" - exit 1 - env: - DATA: ${{ steps.merge-pr.outputs.data }} - STATUS: ${{ steps.merge-pr.outputs.status }} - - name: trigger publish - uses: datavisyn/github-action-trigger-workflow@v1 - if: ${{ !steps.get-release-version.outputs.private || steps.get-release-version.outputs.private == 'false' }} - with: - owner: ${{ github.repository_owner }} - repo: ${{ github.event.repository.name }} - github_token: ${{ github.token }} - workflow_file_name: "publish.yml" - ref: "main" - github_user: ${{ env.GITHUB_USER }} - - name: delete release branch - run: | - echo "delete release branch" - git fetch - git status - git checkout develop - git pull - git branch -D "$BRANCH_NAME" - git push origin --delete "$BRANCH_NAME" - git status - env: - BRANCH_NAME: ${{ steps.get-release-version.outputs.new_branch_name }} - - name: create release - id: create-release - uses: octokit/request-action@v2.x - with: - route: POST /repos/{owner}/{repo}/releases - owner: ${{ github.repository_owner }} - repo: ${{ github.event.repository.name }} - tag_name: "v${{ steps.get-release-version.outputs.release_version }}" - target_commitish: main - name: "v${{ steps.get-release-version.outputs.release_version }}" - body: '"${{ steps.release-notes.outputs.commits }}"' - draft: false - prerelease: false - generate_release_notes: false - env: - GITHUB_TOKEN: ${{ github.token }} - - name: check release status - if: ${{ steps.create-release.outputs.status != 201 }} - run: | - echo "something went wrong with the creation of the release" - echo "data: $DATA" - echo "status: $STATUS" - exit 1 - env: - DATA: ${{ steps.create-release.outputs.data }} - STATUS: ${{ steps.create-release.outputs.status }} - - name: git fetch run: | - git status - echo "git fetch" - git fetch - git checkout main - git pull --rebase - git checkout develop - git pull --rebase - git status - - name: merge main to develop - run: | - echo "merge main to develop" - git merge -X theirs main --allow-unrelated-histories - - name: prepare develop - uses: ./tmp/github-workflows/.github/actions/release-source-changes - with: - known_repositories: ${{ steps.get-known-repositories.outputs.known_repositories }} - repository_version: ${{ steps.get-release-version.outputs.next_dev_version }} - ga_version: main - prepare_release: false - - name: delete tmp files - run: | - rm -rf ./tmp/github-workflows - - name: push develop - run: | - echo "push develop" - git add . - git commit --allow-empty -am "Prepare next development" - git push origin develop + # create a pull request + curl -L \ + -X POST \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${{ env.GITHUB_TOKEN}}" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + https://api.github.com/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls \ + -d '{"title":"Release ${{ env.RELEASE_VERSION }}","body":"release ${{ env.RELEASE_VERSION }}","head":"release/${{ env.RELEASE_VERSION }}","base":"main","draft":false}' + + + + + + + + \ No newline at end of file From 833a41b1664865589bdae345d280c8b3c5c70e61 Mon Sep 17 00:00:00 2001 From: dv-hossam-radwan Date: Thu, 4 Apr 2024 14:54:55 +0200 Subject: [PATCH 02/55] Update GITHUB_TOKEN in release-source.yml --- .github/workflows/release-source.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 8a7f874b..57dd23e8 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -14,7 +14,7 @@ env: GA_VERSION: "main" GITHUB_USER: "datavisyn-bot" WORKFLOW_BRANCH: "main" - GITHUB_TOKEN: ${{ secrets.REPO_TOKEN }} + GITHUB_TOKEN: ${{ secrets.DATAVISYN_BOT_REPO_TOKEN }} jobs: release-repository: From 74bdf191e2912545abd789348089950302d4a432 Mon Sep 17 00:00:00 2001 From: dv-hossam-radwan Date: Tue, 23 Apr 2024 12:27:20 +0200 Subject: [PATCH 03/55] Add release version input to release-source workflow Fix lint in release-source.yml Fix lint in release-source.yml Fix lint in release-source.yml Fix version validation error in release-source.yml Fix lint Fix lint in release-source.yml Remove empty line in release-source workflow Update release_version input to be required in release-source.yml Update release-source workflow Update release-source workflow inputs Update release-source workflow to use workflow_dispatch event Update release-source workflow Fix file_release_version extraction in release-source.yml Add version increment logic Fix version comparison bug Fix version validation in release-source.yml extend version comparison logic in release-source.yml Fix version comparison bug in release-source.yml Fix version comparison bug in release-source.yml Fix version comparison bug in release-source.yml Fix version comparison bug in release-source.yml Fix version comparison bug in release-source.yml Fix version comparison bug in release-source.yml Fix version comparison bug in release-source.yml Fix version comparison bug in release-source.yml --- .github/workflows/release-source.yml | 68 +++++++++++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 57dd23e8..db56c169 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -2,6 +2,7 @@ name: release-source on: workflow_call: + permissions: contents: write @@ -43,11 +44,76 @@ jobs: dv_devops: ${{ vars.DV_DEVOPS }} actor: ${{ github.actor }} qms_are_allowed: "false" - - name: get release version + - name: get release version from package.json id: get-release-version + if: ${{ github.event.inputs.release_version == null }} run: | release_version="$(jq -r '.version' package.json | cut -d '-' -f 1)" echo "RELEASE_VERSION=$release_version" >> "$GITHUB_ENV" + - name: get release version from input + id: get-release-version-from-input + if: ${{ github.event.inputs.release_version != null }} + run: | + input_release_version="${{ github.event.inputs.release_version }}" + if echo "$input_release_version" | grep -q '^[0-9.]*$'; then + echo "valind input" + else + echo "Error: invaled input version." + exit 1 + fi + + file_release_version="$(jq -r '.version' package.json | cut -d '-' -f 1)" + file_release_version="$(echo $file_release_version | sed 's/[^0-9.]*//g')" + echo "file_release_version=$file_release_version" + file_major=$(echo "$file_release_version" | cut -d'.' -f1) + file_minor=$(echo "$file_release_version" | cut -d'.' -f2) + file_patch=$(echo "$file_release_version" | cut -d'.' -f3) + + + input_major=$(echo "$input_release_version" | cut -d'.' -f1) + input_minor=$(echo "$input_release_version" | cut -d'.' -f2) + input_patch=$(echo "$input_release_version" | cut -d'.' -f3) + + max_major=$(("$file_major" + 1)) + max_minor=$(("$file_minor" + 1)) + max_patch=$(("$file_patch" + 1)) + + echo "max versions: $max_major.$max_minor.$max_patch" + + + if [ "$input_major" -gt "$max_major" ]; then + echo "Error: Major version cannot be greater than the current version by more than 1." + exit 1 + elif [ "$input_minor" -gt "$max_minor" ]; then + echo "Error: Minor version cannot be greater than the current version by more than 1." + exit 1 + elif [ "$input_patch" -gt "$max_patch" ]; then + echo "Error: Patch version cannot be greater than the current version by more than 1." + exit 1 + elif [ "$input_major" -lt "$file_major" ]; then + echo "Error: Major version cannot be less than the current version." + exit 1 + elif [ "$input_minor" -lt "$file_minor" ]; then + if [ "$input_major" -eq "$max_major" ] && [ "$input_minor" -eq 0 ] && [ "$input_patch" -eq 0 ]; then + echo "New version is $input_major.$input_minor.$input_patch" + else + echo "Error: Minor version cannot be less than the current version." + exit 1 + fi + elif [ "$input_patch" -lt "$file_patch" ]; then + if [ "$input_major" -eq "$max_major" ] && [ "$input_minor" -eq 0 ] && [ "$input_patch" -eq 0 ]; then + echo "New version is $input_major.$input_minor.$input_patch" + elif [ "$input_major" -eq "$file_major" ] && [ "$input_minor" -eq "$max_minor" ] && [ "$input_patch" -eq 0 ]; then + echo "New version is $input_major.$input_minor.$input_patch" + else + echo "Error: Patch version cannot be less than the current version." + exit 1 + fi + fi + + release_version=$input_release_version + echo "RELEASE_VERSION=$release_version" >> "$GITHUB_ENV" + - name: create release branch run: | git config user.name "$GITHUB_ACTOR" From 8fdde8235879ba1a016d686841b4fcc8d1f3be09 Mon Sep 17 00:00:00 2001 From: dv-hossam-radwan Date: Wed, 24 Apr 2024 14:14:59 +0200 Subject: [PATCH 04/55] Fix lint --- .github/workflows/release-source.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index db56c169..c21ab721 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -56,14 +56,14 @@ jobs: run: | input_release_version="${{ github.event.inputs.release_version }}" if echo "$input_release_version" | grep -q '^[0-9.]*$'; then - echo "valind input" + echo "Valind input" else echo "Error: invaled input version." exit 1 fi file_release_version="$(jq -r '.version' package.json | cut -d '-' -f 1)" - file_release_version="$(echo $file_release_version | sed 's/[^0-9.]*//g')" + file_release_version="${file_release_version//[^0-9.]}" echo "file_release_version=$file_release_version" file_major=$(echo "$file_release_version" | cut -d'.' -f1) file_minor=$(echo "$file_release_version" | cut -d'.' -f2) @@ -95,24 +95,23 @@ jobs: exit 1 elif [ "$input_minor" -lt "$file_minor" ]; then if [ "$input_major" -eq "$max_major" ] && [ "$input_minor" -eq 0 ] && [ "$input_patch" -eq 0 ]; then - echo "New version is $input_major.$input_minor.$input_patch" + echo "Valid version input" else echo "Error: Minor version cannot be less than the current version." exit 1 fi elif [ "$input_patch" -lt "$file_patch" ]; then if [ "$input_major" -eq "$max_major" ] && [ "$input_minor" -eq 0 ] && [ "$input_patch" -eq 0 ]; then - echo "New version is $input_major.$input_minor.$input_patch" + echo "Valid version input" elif [ "$input_major" -eq "$file_major" ] && [ "$input_minor" -eq "$max_minor" ] && [ "$input_patch" -eq 0 ]; then - echo "New version is $input_major.$input_minor.$input_patch" + echo "Valid version input" else echo "Error: Patch version cannot be less than the current version." exit 1 fi fi - - release_version=$input_release_version - echo "RELEASE_VERSION=$release_version" >> "$GITHUB_ENV" + echo "New version is $input_major.$input_minor.$input_patch" + echo "RELEASE_VERSION=$input_release_version" >> "$GITHUB_ENV" - name: create release branch run: | From c33e1687dacad8897428a0901a93015156d5e570 Mon Sep 17 00:00:00 2001 From: dv-hossam-radwan Date: Wed, 8 May 2024 09:57:36 +0200 Subject: [PATCH 05/55] Fix typo in release-source.yml --- .github/workflows/release-source.yml | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index c21ab721..96860497 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -56,9 +56,9 @@ jobs: run: | input_release_version="${{ github.event.inputs.release_version }}" if echo "$input_release_version" | grep -q '^[0-9.]*$'; then - echo "Valind input" + echo "Valid input" else - echo "Error: invaled input version." + echo "Error: invalid input version." exit 1 fi @@ -117,16 +117,16 @@ jobs: run: | git config user.name "$GITHUB_ACTOR" git config user.email "<>" - git checkout -b release/"$RELEASE_VERSION" - git push origin release/"$RELEASE_VERSION" + git checkout -b release-"$RELEASE_VERSION" + git push origin release-"$RELEASE_VERSION" - name: Update package.json run: | sed -i "s/.*version.*/ \"version\": \"$RELEASE_VERSION\",/" package.json git add package.json git commit -m "Update package.json version to $RELEASE_VERSION" - git push origin release/"$RELEASE_VERSION" + git push origin release-"$RELEASE_VERSION" - name: change charts and subcharts version - if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' }} + if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' || github.repository == 'datavisyn/test-app' }} run: | cd deploy/helm ls_result="$(ls)" @@ -145,9 +145,9 @@ jobs: # commit and push changes git add . git commit -m "Update chart version to $RELEASE_VERSION" - git push origin release/"$RELEASE_VERSION" + git push origin release-"$RELEASE_VERSION" - name: update imageTag and repository_tag in values files - if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' }} + if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' || github.repository == 'datavisyn/test-app' }} run: | cd deploy/helm ls_result="$(ls)" @@ -173,9 +173,9 @@ jobs: # commit and push changes git add . git commit -m "Update imageTag & repository_tag if exists in values files to v$RELEASE_VERSION" - git push origin release/"$RELEASE_VERSION" + git push origin release-"$RELEASE_VERSION" - name: update readme files - if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' }} + if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' || github.repository == 'datavisyn/test-app' }} run: | # install homebrew package manager yes | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" @@ -186,11 +186,13 @@ jobs: brew install norwoodj/tap/helm-docs # update readme files cd deploy/helm - helm-docs . + helm dep update + helm dep build + helm-docs --document-dependency-values # commit and push changes git add . git commit -m "Update Helm documentation" - git push origin release/"$RELEASE_VERSION" + git push origin release-"$RELEASE_VERSION" - name: create pr id: create-pr run: | @@ -201,7 +203,7 @@ jobs: -H "Authorization: Bearer ${{ env.GITHUB_TOKEN}}" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls \ - -d '{"title":"Release ${{ env.RELEASE_VERSION }}","body":"release ${{ env.RELEASE_VERSION }}","head":"release/${{ env.RELEASE_VERSION }}","base":"main","draft":false}' + -d '{"title":"Release ${{ env.RELEASE_VERSION }}","body":"release ${{ env.RELEASE_VERSION }}","head":"release-${{ env.RELEASE_VERSION }}","base":"main","draft":false}' From 70319fed9b50fa44dfd9a51afa7acf9317ce6b1a Mon Sep 17 00:00:00 2001 From: dv-hossam-radwan Date: Wed, 8 May 2024 10:21:45 +0200 Subject: [PATCH 06/55] add helm dep update & build Fix typo fix helm dep fix helm dep fix helm build fix helm build add chartmuseum token add chartmuseum Add CHARTMUSEUM_TOKEN to environment variables chore: Update Chart.yaml with release version for marvinjs fix typo fix typo fix lint --- .github/workflows/release-source.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 96860497..0d861fc4 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -16,6 +16,7 @@ env: GITHUB_USER: "datavisyn-bot" WORKFLOW_BRANCH: "main" GITHUB_TOKEN: ${{ secrets.DATAVISYN_BOT_REPO_TOKEN }} + CHARTMUSEUM_TOKEN: ${{ secrets.CHARTMUSEUM_TOKEN }} jobs: release-repository: @@ -125,6 +126,8 @@ jobs: git add package.json git commit -m "Update package.json version to $RELEASE_VERSION" git push origin release-"$RELEASE_VERSION" + - name: Add Helm repository + run: helm repo add datavisyn --username admin --password ${{ env.CHARTMUSEUM_TOKEN }} https://chartmuseum.app.datavisyn.io - name: change charts and subcharts version if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' || github.repository == 'datavisyn/test-app' }} run: | @@ -134,12 +137,15 @@ jobs: for dir in $ls_result; do \ sed -i "s/^version.*/version: $RELEASE_VERSION/" "$dir"/Chart.yaml;\ sed -i "s/^appVersion.*/appVersion: \"$RELEASE_VERSION\"/" "$dir"/Chart.yaml;\ + sed -i "/ - name: marvinjs/{n; s/ version.*/ version: $RELEASE_VERSION/}" "$dir"/Chart.yaml;\ done # update subchart version for folder in ./*; do \ if [ -d "$folder/subcharts" ]; then \ sed -i "s/^version.*/version: $RELEASE_VERSION/" "$folder"/subcharts/*/Chart.yaml; \ sed -i "s/^appVersion.*/appVersion: \"$RELEASE_VERSION\"/" "$folder"/subcharts/*/Chart.yaml; \ + helm dep build "$folder"/subcharts/*; + helm dep update "$folder"/subcharts/*; \ fi; \ done # commit and push changes @@ -169,11 +175,15 @@ jobs: sed -i "s/.*repository_tag.*/ repository_tag: v$RELEASE_VERSION/" "$dir"/values/values.yaml; \ fi; \ fi; \ + helm dep build "$dir"; \ + helm dep update "$dir"; done # commit and push changes git add . git commit -m "Update imageTag & repository_tag if exists in values files to v$RELEASE_VERSION" git push origin release-"$RELEASE_VERSION" + env: + CHARTMUSEUM_TOKEN: ${{ secrets.CHARTMUSEUM_TOKEN }} - name: update readme files if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' || github.repository == 'datavisyn/test-app' }} run: | @@ -186,8 +196,6 @@ jobs: brew install norwoodj/tap/helm-docs # update readme files cd deploy/helm - helm dep update - helm dep build helm-docs --document-dependency-values # commit and push changes git add . From 676a0e2615de4a1f451bad8d2307cd1e4bcb759d Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Tue, 4 Jun 2024 16:04:44 +0200 Subject: [PATCH 07/55] add merged PRs as release note --- .github/workflows/release-source.yml | 54 +++++++++++++++++++++++++--- 1 file changed, 50 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 0d861fc4..25edb640 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -201,18 +201,64 @@ jobs: git add . git commit -m "Update Helm documentation" git push origin release-"$RELEASE_VERSION" + #- name: create pr + # id: create-pr + # run: | + # # create a pull request + # curl -L \ + # -X POST \ + # -H "Accept: application/vnd.github+json" \ + # -H "Authorization: Bearer ${{ env.GITHUB_TOKEN}}" \ + # -H "X-GitHub-Api-Version: 2022-11-28" \ + # https://api.github.com/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls \ + # -d '{"title":"Release ${{ env.RELEASE_VERSION }}","body":"release ${{ env.RELEASE_VERSION }}","head":"release-${{ env.RELEASE_VERSION }}","base":"main","draft":false}' + - name: get latest release date + id: get-release-date + run: | + # Fetch the latest release information + LATEST_RELEASE=$(curl -s -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ + "https://api.github.com/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/releases/latest") + + # Extract the published date of the latest release + LATEST_RELEASE_DATE=$(echo "$LATEST_RELEASE" | jq -r '.published_at') + + # Export the date + echo "RELEASE_DATE=$LATEST_RELEASE_DATE" >> "$GITHUB_ENV" + + - name: fetch merged PRs since last release + id: fetch-prs + run: | + # Fetch merged PRs from the develop branch since the last release date + PRS=$(curl -s -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + "https://api.github.com/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls?state=closed&base=develop&sort=updated&direction=desc") + + # Filter PRs merged after the last release date and format them + PR_NOTES=$(echo "$PRS" | jq -r --arg since "${{ env.RELEASE_DATE }}" '.[] | select(.merged_at != null) | select(.merged_at > $since) | "* [#\(.number)](\(.html_url)) \(.title)"') + + # Set the PR_NOTES output + echo "PR_NOTES=$PR_NOTES" >> "$GITHUB_ENV" + - name: create pr id: create-pr run: | - # create a pull request + # Create a pull request with release notes curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${{ env.GITHUB_TOKEN}}" \ + -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls \ - -d '{"title":"Release ${{ env.RELEASE_VERSION }}","body":"release ${{ env.RELEASE_VERSION }}","head":"release-${{ env.RELEASE_VERSION }}","base":"main","draft":false}' - + -d "$(jq -n \ + --arg title "Release ${{ env.RELEASE_VERSION }}" \ + --arg body "## What's changed\n\n${{ env.PR_NOTES }}" \ + --arg head "release-${{ env.RELEASE_VERSION }}" \ + --arg base "main" \ + --argjson draft false \ + '{title: $title, body: $body, head: $head, base: $base, draft: $draft}')" + From de3f21557b06259485b23f39a97b3ff5fdf648fb Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Tue, 4 Jun 2024 16:28:23 +0200 Subject: [PATCH 08/55] add debug --- .github/workflows/release-source.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 25edb640..198c76f6 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -235,8 +235,16 @@ jobs: -H "X-GitHub-Api-Version: 2022-11-28" \ "https://api.github.com/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls?state=closed&base=develop&sort=updated&direction=desc") - # Filter PRs merged after the last release date and format them - PR_NOTES=$(echo "$PRS" | jq -r --arg since "${{ env.RELEASE_DATE }}" '.[] | select(.merged_at != null) | select(.merged_at > $since) | "* [#\(.number)](\(.html_url)) \(.title)"') + # Debugging: Print retrieved PRs + echo "PRS: $PRS" + + # Ensure we only process if PRS is a JSON array + if echo "$PRS" | jq -e . > /dev/null 2>&1; then + # Filter PRs merged after the last release date and format them + PR_NOTES=$(echo "$PRS" | jq -r --arg since "$RELEASE_DATE" '.[] | select(.merged_at != null and .merged_at > $since) | "* [#\(.number)](\(.html_url)) \(.title)"') + else + PR_NOTES="could not fetch release notes" + fi # Set the PR_NOTES output echo "PR_NOTES=$PR_NOTES" >> "$GITHUB_ENV" From e7fa6613b0d8df7a554747821a9148107976126d Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 08:49:36 +0200 Subject: [PATCH 09/55] more permissions --- .github/workflows/release-source.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 198c76f6..0fc4b1ba 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -6,6 +6,7 @@ on: permissions: contents: write + pull-requests: write concurrency: group: '${{ github.workflow }}-${{ github.ref || github.head_ref }}' From 889e12aa6bf8630f4df1ff6240df13183aa95f91 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 08:59:03 +0200 Subject: [PATCH 10/55] write PRs to file --- .github/workflows/release-source.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 0fc4b1ba..9cc38532 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -248,11 +248,14 @@ jobs: fi # Set the PR_NOTES output - echo "PR_NOTES=$PR_NOTES" >> "$GITHUB_ENV" + #echo "PR_NOTES=$PR_NOTES" >> "$GITHUB_ENV" + echo "$PR_NOTES" > pr_notes.txt + - name: create pr id: create-pr run: | + PR_NOTES=$(cat pr_notes.txt) # Create a pull request with release notes curl -L \ -X POST \ From 41ee25ffab405ca3ea747fb3917225764bf73b03 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 09:20:32 +0200 Subject: [PATCH 11/55] fix pr notes --- .github/workflows/release-source.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 9cc38532..b566eabe 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -265,7 +265,7 @@ jobs: https://api.github.com/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls \ -d "$(jq -n \ --arg title "Release ${{ env.RELEASE_VERSION }}" \ - --arg body "## What's changed\n\n${{ env.PR_NOTES }}" \ + --arg body "## What's changed\n\n $PR_NOTES }}" \ --arg head "release-${{ env.RELEASE_VERSION }}" \ --arg base "main" \ --argjson draft false \ From 1d9f89b74a76ec27933719c964bd309aac2cc5a5 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 09:45:42 +0200 Subject: [PATCH 12/55] fix notes --- .github/workflows/release-source.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index b566eabe..5e7d1447 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -265,16 +265,12 @@ jobs: https://api.github.com/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls \ -d "$(jq -n \ --arg title "Release ${{ env.RELEASE_VERSION }}" \ - --arg body "## What's changed\n\n $PR_NOTES }}" \ + --arg body "## What's changed \n\n $PR_NOTES" \ --arg head "release-${{ env.RELEASE_VERSION }}" \ --arg base "main" \ --argjson draft false \ '{title: $title, body: $body, head: $head, base: $base, draft: $draft}')" - - - - \ No newline at end of file From d8d51d6c8dfcdd91defe70e82a86cd63c9720ac8 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 09:51:23 +0200 Subject: [PATCH 13/55] fix notes --- .github/workflows/release-source.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 5e7d1447..7463bcef 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -265,7 +265,7 @@ jobs: https://api.github.com/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls \ -d "$(jq -n \ --arg title "Release ${{ env.RELEASE_VERSION }}" \ - --arg body "## What's changed \n\n $PR_NOTES" \ + --arg body "## What's changed \\n\\n $PR_NOTES" \ --arg head "release-${{ env.RELEASE_VERSION }}" \ --arg base "main" \ --argjson draft false \ From 47043c7578c21385ba55db632c0e852ef7603b07 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 10:17:58 +0200 Subject: [PATCH 14/55] fix notes --- .github/workflows/release-source.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 7463bcef..3db50d6e 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -255,7 +255,7 @@ jobs: - name: create pr id: create-pr run: | - PR_NOTES=$(cat pr_notes.txt) + PR_NOTES="## What's changed\n\n$(cat pr_notes.txt)" # Create a pull request with release notes curl -L \ -X POST \ @@ -265,7 +265,7 @@ jobs: https://api.github.com/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls \ -d "$(jq -n \ --arg title "Release ${{ env.RELEASE_VERSION }}" \ - --arg body "## What's changed \\n\\n $PR_NOTES" \ + --arg body "$PR_NOTES" \ --arg head "release-${{ env.RELEASE_VERSION }}" \ --arg base "main" \ --argjson draft false \ From 75aa215075214f1bb05605034355797505b2efc1 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 10:25:08 +0200 Subject: [PATCH 15/55] fix notes --- .github/workflows/release-source.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 3db50d6e..19ede175 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -255,7 +255,7 @@ jobs: - name: create pr id: create-pr run: | - PR_NOTES="## What's changed\n\n$(cat pr_notes.txt)" + PR_NOTES="## What's changed\n\”$(cat pr_notes.txt | sed ':a;N;$!ba;s/\n/\\n/g')"" # Create a pull request with release notes curl -L \ -X POST \ From 3f45c1ebc342aedb9b56d5ea720360467ab05dba Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 10:28:14 +0200 Subject: [PATCH 16/55] fix notes --- .github/workflows/release-source.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 19ede175..09948df7 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -255,7 +255,7 @@ jobs: - name: create pr id: create-pr run: | - PR_NOTES="## What's changed\n\”$(cat pr_notes.txt | sed ':a;N;$!ba;s/\n/\\n/g')"" + PR_NOTES="## What's changed\n\$(cat pr_notes.txt | sed ':a;N;$!ba;s/\n/\\n/g')" # Create a pull request with release notes curl -L \ -X POST \ From dac87945caa2fe44ff3d82f680329dca73c66d4a Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 10:40:32 +0200 Subject: [PATCH 17/55] fix notes --- .github/workflows/release-source.yml | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 09948df7..0dff73e2 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -216,46 +216,34 @@ jobs: - name: get latest release date id: get-release-date run: | - # Fetch the latest release information LATEST_RELEASE=$(curl -s -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ "https://api.github.com/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/releases/latest") - # Extract the published date of the latest release LATEST_RELEASE_DATE=$(echo "$LATEST_RELEASE" | jq -r '.published_at') - # Export the date echo "RELEASE_DATE=$LATEST_RELEASE_DATE" >> "$GITHUB_ENV" - name: fetch merged PRs since last release id: fetch-prs run: | - # Fetch merged PRs from the develop branch since the last release date PRS=$(curl -s -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ -H "X-GitHub-Api-Version: 2022-11-28" \ "https://api.github.com/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls?state=closed&base=develop&sort=updated&direction=desc") - # Debugging: Print retrieved PRs - echo "PRS: $PRS" - - # Ensure we only process if PRS is a JSON array if echo "$PRS" | jq -e . > /dev/null 2>&1; then - # Filter PRs merged after the last release date and format them PR_NOTES=$(echo "$PRS" | jq -r --arg since "$RELEASE_DATE" '.[] | select(.merged_at != null and .merged_at > $since) | "* [#\(.number)](\(.html_url)) \(.title)"') else PR_NOTES="could not fetch release notes" fi - - # Set the PR_NOTES output - #echo "PR_NOTES=$PR_NOTES" >> "$GITHUB_ENV" echo "$PR_NOTES" > pr_notes.txt - - name: create pr id: create-pr run: | - PR_NOTES="## What's changed\n\$(cat pr_notes.txt | sed ':a;N;$!ba;s/\n/\\n/g')" + #PR_NOTES=$(cat pr_notes.txt) + PR_NOTES=$(cat pr_notes.txt | tr -d '\r') # Create a pull request with release notes curl -L \ -X POST \ @@ -265,7 +253,7 @@ jobs: https://api.github.com/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls \ -d "$(jq -n \ --arg title "Release ${{ env.RELEASE_VERSION }}" \ - --arg body "$PR_NOTES" \ + --arg body "## What's changed\n\n$PR_NOTES" \ --arg head "release-${{ env.RELEASE_VERSION }}" \ --arg base "main" \ --argjson draft false \ From 073f1c1b4abbcf7ca5c00259498650b48a86bd0c Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 10:44:15 +0200 Subject: [PATCH 18/55] fix notes --- .github/workflows/release-source.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 0dff73e2..f98de0fb 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -242,8 +242,8 @@ jobs: - name: create pr id: create-pr run: | - #PR_NOTES=$(cat pr_notes.txt) - PR_NOTES=$(cat pr_notes.txt | tr -d '\r') + PR_NOTES=$(cat pr_notes.txt | sed ':a;N;$!ba;s/\n/\\n/g') + PR_NOTES="## What's changed\\n\\n$PR_NOTES" # Create a pull request with release notes curl -L \ -X POST \ @@ -253,7 +253,7 @@ jobs: https://api.github.com/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls \ -d "$(jq -n \ --arg title "Release ${{ env.RELEASE_VERSION }}" \ - --arg body "## What's changed\n\n$PR_NOTES" \ + --arg body "$PR_NOTES" \ --arg head "release-${{ env.RELEASE_VERSION }}" \ --arg base "main" \ --argjson draft false \ From 3fb01b621caf44418401c3349c7b4254862bd7dc Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 10:47:16 +0200 Subject: [PATCH 19/55] fix notes --- .github/workflows/release-source.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index f98de0fb..3a533b80 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -242,8 +242,8 @@ jobs: - name: create pr id: create-pr run: | - PR_NOTES=$(cat pr_notes.txt | sed ':a;N;$!ba;s/\n/\\n/g') - PR_NOTES="## What's changed\\n\\n$PR_NOTES" + PR_NOTES=$(cat pr_notes.txt) + PR_NOTES="## What's changed \\n \\n $PR_NOTES" # Create a pull request with release notes curl -L \ -X POST \ From 13779ea0a71616353ff5c1bb8c13dbee9416fbfc Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 10:49:25 +0200 Subject: [PATCH 20/55] fix notes --- .github/workflows/release-source.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 3a533b80..27e2856c 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -243,7 +243,7 @@ jobs: id: create-pr run: | PR_NOTES=$(cat pr_notes.txt) - PR_NOTES="## What's changed \\n \\n $PR_NOTES" + PR_NOTES="What's changed \\n \\n $PR_NOTES" # Create a pull request with release notes curl -L \ -X POST \ From c112ba41af365cf25b4824386a1827b4a69cf0e9 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 11:01:47 +0200 Subject: [PATCH 21/55] fix notes --- .github/workflows/release-source.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 27e2856c..44bb77e4 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -243,7 +243,7 @@ jobs: id: create-pr run: | PR_NOTES=$(cat pr_notes.txt) - PR_NOTES="What's changed \\n \\n $PR_NOTES" + PR_NOTES="What's changed\ $PR_NOTES" # Create a pull request with release notes curl -L \ -X POST \ From a8589c3a375e2695b112cb1a62928f3fad3aabf0 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 11:04:23 +0200 Subject: [PATCH 22/55] fix notes --- .github/workflows/release-source.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 44bb77e4..3c2dcd3c 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -243,7 +243,7 @@ jobs: id: create-pr run: | PR_NOTES=$(cat pr_notes.txt) - PR_NOTES="What's changed\ $PR_NOTES" + PR_NOTES="What's changed \
$PR_NOTES" # Create a pull request with release notes curl -L \ -X POST \ From e68d3d21f0262ebc7c5e42371d34bc7fb09e08d4 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 11:16:26 +0200 Subject: [PATCH 23/55] fix notes --- .github/workflows/release-source.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 3c2dcd3c..1d3314a1 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -243,7 +243,7 @@ jobs: id: create-pr run: | PR_NOTES=$(cat pr_notes.txt) - PR_NOTES="What's changed \
$PR_NOTES" + PR_NOTES="What's changed

$PR_NOTES" # Create a pull request with release notes curl -L \ -X POST \ From 6dbe8069e6265a44f2fa35955847ab1c29cddb0d Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 11:43:32 +0200 Subject: [PATCH 24/55] fix notes --- .github/workflows/release-source.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 1d3314a1..2fb500fd 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -243,6 +243,7 @@ jobs: id: create-pr run: | PR_NOTES=$(cat pr_notes.txt) + PR_NOTES=$(echo "$PR_NOTES" | sed ':a;N;$!ba;s/\n/\\n/g') PR_NOTES="What's changed

$PR_NOTES" # Create a pull request with release notes curl -L \ From b574770d1ff7f9cabdb3d952c8461f3945f900d4 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 11:52:52 +0200 Subject: [PATCH 25/55] fix notes --- .github/workflows/release-source.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 2fb500fd..90aa62da 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -243,8 +243,7 @@ jobs: id: create-pr run: | PR_NOTES=$(cat pr_notes.txt) - PR_NOTES=$(echo "$PR_NOTES" | sed ':a;N;$!ba;s/\n/\\n/g') - PR_NOTES="What's changed

$PR_NOTES" + PR_NOTES="What's changed

${PR_NOTES//\\n/
}" # Create a pull request with release notes curl -L \ -X POST \ From 546ff194783e8083ecf89b5e3aa34c700324ea2d Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 11:56:15 +0200 Subject: [PATCH 26/55] fix notes --- .github/workflows/release-source.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 90aa62da..d7b05bdc 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -233,7 +233,8 @@ jobs: "https://api.github.com/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls?state=closed&base=develop&sort=updated&direction=desc") if echo "$PRS" | jq -e . > /dev/null 2>&1; then - PR_NOTES=$(echo "$PRS" | jq -r --arg since "$RELEASE_DATE" '.[] | select(.merged_at != null and .merged_at > $since) | "* [#\(.number)](\(.html_url)) \(.title)"') + #PR_NOTES=$(echo "$PRS" | jq -r --arg since "$RELEASE_DATE" '.[] | select(.merged_at != null and .merged_at > $since) | "* [#\(.number)](\(.html_url)) \(.title)"') + PR_NOTES=$(echo "$PRS" | jq -r --arg since "$RELEASE_DATE" '.[] | select(.merged_at != null and .merged_at > $since) | "* [#\(.number)](\(.html_url)) \(.title)"' | tr '\n' '\\n') else PR_NOTES="could not fetch release notes" fi From 4d95be48a72dfc54c83f285c4bb0a49bda549d1c Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 12:06:59 +0200 Subject: [PATCH 27/55] fix notes --- .github/workflows/release-source.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index d7b05bdc..38e9c4da 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -244,7 +244,7 @@ jobs: id: create-pr run: | PR_NOTES=$(cat pr_notes.txt) - PR_NOTES="What's changed

${PR_NOTES//\\n/
}" + PR_NOTES="What's changed\n\n${PR_NOTES//\n/\\n}" # Create a pull request with release notes curl -L \ -X POST \ From efdfc95bbf3577f494ef2388e344d806490288c8 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 12:09:43 +0200 Subject: [PATCH 28/55] fix notes --- .github/workflows/release-source.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 38e9c4da..d4feaa3e 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -244,7 +244,7 @@ jobs: id: create-pr run: | PR_NOTES=$(cat pr_notes.txt) - PR_NOTES="What's changed\n\n${PR_NOTES//\n/\\n}" + PR_NOTES="What's changed\n\n${PR_NOTES}" # Create a pull request with release notes curl -L \ -X POST \ From 086cb084eb086d537b0c2a9823ea9188ddaad775 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 12:12:13 +0200 Subject: [PATCH 29/55] fix notes --- .github/workflows/release-source.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index d4feaa3e..97543b02 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -233,8 +233,7 @@ jobs: "https://api.github.com/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls?state=closed&base=develop&sort=updated&direction=desc") if echo "$PRS" | jq -e . > /dev/null 2>&1; then - #PR_NOTES=$(echo "$PRS" | jq -r --arg since "$RELEASE_DATE" '.[] | select(.merged_at != null and .merged_at > $since) | "* [#\(.number)](\(.html_url)) \(.title)"') - PR_NOTES=$(echo "$PRS" | jq -r --arg since "$RELEASE_DATE" '.[] | select(.merged_at != null and .merged_at > $since) | "* [#\(.number)](\(.html_url)) \(.title)"' | tr '\n' '\\n') + PR_NOTES=$(echo "$PRS" | jq -r --arg since "$RELEASE_DATE" '.[] | select(.merged_at != null and .merged_at > $since) | "* [#\(.number)](\(.html_url)) \(.title)"') else PR_NOTES="could not fetch release notes" fi @@ -244,7 +243,7 @@ jobs: id: create-pr run: | PR_NOTES=$(cat pr_notes.txt) - PR_NOTES="What's changed\n\n${PR_NOTES}" + PR_NOTES=$(printf "What's changed\n\n%s" "$PR_NOTES") # Create a pull request with release notes curl -L \ -X POST \ From 07ca0cb3f54071d11f1649aefe0efad9fa675f71 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 5 Jun 2024 12:17:02 +0200 Subject: [PATCH 30/55] fix notes final --- .github/workflows/release-source.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 97543b02..970315cd 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -233,7 +233,7 @@ jobs: "https://api.github.com/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls?state=closed&base=develop&sort=updated&direction=desc") if echo "$PRS" | jq -e . > /dev/null 2>&1; then - PR_NOTES=$(echo "$PRS" | jq -r --arg since "$RELEASE_DATE" '.[] | select(.merged_at != null and .merged_at > $since) | "* [#\(.number)](\(.html_url)) \(.title)"') + PR_NOTES=$(echo "$PRS" | jq -r --arg since "$RELEASE_DATE" '.[] | select(.merged_at != null and .merged_at > $since) | "* \(.title) ([#\(.number)](\(.html_url)))"') else PR_NOTES="could not fetch release notes" fi @@ -243,7 +243,7 @@ jobs: id: create-pr run: | PR_NOTES=$(cat pr_notes.txt) - PR_NOTES=$(printf "What's changed\n\n%s" "$PR_NOTES") + PR_NOTES=$(printf "## What's changed\n\n%s" "$PR_NOTES") # Create a pull request with release notes curl -L \ -X POST \ From bd5955a9a3f4ee60b1374dc0c71563b0d1b9c10d Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Tue, 11 Jun 2024 13:58:24 +0200 Subject: [PATCH 31/55] remove comments --- .github/workflows/release-source.yml | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 970315cd..1789a9e5 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -202,17 +202,7 @@ jobs: git add . git commit -m "Update Helm documentation" git push origin release-"$RELEASE_VERSION" - #- name: create pr - # id: create-pr - # run: | - # # create a pull request - # curl -L \ - # -X POST \ - # -H "Accept: application/vnd.github+json" \ - # -H "Authorization: Bearer ${{ env.GITHUB_TOKEN}}" \ - # -H "X-GitHub-Api-Version: 2022-11-28" \ - # https://api.github.com/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls \ - # -d '{"title":"Release ${{ env.RELEASE_VERSION }}","body":"release ${{ env.RELEASE_VERSION }}","head":"release-${{ env.RELEASE_VERSION }}","base":"main","draft":false}' + - name: get latest release date id: get-release-date run: | From 1a113ae484553baf0f4ae12e3205b75548e2628f Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Tue, 11 Jun 2024 14:39:50 +0200 Subject: [PATCH 32/55] remove test-app reference --- .github/workflows/release-source.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 1789a9e5..733617eb 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -154,7 +154,7 @@ jobs: git commit -m "Update chart version to $RELEASE_VERSION" git push origin release-"$RELEASE_VERSION" - name: update imageTag and repository_tag in values files - if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' || github.repository == 'datavisyn/test-app' }} + if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' }} run: | cd deploy/helm ls_result="$(ls)" @@ -186,7 +186,7 @@ jobs: env: CHARTMUSEUM_TOKEN: ${{ secrets.CHARTMUSEUM_TOKEN }} - name: update readme files - if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' || github.repository == 'datavisyn/test-app' }} + if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' }} run: | # install homebrew package manager yes | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" From e27af9a7151fbcc0843ef2f945582c916a8c039d Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Mon, 24 Jun 2024 11:40:48 +0200 Subject: [PATCH 33/55] requested changes; skip helm for *_starter directories --- .github/workflows/release-source.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 733617eb..a17abadf 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -176,8 +176,11 @@ jobs: sed -i "s/.*repository_tag.*/ repository_tag: v$RELEASE_VERSION/" "$dir"/values/values.yaml; \ fi; \ fi; \ - helm dep build "$dir"; \ - helm dep update "$dir"; + # skip helm dep update and helm dep build for directories with '_starter' in the name + if [[ "$dir" != *"_starter"* ]]; then + helm dep build "$dir" + helm dep update "$dir" + fi done # commit and push changes git add . From c18acc9a5fdd8a60e6096e5c4eb47b9afe012134 Mon Sep 17 00:00:00 2001 From: dvvanessastoiber Date: Mon, 1 Jul 2024 14:11:06 +0200 Subject: [PATCH 34/55] update WORKFLOW_BRANCH --- .github/workflows/build-node-python.yml | 2 +- .github/workflows/build-node.yml | 2 +- .github/workflows/build-product.yml | 2 +- .github/workflows/build-push-docker.yml | 2 +- .github/workflows/build-push-helm-chart.yml | 2 +- .github/workflows/build-single-product-part.yml | 2 +- .github/workflows/build-workspace-product-part.yml | 2 +- .github/workflows/check-helm-chart-version.yml | 2 +- .github/workflows/deploy-product.yml | 2 +- .github/workflows/publish-node-python.yml | 2 +- .github/workflows/publish-node.yml | 2 +- .github/workflows/publish-python.yml | 2 +- .github/workflows/release-product.yml | 2 +- .github/workflows/release-source.yml | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build-node-python.yml b/.github/workflows/build-node-python.yml index 07c65baa..4b991a9f 100644 --- a/.github/workflows/build-node-python.yml +++ b/.github/workflows/build-node-python.yml @@ -96,7 +96,7 @@ env: PYPI_REGISTRY: "https://upload.pypi.org/legacy/" PYPI_USERNAME: "datavisyn" PYTHON_VERSION: "3.10" - WORKFLOW_BRANCH: "main" + WORKFLOW_BRANCH: "feat-automate-releases-releasenotes" POSTGRES_HOSTNAME: postgres_${{ github.job }}_${{ inputs.deduplication_id }}_${{ github.run_id }}_${{ github.run_attempt }} permissions: diff --git a/.github/workflows/build-node.yml b/.github/workflows/build-node.yml index 9c4dce0c..50a365e5 100644 --- a/.github/workflows/build-node.yml +++ b/.github/workflows/build-node.yml @@ -32,7 +32,7 @@ on: env: NPM_REGISTRY: "https://registry.npmjs.org/" NODE_VERSION: "20.9" - WORKFLOW_BRANCH: "main" + WORKFLOW_BRANCH: "feat-automate-releases-releasenotes" permissions: contents: read diff --git a/.github/workflows/build-product.yml b/.github/workflows/build-product.yml index 8cb4b4e0..6027bea4 100644 --- a/.github/workflows/build-product.yml +++ b/.github/workflows/build-product.yml @@ -27,7 +27,7 @@ env: TIME_ZONE: "Europe/Vienna" NODE_VERSION: "20.9" PYTHON_VERSION: "3.10" - WORKFLOW_BRANCH: "main" + WORKFLOW_BRANCH: "feat-automate-releases-releasenotes" PYTHON_BASE_IMAGE: "python:3.10.8-slim-bullseye" DATAVISYN_PYTHON_BASE_IMAGE: "188237246440.dkr.ecr.eu-central-1.amazonaws.com/datavisyn/base/python:main" DATAVISYN_NGINX_BASE_IMAGE: "188237246440.dkr.ecr.eu-central-1.amazonaws.com/datavisyn/base/nginx:main" diff --git a/.github/workflows/build-push-docker.yml b/.github/workflows/build-push-docker.yml index 147adf3a..03dd3bfd 100644 --- a/.github/workflows/build-push-docker.yml +++ b/.github/workflows/build-push-docker.yml @@ -28,7 +28,7 @@ permissions: contents: read env: - WORKFLOW_BRANCH: "main" + WORKFLOW_BRANCH: "feat-automate-releases-releasenotes" jobs: build: diff --git a/.github/workflows/build-push-helm-chart.yml b/.github/workflows/build-push-helm-chart.yml index dd481c0c..5e33c93e 100644 --- a/.github/workflows/build-push-helm-chart.yml +++ b/.github/workflows/build-push-helm-chart.yml @@ -22,7 +22,7 @@ permissions: contents: read env: - WORKFLOW_BRANCH: "main" + WORKFLOW_BRANCH: "feat-automate-releases-releasenotes" concurrency: group: '${{ github.workflow }}-${{ github.ref || github.head_ref }}' diff --git a/.github/workflows/build-single-product-part.yml b/.github/workflows/build-single-product-part.yml index 611ac739..6f108b2e 100644 --- a/.github/workflows/build-single-product-part.yml +++ b/.github/workflows/build-single-product-part.yml @@ -45,7 +45,7 @@ env: TIME_ZONE: "Europe/Vienna" NODE_VERSION: "20.9" PYTHON_VERSION: "3.10" - WORKFLOW_BRANCH: "main" + WORKFLOW_BRANCH: "feat-automate-releases-releasenotes" PYTHON_BASE_IMAGE: "python:3.10.8-slim-bullseye" DATAVISYN_PYTHON_BASE_IMAGE: "188237246440.dkr.ecr.eu-central-1.amazonaws.com/datavisyn/base/python:main" DATAVISYN_NGINX_BASE_IMAGE: "188237246440.dkr.ecr.eu-central-1.amazonaws.com/datavisyn/base/nginx:main" diff --git a/.github/workflows/build-workspace-product-part.yml b/.github/workflows/build-workspace-product-part.yml index a79a7f89..816afb8c 100644 --- a/.github/workflows/build-workspace-product-part.yml +++ b/.github/workflows/build-workspace-product-part.yml @@ -43,7 +43,7 @@ env: TIME_ZONE: "Europe/Vienna" NODE_VERSION: "20.9" PYTHON_VERSION: "3.10" - WORKFLOW_BRANCH: "main" + WORKFLOW_BRANCH: "feat-automate-releases-releasenotes" PYTHON_BASE_IMAGE: "python:3.10.8-slim-bullseye" DATAVISYN_PYTHON_BASE_IMAGE: "188237246440.dkr.ecr.eu-central-1.amazonaws.com/datavisyn/base/python:main" DATAVISYN_NGINX_BASE_IMAGE: "188237246440.dkr.ecr.eu-central-1.amazonaws.com/datavisyn/base/nginx:main" diff --git a/.github/workflows/check-helm-chart-version.yml b/.github/workflows/check-helm-chart-version.yml index 7243eb27..e2952fef 100644 --- a/.github/workflows/check-helm-chart-version.yml +++ b/.github/workflows/check-helm-chart-version.yml @@ -23,7 +23,7 @@ permissions: contents: read env: - WORKFLOW_BRANCH: "main" + WORKFLOW_BRANCH: "feat-automate-releases-releasenotes" jobs: check-helm-chart-version: diff --git a/.github/workflows/deploy-product.yml b/.github/workflows/deploy-product.yml index 50c90730..488567a1 100644 --- a/.github/workflows/deploy-product.yml +++ b/.github/workflows/deploy-product.yml @@ -38,7 +38,7 @@ concurrency: env: GA_VERSION: "main" - WORKFLOW_BRANCH: "main" + WORKFLOW_BRANCH: "feat-automate-releases-releasenotes" jobs: deploy: diff --git a/.github/workflows/publish-node-python.yml b/.github/workflows/publish-node-python.yml index 6fd14a82..453f3106 100644 --- a/.github/workflows/publish-node-python.yml +++ b/.github/workflows/publish-node-python.yml @@ -22,7 +22,7 @@ env: PYPI_REGISTRY: "https://upload.pypi.org/legacy/" PYPI_USERNAME: "datavisyn" PYTHON_VERSION: "3.10" - WORKFLOW_BRANCH: "main" + WORKFLOW_BRANCH: "feat-automate-releases-releasenotes" permissions: contents: read diff --git a/.github/workflows/publish-node.yml b/.github/workflows/publish-node.yml index 541291bd..ce42c245 100644 --- a/.github/workflows/publish-node.yml +++ b/.github/workflows/publish-node.yml @@ -13,7 +13,7 @@ on: env: NPM_REGISTRY: "https://registry.npmjs.org/" NODE_VERSION: "20.9" - WORKFLOW_BRANCH: "main" + WORKFLOW_BRANCH: "feat-automate-releases-releasenotes" permissions: contents: read diff --git a/.github/workflows/publish-python.yml b/.github/workflows/publish-python.yml index 49fdfca1..81daf6a3 100644 --- a/.github/workflows/publish-python.yml +++ b/.github/workflows/publish-python.yml @@ -15,7 +15,7 @@ on: env: PYPI_REGISTRY: "https://upload.pypi.org/legacy/" PYTHON_VERSION: "3.10" - WORKFLOW_BRANCH: "main" + WORKFLOW_BRANCH: "feat-automate-releases-releasenotes" permissions: contents: read diff --git a/.github/workflows/release-product.yml b/.github/workflows/release-product.yml index 9a5aa2bd..ef578375 100644 --- a/.github/workflows/release-product.yml +++ b/.github/workflows/release-product.yml @@ -16,7 +16,7 @@ concurrency: env: GA_VERSION: "main" GITHUB_USER: "datavisyn-bot" - WORKFLOW_BRANCH: "main" + WORKFLOW_BRANCH: "feat-automate-releases-releasenotes" jobs: ############################################################################################################### diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index a17abadf..6ab59103 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -15,7 +15,7 @@ concurrency: env: GA_VERSION: "main" GITHUB_USER: "datavisyn-bot" - WORKFLOW_BRANCH: "main" + WORKFLOW_BRANCH: "feat-automate-releases-releasenotes" GITHUB_TOKEN: ${{ secrets.DATAVISYN_BOT_REPO_TOKEN }} CHARTMUSEUM_TOKEN: ${{ secrets.CHARTMUSEUM_TOKEN }} From 5d23d8feabcbab8a22f83924f620b008e52c9f72 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 3 Jul 2024 11:42:12 +0200 Subject: [PATCH 35/55] fixed token and helm repo add command --- .github/workflows/release-source.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 6ab59103..5a8f1cb4 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -17,7 +17,7 @@ env: GITHUB_USER: "datavisyn-bot" WORKFLOW_BRANCH: "feat-automate-releases-releasenotes" GITHUB_TOKEN: ${{ secrets.DATAVISYN_BOT_REPO_TOKEN }} - CHARTMUSEUM_TOKEN: ${{ secrets.CHARTMUSEUM_TOKEN }} + CHARTMUSEUM_TOKEN: ${{ secrets.DV_CHARTMUSEUM_TOKEN }} jobs: release-repository: @@ -128,7 +128,7 @@ jobs: git commit -m "Update package.json version to $RELEASE_VERSION" git push origin release-"$RELEASE_VERSION" - name: Add Helm repository - run: helm repo add datavisyn --username admin --password ${{ env.CHARTMUSEUM_TOKEN }} https://chartmuseum.app.datavisyn.io + run: helm repo add datavisyn https://chartmuseum.app.datavisyn.io --username admin --password ${{ env.CHARTMUSEUM_TOKEN }} - name: change charts and subcharts version if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' || github.repository == 'datavisyn/test-app' }} run: | From 239e4e6203e25a2e5edd50c7fc287c10cb78eb83 Mon Sep 17 00:00:00 2001 From: dvvanessastoiber Date: Wed, 17 Jul 2024 12:05:42 +0200 Subject: [PATCH 36/55] use username and password instead of token --- .github/workflows/release-source.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 5a8f1cb4..b6f47c57 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -17,7 +17,8 @@ env: GITHUB_USER: "datavisyn-bot" WORKFLOW_BRANCH: "feat-automate-releases-releasenotes" GITHUB_TOKEN: ${{ secrets.DATAVISYN_BOT_REPO_TOKEN }} - CHARTMUSEUM_TOKEN: ${{ secrets.DV_CHARTMUSEUM_TOKEN }} + CHARTMUSEUM_USER: ${{ secrets.DV_CHARTMUSEUM_USER }} + CHARTMUSEUM_PASSWORD: ${{ secrets.DV_CHARTMUSEUM_PASSWORD }} jobs: release-repository: @@ -128,7 +129,7 @@ jobs: git commit -m "Update package.json version to $RELEASE_VERSION" git push origin release-"$RELEASE_VERSION" - name: Add Helm repository - run: helm repo add datavisyn https://chartmuseum.app.datavisyn.io --username admin --password ${{ env.CHARTMUSEUM_TOKEN }} + run: helm repo add datavisyn https://chartmuseum.app.datavisyn.io --username ${{ env.CHARTMUSEUM_USER }} --password ${{ env.CHARTMUSEUM_PASSWORD }} - name: change charts and subcharts version if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' || github.repository == 'datavisyn/test-app' }} run: | @@ -187,7 +188,7 @@ jobs: git commit -m "Update imageTag & repository_tag if exists in values files to v$RELEASE_VERSION" git push origin release-"$RELEASE_VERSION" env: - CHARTMUSEUM_TOKEN: ${{ secrets.CHARTMUSEUM_TOKEN }} + CHARTMUSEUM_PASSWORD: ${{ secrets.DV_CHARTMUSEUM_PASSWORD }} - name: update readme files if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' }} run: | From dff77682d9af601fd051469647d387a7b3f5f52a Mon Sep 17 00:00:00 2001 From: dvvanessastoiber Date: Wed, 17 Jul 2024 14:08:24 +0200 Subject: [PATCH 37/55] fix formatting --- .github/workflows/release-source.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index b6f47c57..89c99cd1 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -124,7 +124,7 @@ jobs: git push origin release-"$RELEASE_VERSION" - name: Update package.json run: | - sed -i "s/.*version.*/ \"version\": \"$RELEASE_VERSION\",/" package.json + sed -i "s/^\(\s*\)\"version\".*/\1\"version\": \"$RELEASE_VERSION\",/" package.json git add package.json git commit -m "Update package.json version to $RELEASE_VERSION" git push origin release-"$RELEASE_VERSION" From 39a323039366a6762240ca2fda14b78b8acdde98 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Mon, 29 Jul 2024 14:18:12 +0200 Subject: [PATCH 38/55] fix token --- .github/workflows/release-source.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 89c99cd1..67a3e547 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -33,7 +33,7 @@ jobs: - name: checkout repository uses: actions/checkout@v3 with: - token: ${{ github.token }} + token: ${{ secrets.CHECKOUT_TOKEN || github.event.repository.private == true && secrets.DATAVISYN_BOT_REPO_TOKEN || github.token }} # checkout this workflow repository to get actions - name: checkout github-workflows repository uses: actions/checkout@v3 From 1edcc7261e833f081283b1a93d1aebf8daea3d8a Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Thu, 8 Aug 2024 12:20:11 +0200 Subject: [PATCH 39/55] only one git push --- .github/workflows/release-source.yml | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 67a3e547..fc411ab3 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -2,8 +2,8 @@ name: release-source on: workflow_call: - + permissions: contents: write pull-requests: write @@ -121,13 +121,11 @@ jobs: git config user.name "$GITHUB_ACTOR" git config user.email "<>" git checkout -b release-"$RELEASE_VERSION" - git push origin release-"$RELEASE_VERSION" - name: Update package.json run: | sed -i "s/^\(\s*\)\"version\".*/\1\"version\": \"$RELEASE_VERSION\",/" package.json git add package.json git commit -m "Update package.json version to $RELEASE_VERSION" - git push origin release-"$RELEASE_VERSION" - name: Add Helm repository run: helm repo add datavisyn https://chartmuseum.app.datavisyn.io --username ${{ env.CHARTMUSEUM_USER }} --password ${{ env.CHARTMUSEUM_PASSWORD }} - name: change charts and subcharts version @@ -150,10 +148,8 @@ jobs: helm dep update "$folder"/subcharts/*; \ fi; \ done - # commit and push changes git add . git commit -m "Update chart version to $RELEASE_VERSION" - git push origin release-"$RELEASE_VERSION" - name: update imageTag and repository_tag in values files if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' }} run: | @@ -183,10 +179,8 @@ jobs: helm dep update "$dir" fi done - # commit and push changes git add . git commit -m "Update imageTag & repository_tag if exists in values files to v$RELEASE_VERSION" - git push origin release-"$RELEASE_VERSION" env: CHARTMUSEUM_PASSWORD: ${{ secrets.DV_CHARTMUSEUM_PASSWORD }} - name: update readme files @@ -202,11 +196,11 @@ jobs: # update readme files cd deploy/helm helm-docs --document-dependency-values - # commit and push changes git add . git commit -m "Update Helm documentation" + - name: push all changes + run: | git push origin release-"$RELEASE_VERSION" - - name: get latest release date id: get-release-date run: | @@ -252,7 +246,3 @@ jobs: --arg base "main" \ --argjson draft false \ '{title: $title, body: $body, head: $head, base: $base, draft: $draft}')" - - - - \ No newline at end of file From 135b77d94cf057e8e2e5e4f4a7c375c95b7b1145 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Thu, 8 Aug 2024 12:28:24 +0200 Subject: [PATCH 40/55] remove newline --- .github/workflows/release-source.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index fc411ab3..749f660b 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -3,7 +3,6 @@ name: release-source on: workflow_call: - permissions: contents: write pull-requests: write From 78c10f3b8832a9898e290cc9db99b820dbd76f17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20P=C3=BChringer?= <51900829+puehringer@users.noreply.github.com> Date: Thu, 8 Aug 2024 22:35:03 +0200 Subject: [PATCH 41/55] Update release-source.yml --- .github/workflows/release-source.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 749f660b..e9aa041b 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -128,7 +128,7 @@ jobs: - name: Add Helm repository run: helm repo add datavisyn https://chartmuseum.app.datavisyn.io --username ${{ env.CHARTMUSEUM_USER }} --password ${{ env.CHARTMUSEUM_PASSWORD }} - name: change charts and subcharts version - if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' || github.repository == 'datavisyn/test-app' }} + if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aevidence' || github.repository == 'datavisyn/test-app' }} run: | cd deploy/helm ls_result="$(ls)" @@ -150,7 +150,7 @@ jobs: git add . git commit -m "Update chart version to $RELEASE_VERSION" - name: update imageTag and repository_tag in values files - if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' }} + if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aevidence' }} run: | cd deploy/helm ls_result="$(ls)" @@ -183,7 +183,7 @@ jobs: env: CHARTMUSEUM_PASSWORD: ${{ secrets.DV_CHARTMUSEUM_PASSWORD }} - name: update readme files - if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aelixir' }} + if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aevidence' }} run: | # install homebrew package manager yes | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" From 1d4da9fe531f5f539fd50ff5a9e80449d57fded3 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Mon, 12 Aug 2024 12:32:33 +0200 Subject: [PATCH 42/55] add input for helm chart --- .github/workflows/release-source.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index e9aa041b..74c9ea99 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -2,6 +2,12 @@ name: release-source on: workflow_call: + inputs: + is_helm_chart: + description: 'Specify if this is a Helm Chart repository' + required: false + type: boolean + default: false permissions: contents: write @@ -128,7 +134,7 @@ jobs: - name: Add Helm repository run: helm repo add datavisyn https://chartmuseum.app.datavisyn.io --username ${{ env.CHARTMUSEUM_USER }} --password ${{ env.CHARTMUSEUM_PASSWORD }} - name: change charts and subcharts version - if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aevidence' || github.repository == 'datavisyn/test-app' }} + if: ${{ github.event.inputs.is_helm_chart }} run: | cd deploy/helm ls_result="$(ls)" @@ -150,7 +156,7 @@ jobs: git add . git commit -m "Update chart version to $RELEASE_VERSION" - name: update imageTag and repository_tag in values files - if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aevidence' }} + if: ${{ github.event.inputs.is_helm_chart }} run: | cd deploy/helm ls_result="$(ls)" @@ -183,7 +189,7 @@ jobs: env: CHARTMUSEUM_PASSWORD: ${{ secrets.DV_CHARTMUSEUM_PASSWORD }} - name: update readme files - if: ${{ github.repository == 'datavisyn/reprovisyn' || github.repository == 'datavisyn/aevidence' }} + if: ${{ github.event.inputs.is_helm_chart }} run: | # install homebrew package manager yes | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" From 63e816e908b7e0010882c0a87739340382ba78e3 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Mon, 12 Aug 2024 12:43:18 +0200 Subject: [PATCH 43/55] add input release_version --- .github/workflows/release-source.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 74c9ea99..00bbea50 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -8,6 +8,10 @@ on: required: false type: boolean default: false + release_version: + type: string + description: 'The version to release' + required: false permissions: contents: write From d24a6b7b04d0fffecf7b0f220912ec8a3317d043 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20P=C3=BChringer?= <51900829+puehringer@users.noreply.github.com> Date: Fri, 16 Aug 2024 12:09:49 +0200 Subject: [PATCH 44/55] Use inputs instead of github.event.inputs --- .github/workflows/release-source.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 00bbea50..320b0e68 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -58,15 +58,15 @@ jobs: qms_are_allowed: "false" - name: get release version from package.json id: get-release-version - if: ${{ github.event.inputs.release_version == null }} + if: ${{ inputs.release_version == null }} run: | release_version="$(jq -r '.version' package.json | cut -d '-' -f 1)" echo "RELEASE_VERSION=$release_version" >> "$GITHUB_ENV" - name: get release version from input id: get-release-version-from-input - if: ${{ github.event.inputs.release_version != null }} + if: ${{ inputs.release_version != null }} run: | - input_release_version="${{ github.event.inputs.release_version }}" + input_release_version="${{ inputs.release_version }}" if echo "$input_release_version" | grep -q '^[0-9.]*$'; then echo "Valid input" else @@ -138,7 +138,7 @@ jobs: - name: Add Helm repository run: helm repo add datavisyn https://chartmuseum.app.datavisyn.io --username ${{ env.CHARTMUSEUM_USER }} --password ${{ env.CHARTMUSEUM_PASSWORD }} - name: change charts and subcharts version - if: ${{ github.event.inputs.is_helm_chart }} + if: ${{ inputs.is_helm_chart == true }} run: | cd deploy/helm ls_result="$(ls)" @@ -160,7 +160,7 @@ jobs: git add . git commit -m "Update chart version to $RELEASE_VERSION" - name: update imageTag and repository_tag in values files - if: ${{ github.event.inputs.is_helm_chart }} + if: ${{ inputs.is_helm_chart == true }} run: | cd deploy/helm ls_result="$(ls)" @@ -193,7 +193,7 @@ jobs: env: CHARTMUSEUM_PASSWORD: ${{ secrets.DV_CHARTMUSEUM_PASSWORD }} - name: update readme files - if: ${{ github.event.inputs.is_helm_chart }} + if: ${{ inputs.is_helm_chart == true }} run: | # install homebrew package manager yes | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" From b87da1cb49a8f25b55484f5fd774251e7e6cd2b7 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Mon, 19 Aug 2024 09:08:20 +0200 Subject: [PATCH 45/55] add condition to Add Helm Repo --- .github/workflows/release-source.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 320b0e68..cb16651d 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -136,6 +136,7 @@ jobs: git add package.json git commit -m "Update package.json version to $RELEASE_VERSION" - name: Add Helm repository + if: ${{ inputs.is_helm_chart == true }} run: helm repo add datavisyn https://chartmuseum.app.datavisyn.io --username ${{ env.CHARTMUSEUM_USER }} --password ${{ env.CHARTMUSEUM_PASSWORD }} - name: change charts and subcharts version if: ${{ inputs.is_helm_chart == true }} From a4f36bc9708134c8107b9459045600f6fb523799 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Mon, 19 Aug 2024 09:10:59 +0200 Subject: [PATCH 46/55] remove commits --- .github/workflows/release-source.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index cb16651d..40c6f3b4 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -134,7 +134,6 @@ jobs: run: | sed -i "s/^\(\s*\)\"version\".*/\1\"version\": \"$RELEASE_VERSION\",/" package.json git add package.json - git commit -m "Update package.json version to $RELEASE_VERSION" - name: Add Helm repository if: ${{ inputs.is_helm_chart == true }} run: helm repo add datavisyn https://chartmuseum.app.datavisyn.io --username ${{ env.CHARTMUSEUM_USER }} --password ${{ env.CHARTMUSEUM_PASSWORD }} @@ -159,7 +158,6 @@ jobs: fi; \ done git add . - git commit -m "Update chart version to $RELEASE_VERSION" - name: update imageTag and repository_tag in values files if: ${{ inputs.is_helm_chart == true }} run: | @@ -190,7 +188,6 @@ jobs: fi done git add . - git commit -m "Update imageTag & repository_tag if exists in values files to v$RELEASE_VERSION" env: CHARTMUSEUM_PASSWORD: ${{ secrets.DV_CHARTMUSEUM_PASSWORD }} - name: update readme files @@ -207,7 +204,7 @@ jobs: cd deploy/helm helm-docs --document-dependency-values git add . - git commit -m "Update Helm documentation" + git commit -m "Update version to $RELEASE_VERSION" - name: push all changes run: | git push origin release-"$RELEASE_VERSION" From 2978da9a29ab9e87a681470c2a2ecc9aea8cfc53 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Mon, 19 Aug 2024 09:17:38 +0200 Subject: [PATCH 47/55] set release_version to requiered, remove patch version --- .github/workflows/release-source.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 40c6f3b4..590605f3 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -11,7 +11,7 @@ on: release_version: type: string description: 'The version to release' - required: false + required: true permissions: contents: write @@ -56,12 +56,12 @@ jobs: dv_devops: ${{ vars.DV_DEVOPS }} actor: ${{ github.actor }} qms_are_allowed: "false" - - name: get release version from package.json - id: get-release-version - if: ${{ inputs.release_version == null }} - run: | - release_version="$(jq -r '.version' package.json | cut -d '-' -f 1)" - echo "RELEASE_VERSION=$release_version" >> "$GITHUB_ENV" + #- name: get release version from package.json + # id: get-release-version + # if: ${{ inputs.release_version == null }} + # run: | + # release_version="$(jq -r '.version' package.json | cut -d '-' -f 1)" + # echo "RELEASE_VERSION=$release_version" >> "$GITHUB_ENV" - name: get release version from input id: get-release-version-from-input if: ${{ inputs.release_version != null }} From 6aeb601e2b717153cacea6f4f014d0a5438d7b75 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Mon, 19 Aug 2024 12:47:47 +0200 Subject: [PATCH 48/55] validate inputs, remove comments, add extra step for commit --- .github/workflows/release-source.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 590605f3..dec1cced 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -33,6 +33,10 @@ jobs: release-repository: runs-on: ubuntu-22.04 steps: + - name: Validate required inputs + run: | + [[ "${{ inputs.release_version }}" ]] || { echo "release_version input is empty" ; exit 1; } + - name: check branch if: ${{ github.ref_name != 'develop' }} run: | @@ -56,15 +60,9 @@ jobs: dv_devops: ${{ vars.DV_DEVOPS }} actor: ${{ github.actor }} qms_are_allowed: "false" - #- name: get release version from package.json - # id: get-release-version - # if: ${{ inputs.release_version == null }} - # run: | - # release_version="$(jq -r '.version' package.json | cut -d '-' -f 1)" - # echo "RELEASE_VERSION=$release_version" >> "$GITHUB_ENV" + - name: get release version from input id: get-release-version-from-input - if: ${{ inputs.release_version != null }} run: | input_release_version="${{ inputs.release_version }}" if echo "$input_release_version" | grep -q '^[0-9.]*$'; then @@ -204,6 +202,8 @@ jobs: cd deploy/helm helm-docs --document-dependency-values git add . + - name: Commit changes + run: | git commit -m "Update version to $RELEASE_VERSION" - name: push all changes run: | From 582c167084052ff102e90242c5a7a8a74dd1cd05 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Mon, 19 Aug 2024 12:52:21 +0200 Subject: [PATCH 49/55] fix lint --- .github/workflows/release-source.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index dec1cced..c5cc427e 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -35,8 +35,10 @@ jobs: steps: - name: Validate required inputs run: | - [[ "${{ inputs.release_version }}" ]] || { echo "release_version input is empty" ; exit 1; } - + if [ -z "${{ inputs.release_version }}" ]; then + echo "release_version input is empty" + exit 1 + fi - name: check branch if: ${{ github.ref_name != 'develop' }} run: | From e720898d8426fac2a34fc1a67530c0ea843fc47b Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Tue, 20 Aug 2024 11:20:49 +0200 Subject: [PATCH 50/55] adapt commit message --- .github/workflows/release-source.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index c5cc427e..73bd031c 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -206,7 +206,7 @@ jobs: git add . - name: Commit changes run: | - git commit -m "Update version to $RELEASE_VERSION" + git commit -m "Prepare release version $RELEASE_VERSION" - name: push all changes run: | git push origin release-"$RELEASE_VERSION" From 9cc07d90015b45b362c0470ed8475966638f45d1 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Wed, 21 Aug 2024 09:25:39 +0200 Subject: [PATCH 51/55] fix version number checks --- .github/workflows/release-source.yml | 52 ++++++++++------------------ 1 file changed, 18 insertions(+), 34 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 73bd031c..6ce70a03 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -81,50 +81,34 @@ jobs: file_minor=$(echo "$file_release_version" | cut -d'.' -f2) file_patch=$(echo "$file_release_version" | cut -d'.' -f3) - input_major=$(echo "$input_release_version" | cut -d'.' -f1) input_minor=$(echo "$input_release_version" | cut -d'.' -f2) input_patch=$(echo "$input_release_version" | cut -d'.' -f3) - max_major=$(("$file_major" + 1)) - max_minor=$(("$file_minor" + 1)) - max_patch=$(("$file_patch" + 1)) - - echo "max versions: $max_major.$max_minor.$max_patch" - - - if [ "$input_major" -gt "$max_major" ]; then - echo "Error: Major version cannot be greater than the current version by more than 1." - exit 1 - elif [ "$input_minor" -gt "$max_minor" ]; then - echo "Error: Minor version cannot be greater than the current version by more than 1." - exit 1 - elif [ "$input_patch" -gt "$max_patch" ]; then - echo "Error: Patch version cannot be greater than the current version by more than 1." - exit 1 - elif [ "$input_major" -lt "$file_major" ]; then - echo "Error: Major version cannot be less than the current version." - exit 1 - elif [ "$input_minor" -lt "$file_minor" ]; then - if [ "$input_major" -eq "$max_major" ] && [ "$input_minor" -eq 0 ] && [ "$input_patch" -eq 0 ]; then - echo "Valid version input" + if [ "$input_major" -eq "$file_major" ]; then + if [ "$input_minor" -eq "$file_minor" ]; then + if [ "$input_patch" -gt "$file_patch" ]; then + echo "Valid patch version input" + else + echo "Error: Patch version cannot be less than or equal to the current version." + exit 1 + fi + elif [ "$input_minor" -gt "$file_minor" ] && [ "$input_patch" -eq 0 ]; then + echo "Valid minor version input" else - echo "Error: Minor version cannot be less than the current version." - exit 1 - fi - elif [ "$input_patch" -lt "$file_patch" ]; then - if [ "$input_major" -eq "$max_major" ] && [ "$input_minor" -eq 0 ] && [ "$input_patch" -eq 0 ]; then - echo "Valid version input" - elif [ "$input_major" -eq "$file_major" ] && [ "$input_minor" -eq "$max_minor" ] && [ "$input_patch" -eq 0 ]; then - echo "Valid version input" - else - echo "Error: Patch version cannot be less than the current version." + echo "Error: Minor version is invalid." exit 1 fi + elif [ "$input_major" -gt "$file_major" ] && [ "$input_minor" -eq 0 ] && [ "$input_patch" -eq 0 ]; then + echo "Valid major version input" + else + echo "Error: Version input is invalid based on semantic versioning rules." + exit 1 fi + echo "New version is $input_major.$input_minor.$input_patch" echo "RELEASE_VERSION=$input_release_version" >> "$GITHUB_ENV" - + - name: create release branch run: | git config user.name "$GITHUB_ACTOR" From 9c4b585e173dee02feb233a22271f553db84050e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20P=C3=BChringer?= <51900829+puehringer@users.noreply.github.com> Date: Tue, 27 Aug 2024 14:48:55 +0200 Subject: [PATCH 52/55] Update release-source.yml --- .github/workflows/release-source.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 6ce70a03..52500270 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -87,7 +87,7 @@ jobs: if [ "$input_major" -eq "$file_major" ]; then if [ "$input_minor" -eq "$file_minor" ]; then - if [ "$input_patch" -gt "$file_patch" ]; then + if [ "$input_patch" -ge "$file_patch" ]; then echo "Valid patch version input" else echo "Error: Patch version cannot be less than or equal to the current version." From 366724ff3d4dcbcc2d8d316af46fd68e0ba0777f Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Tue, 10 Sep 2024 11:53:59 +0200 Subject: [PATCH 53/55] fix patch version number --- .github/workflows/release-source.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 52500270..f3656ba2 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -81,16 +81,20 @@ jobs: file_minor=$(echo "$file_release_version" | cut -d'.' -f2) file_patch=$(echo "$file_release_version" | cut -d'.' -f3) + # decrement the patch version by 1 to get the latest stable release version + stable_patch=$((file_patch - 1)) + echo "Stable release version: $file_major.$file_minor.$stable_patch" + input_major=$(echo "$input_release_version" | cut -d'.' -f1) input_minor=$(echo "$input_release_version" | cut -d'.' -f2) input_patch=$(echo "$input_release_version" | cut -d'.' -f3) if [ "$input_major" -eq "$file_major" ]; then if [ "$input_minor" -eq "$file_minor" ]; then - if [ "$input_patch" -ge "$file_patch" ]; then + if [ "$input_patch" -gt "$stable_patch" ]; then echo "Valid patch version input" else - echo "Error: Patch version cannot be less than or equal to the current version." + echo "Error: Patch version cannot be less than or equal to the stable release version." exit 1 fi elif [ "$input_minor" -gt "$file_minor" ] && [ "$input_patch" -eq 0 ]; then From f7a0c3a3817f024782e7da9f9ef6d82e204a2aef Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Thu, 12 Sep 2024 14:31:54 +0200 Subject: [PATCH 54/55] fix version check --- .github/workflows/release-source.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index f3656ba2..4f612fb3 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -91,10 +91,10 @@ jobs: if [ "$input_major" -eq "$file_major" ]; then if [ "$input_minor" -eq "$file_minor" ]; then - if [ "$input_patch" -gt "$stable_patch" ]; then + if [ "$input_patch" -eq "$stable_patch" ]; then echo "Valid patch version input" else - echo "Error: Patch version cannot be less than or equal to the stable release version." + echo "Error: Patch version must match the package.json version without the -SNAPSHOT suffix." exit 1 fi elif [ "$input_minor" -gt "$file_minor" ] && [ "$input_patch" -eq 0 ]; then From 5d8c138509fb854a2f57871c122949b9e0b9f969 Mon Sep 17 00:00:00 2001 From: Viktor Delev Date: Thu, 12 Sep 2024 15:00:36 +0200 Subject: [PATCH 55/55] fix patch version --- .github/workflows/release-source.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release-source.yml b/.github/workflows/release-source.yml index 4f612fb3..d83598e9 100644 --- a/.github/workflows/release-source.yml +++ b/.github/workflows/release-source.yml @@ -81,9 +81,7 @@ jobs: file_minor=$(echo "$file_release_version" | cut -d'.' -f2) file_patch=$(echo "$file_release_version" | cut -d'.' -f3) - # decrement the patch version by 1 to get the latest stable release version - stable_patch=$((file_patch - 1)) - echo "Stable release version: $file_major.$file_minor.$stable_patch" + echo "Stable release version: $file_major.$file_minor.$file_patch" input_major=$(echo "$input_release_version" | cut -d'.' -f1) input_minor=$(echo "$input_release_version" | cut -d'.' -f2) @@ -91,7 +89,7 @@ jobs: if [ "$input_major" -eq "$file_major" ]; then if [ "$input_minor" -eq "$file_minor" ]; then - if [ "$input_patch" -eq "$stable_patch" ]; then + if [ "$input_patch" -eq "$file_patch" ]; then echo "Valid patch version input" else echo "Error: Patch version must match the package.json version without the -SNAPSHOT suffix."