From 36520e240ab77f4ce97ce191534a92c32234a839 Mon Sep 17 00:00:00 2001 From: Alon Yeshurun <98805507+ayeshurun@users.noreply.github.com> Date: Wed, 17 Sep 2025 17:11:18 +0300 Subject: [PATCH 01/34] Change pull_request to pull_request_target --- .github/workflows/semantic-pull-request.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/semantic-pull-request.yml b/.github/workflows/semantic-pull-request.yml index 26b2dec0..7179ead3 100644 --- a/.github/workflows/semantic-pull-request.yml +++ b/.github/workflows/semantic-pull-request.yml @@ -3,7 +3,7 @@ name: πŸ” Semantic PR Validation on: - pull_request: + pull_request_target: branches: - main types: @@ -113,4 +113,4 @@ jobs: repo: context.repo.repo, name: 'invalid', }); - } \ No newline at end of file + } From 55020f077694e45ca67d9ff6a940c5e44d286173 Mon Sep 17 00:00:00 2001 From: Alon Yeshurun Date: Sun, 14 Dec 2025 14:12:48 +0000 Subject: [PATCH 02/34] Fix new functionality section in release notes --- docs/release-notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes.md b/docs/release-notes.md index 852b6b7f..1d912e3d 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -10,7 +10,7 @@ hide: ### ✨ New Functionality -* Add support of mv, cp, export and import for SQLDatabase item type +* Add support of `mv`, `cp` and `import` commands for SQLDatabase item type * Add new 'job run-rm' command for remove a scheduled job * Enhance `set` command for items to support any settable property path within the item's definition and metadata structure * Add support in `ls` commmand using `-q` flag for filtering based on JMESPath expressions From beb01490bffaf32ff5321eb53f91264f535a3ea1 Mon Sep 17 00:00:00 2001 From: Alon Yeshurun Date: Sun, 14 Dec 2025 14:12:48 +0000 Subject: [PATCH 03/34] Fix new functionality section in release notes --- docs/release-notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes.md b/docs/release-notes.md index 98a1aa04..479c7cb5 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -10,7 +10,7 @@ hide: ### ✨ New Functionality -* Add support of mv, cp, export and import for SQLDatabase item type +* Add support of `mv`, `cp` and `import` commands for SQLDatabase item type * Add new 'job run-rm' command for remove a scheduled job * Enhance `set` command for items to support any settable property path within the item's definition and metadata structure * Add support in `ls` commmand using `-q` flag for filtering based on JMESPath expressions From ca313c305ad010157171ee7bfd9af66dc9a5d957 Mon Sep 17 00:00:00 2001 From: Alon Yeshurun Date: Wed, 17 Dec 2025 13:43:53 +0000 Subject: [PATCH 04/34] Introduce release workflow --- .github/workflows/create-release.yml | 37 ++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 .github/workflows/create-release.yml diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml new file mode 100644 index 00000000..819cd8cf --- /dev/null +++ b/.github/workflows/create-release.yml @@ -0,0 +1,37 @@ +name: πŸš€ Create GitHub Release + +on: + workflow_dispatch: + inputs: + version: + description: 'The version to release (e.g., v1.2.0)' + required: true + +jobs: + create-release: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up release variables + id: set_vars + run: | + VERSION="${{ github.event.inputs.version }}" + echo "tag_name=$VERSION" >> $GITHUB_OUTPUT + echo "changelog_file_path=.changes/${VERSION}.md" >> $GITHUB_OUTPUT + + - name: Validate release notes file + run: | + if [ ! -f "${{ steps.set_vars.outputs.changelog_file_path }}" ]; then + echo "Error: Release notes file not found at ${{ steps.set_vars.outputs.changelog_file_path }}" + exit 1 + fi + + - name: Create Release with GitHub CLI + run: | + gh release create ${{ steps.set_vars.outputs.tag_name }} \ + --title "${{ steps.set_vars.outputs.tag_name }}" \ + --notes-file "${{ steps.set_vars.outputs.changelog_file_path }}" \ No newline at end of file From 39f2d851274d5d302ba9caeaf0a3768a69e13c2c Mon Sep 17 00:00:00 2001 From: Alon Yeshurun <98805507+ayeshurun@users.noreply.github.com> Date: Wed, 17 Dec 2025 16:21:05 +0200 Subject: [PATCH 05/34] Add GH_TOKEN to create release step --- .github/workflows/create-release.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 819cd8cf..e8dd7f15 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -31,7 +31,9 @@ jobs: fi - name: Create Release with GitHub CLI + env: + GH_TOKEN: ${{ github.token }} run: | gh release create ${{ steps.set_vars.outputs.tag_name }} \ --title "${{ steps.set_vars.outputs.tag_name }}" \ - --notes-file "${{ steps.set_vars.outputs.changelog_file_path }}" \ No newline at end of file + --notes-file "${{ steps.set_vars.outputs.changelog_file_path }}" From 5e3b68e2d33a6373f56631b15e6b17abc05e2b33 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 17 Dec 2025 14:29:08 +0000 Subject: [PATCH 06/34] Initial plan From 7c573b0285782f74cafea72d6db1d7b5c145c5b6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 17 Dec 2025 14:33:51 +0000 Subject: [PATCH 07/34] Enhance create-release workflow with GITHUB_STEP_SUMMARY and optional commit SHA Co-authored-by: ayeshurun <98805507+ayeshurun@users.noreply.github.com> --- .github/workflows/create-release.yml | 124 ++++++++++++++++++++++++++- 1 file changed, 120 insertions(+), 4 deletions(-) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index e8dd7f15..4494fd73 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -6,6 +6,10 @@ on: version: description: 'The version to release (e.g., v1.2.0)' required: true + commit_sha: + description: 'Optional: Commit SHA to create the tag on. If not provided, the tag will be created on the latest commit of the current branch (HEAD)' + required: false + default: '' jobs: create-release: @@ -15,25 +19,137 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v4 + with: + fetch-depth: 0 # Required to access full commit history for validation + + - name: Display workflow information + run: | + echo "# πŸš€ Create Release Workflow" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "## ℹ️ Workflow Information" >> $GITHUB_STEP_SUMMARY + echo "- **Version:** ${{ github.event.inputs.version }}" >> $GITHUB_STEP_SUMMARY + if [ -n "${{ github.event.inputs.commit_sha }}" ]; then + echo "- **Target Commit:** \`${{ github.event.inputs.commit_sha }}\`" >> $GITHUB_STEP_SUMMARY + else + echo "- **Target Commit:** Latest commit on current branch (HEAD)" >> $GITHUB_STEP_SUMMARY + fi + echo "" >> $GITHUB_STEP_SUMMARY + + - name: Validate commit SHA (if provided) + if: ${{ github.event.inputs.commit_sha != '' }} + run: | + COMMIT_SHA="${{ github.event.inputs.commit_sha }}" + if ! git rev-parse --verify "$COMMIT_SHA^{commit}" >/dev/null 2>&1; then + echo "## ❌ Error: Invalid Commit SHA" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "The provided commit SHA \`$COMMIT_SHA\` is not valid or does not exist in this repository." >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "### πŸ“ Troubleshooting" >> $GITHUB_STEP_SUMMARY + echo "- Verify the commit SHA exists in the repository" >> $GITHUB_STEP_SUMMARY + echo "- Ensure you are using the full commit SHA (or at least 7 characters)" >> $GITHUB_STEP_SUMMARY + echo "- Check that the commit is in the current branch history" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "Error: Invalid commit SHA: $COMMIT_SHA" + exit 1 + fi + echo "βœ… Commit SHA validated successfully: $COMMIT_SHA" - name: Set up release variables id: set_vars run: | VERSION="${{ github.event.inputs.version }}" + COMMIT_SHA="${{ github.event.inputs.commit_sha }}" + + # Use provided commit SHA or default to HEAD + if [ -n "$COMMIT_SHA" ]; then + TARGET_COMMIT="$COMMIT_SHA" + else + TARGET_COMMIT="HEAD" + fi + echo "tag_name=$VERSION" >> $GITHUB_OUTPUT echo "changelog_file_path=.changes/${VERSION}.md" >> $GITHUB_OUTPUT + echo "target_commit=$TARGET_COMMIT" >> $GITHUB_OUTPUT + + # Get the actual commit SHA for display + ACTUAL_SHA=$(git rev-parse "$TARGET_COMMIT") + echo "actual_sha=$ACTUAL_SHA" >> $GITHUB_OUTPUT + + echo "βœ… Release variables set:" + echo " - Tag name: $VERSION" + echo " - Target commit: $ACTUAL_SHA" + echo " - Changelog file: .changes/${VERSION}.md" - name: Validate release notes file run: | - if [ ! -f "${{ steps.set_vars.outputs.changelog_file_path }}" ]; then - echo "Error: Release notes file not found at ${{ steps.set_vars.outputs.changelog_file_path }}" + CHANGELOG_FILE="${{ steps.set_vars.outputs.changelog_file_path }}" + if [ ! -f "$CHANGELOG_FILE" ]; then + echo "## ❌ Error: Release Notes File Not Found" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "The release notes file was not found at the expected location:" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "\`\`\`" >> $GITHUB_STEP_SUMMARY + echo "$CHANGELOG_FILE" >> $GITHUB_STEP_SUMMARY + echo "\`\`\`" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "### πŸ“ What to do:" >> $GITHUB_STEP_SUMMARY + echo "1. Ensure you have created the changelog file for version \`${{ steps.set_vars.outputs.tag_name }}\`" >> $GITHUB_STEP_SUMMARY + echo "2. The file should be located at: \`.changes/${{ steps.set_vars.outputs.tag_name }}.md\`" >> $GITHUB_STEP_SUMMARY + echo "3. You can use \`changie batch \` to generate the changelog file" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "### πŸ“‚ Available changelog files:" >> $GITHUB_STEP_SUMMARY + echo "\`\`\`" >> $GITHUB_STEP_SUMMARY + ls -1 .changes/*.md 2>/dev/null || echo "No changelog files found" >> $GITHUB_STEP_SUMMARY + echo "\`\`\`" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "Error: Release notes file not found at $CHANGELOG_FILE" exit 1 fi + echo "βœ… Release notes file found at: $CHANGELOG_FILE" - name: Create Release with GitHub CLI env: GH_TOKEN: ${{ github.token }} run: | - gh release create ${{ steps.set_vars.outputs.tag_name }} \ + echo "## πŸ—οΈ Creating Release" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "Creating release with the following details:" >> $GITHUB_STEP_SUMMARY + echo "- **Tag:** \`${{ steps.set_vars.outputs.tag_name }}\`" >> $GITHUB_STEP_SUMMARY + echo "- **Target Commit:** \`${{ steps.set_vars.outputs.actual_sha }}\`" >> $GITHUB_STEP_SUMMARY + echo "- **Notes File:** \`${{ steps.set_vars.outputs.changelog_file_path }}\`" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + + # Create the release with the target commit + if gh release create ${{ steps.set_vars.outputs.tag_name }} \ --title "${{ steps.set_vars.outputs.tag_name }}" \ - --notes-file "${{ steps.set_vars.outputs.changelog_file_path }}" + --notes-file "${{ steps.set_vars.outputs.changelog_file_path }}" \ + --target "${{ steps.set_vars.outputs.target_commit }}"; then + + echo "## βœ… Release Created Successfully!" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "πŸŽ‰ **Release \`${{ steps.set_vars.outputs.tag_name }}\` has been created!**" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "### πŸ“‹ Release Details:" >> $GITHUB_STEP_SUMMARY + echo "- **Tag:** \`${{ steps.set_vars.outputs.tag_name }}\`" >> $GITHUB_STEP_SUMMARY + echo "- **Commit:** \`${{ steps.set_vars.outputs.actual_sha }}\`" >> $GITHUB_STEP_SUMMARY + echo "- **Release URL:** [View Release](https://github.com/${{ github.repository }}/releases/tag/${{ steps.set_vars.outputs.tag_name }})" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + else + echo "## ❌ Error: Failed to Create Release" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "The GitHub CLI failed to create the release. This could be due to:" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "### πŸ” Common Issues:" >> $GITHUB_STEP_SUMMARY + echo "- A release with tag \`${{ steps.set_vars.outputs.tag_name }}\` already exists" >> $GITHUB_STEP_SUMMARY + echo "- Insufficient permissions to create releases" >> $GITHUB_STEP_SUMMARY + echo "- Network connectivity issues" >> $GITHUB_STEP_SUMMARY + echo "- Invalid release notes format" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "### πŸ“ Next Steps:" >> $GITHUB_STEP_SUMMARY + echo "1. Check if the tag already exists: \`git tag -l '${{ steps.set_vars.outputs.tag_name }}'\`" >> $GITHUB_STEP_SUMMARY + echo "2. Verify you have the necessary permissions to create releases" >> $GITHUB_STEP_SUMMARY + echo "3. Review the workflow run logs for detailed error messages" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "Error: Failed to create release" + exit 1 + fi From f9a4bb2a434fc2f23857477b38cb7d7be416c674 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 18 Dec 2025 08:31:07 +0000 Subject: [PATCH 08/34] Refactor GITHUB_STEP_SUMMARY messages to use heredoc syntax Co-authored-by: ayeshurun <98805507+ayeshurun@users.noreply.github.com> --- .github/workflows/create-release.yml | 144 +++++++++++++++------------ 1 file changed, 79 insertions(+), 65 deletions(-) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 4494fd73..fbaa15b3 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -24,31 +24,37 @@ jobs: - name: Display workflow information run: | - echo "# πŸš€ Create Release Workflow" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "## ℹ️ Workflow Information" >> $GITHUB_STEP_SUMMARY - echo "- **Version:** ${{ github.event.inputs.version }}" >> $GITHUB_STEP_SUMMARY if [ -n "${{ github.event.inputs.commit_sha }}" ]; then - echo "- **Target Commit:** \`${{ github.event.inputs.commit_sha }}\`" >> $GITHUB_STEP_SUMMARY + TARGET_INFO="- **Target Commit:** \`${{ github.event.inputs.commit_sha }}\`" else - echo "- **Target Commit:** Latest commit on current branch (HEAD)" >> $GITHUB_STEP_SUMMARY + TARGET_INFO="- **Target Commit:** Latest commit on current branch (HEAD)" fi - echo "" >> $GITHUB_STEP_SUMMARY + + cat >> $GITHUB_STEP_SUMMARY << EOF + # πŸš€ Create Release Workflow + + ## ℹ️ Workflow Information + - **Version:** ${{ github.event.inputs.version }} + $TARGET_INFO + + EOF - name: Validate commit SHA (if provided) if: ${{ github.event.inputs.commit_sha != '' }} run: | COMMIT_SHA="${{ github.event.inputs.commit_sha }}" if ! git rev-parse --verify "$COMMIT_SHA^{commit}" >/dev/null 2>&1; then - echo "## ❌ Error: Invalid Commit SHA" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "The provided commit SHA \`$COMMIT_SHA\` is not valid or does not exist in this repository." >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "### πŸ“ Troubleshooting" >> $GITHUB_STEP_SUMMARY - echo "- Verify the commit SHA exists in the repository" >> $GITHUB_STEP_SUMMARY - echo "- Ensure you are using the full commit SHA (or at least 7 characters)" >> $GITHUB_STEP_SUMMARY - echo "- Check that the commit is in the current branch history" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY + cat >> $GITHUB_STEP_SUMMARY << EOF + ## ❌ Error: Invalid Commit SHA + + The provided commit SHA \`$COMMIT_SHA\` is not valid or does not exist in this repository. + + ### πŸ“ Troubleshooting + - Verify the commit SHA exists in the repository + - Ensure you are using the full commit SHA (or at least 7 characters) + - Check that the commit is in the current branch history + + EOF echo "Error: Invalid commit SHA: $COMMIT_SHA" exit 1 fi @@ -84,24 +90,26 @@ jobs: run: | CHANGELOG_FILE="${{ steps.set_vars.outputs.changelog_file_path }}" if [ ! -f "$CHANGELOG_FILE" ]; then - echo "## ❌ Error: Release Notes File Not Found" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "The release notes file was not found at the expected location:" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "\`\`\`" >> $GITHUB_STEP_SUMMARY - echo "$CHANGELOG_FILE" >> $GITHUB_STEP_SUMMARY - echo "\`\`\`" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "### πŸ“ What to do:" >> $GITHUB_STEP_SUMMARY - echo "1. Ensure you have created the changelog file for version \`${{ steps.set_vars.outputs.tag_name }}\`" >> $GITHUB_STEP_SUMMARY - echo "2. The file should be located at: \`.changes/${{ steps.set_vars.outputs.tag_name }}.md\`" >> $GITHUB_STEP_SUMMARY - echo "3. You can use \`changie batch \` to generate the changelog file" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "### πŸ“‚ Available changelog files:" >> $GITHUB_STEP_SUMMARY - echo "\`\`\`" >> $GITHUB_STEP_SUMMARY - ls -1 .changes/*.md 2>/dev/null || echo "No changelog files found" >> $GITHUB_STEP_SUMMARY - echo "\`\`\`" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY + cat >> $GITHUB_STEP_SUMMARY << EOF + ## ❌ Error: Release Notes File Not Found + + The release notes file was not found at the expected location: + + \`\`\` + $CHANGELOG_FILE + \`\`\` + + ### πŸ“ What to do: + 1. Ensure you have created the changelog file for version \`${{ steps.set_vars.outputs.tag_name }}\` + 2. The file should be located at: \`.changes/${{ steps.set_vars.outputs.tag_name }}.md\` + 3. You can use \`changie batch \` to generate the changelog file + + ### πŸ“‚ Available changelog files: + \`\`\` + $(ls -1 .changes/*.md 2>/dev/null || echo "No changelog files found") + \`\`\` + + EOF echo "Error: Release notes file not found at $CHANGELOG_FILE" exit 1 fi @@ -111,13 +119,15 @@ jobs: env: GH_TOKEN: ${{ github.token }} run: | - echo "## πŸ—οΈ Creating Release" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "Creating release with the following details:" >> $GITHUB_STEP_SUMMARY - echo "- **Tag:** \`${{ steps.set_vars.outputs.tag_name }}\`" >> $GITHUB_STEP_SUMMARY - echo "- **Target Commit:** \`${{ steps.set_vars.outputs.actual_sha }}\`" >> $GITHUB_STEP_SUMMARY - echo "- **Notes File:** \`${{ steps.set_vars.outputs.changelog_file_path }}\`" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY + cat >> $GITHUB_STEP_SUMMARY << EOF + ## πŸ—οΈ Creating Release + + Creating release with the following details: + - **Tag:** \`${{ steps.set_vars.outputs.tag_name }}\` + - **Target Commit:** \`${{ steps.set_vars.outputs.actual_sha }}\` + - **Notes File:** \`${{ steps.set_vars.outputs.changelog_file_path }}\` + + EOF # Create the release with the target commit if gh release create ${{ steps.set_vars.outputs.tag_name }} \ @@ -125,31 +135,35 @@ jobs: --notes-file "${{ steps.set_vars.outputs.changelog_file_path }}" \ --target "${{ steps.set_vars.outputs.target_commit }}"; then - echo "## βœ… Release Created Successfully!" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "πŸŽ‰ **Release \`${{ steps.set_vars.outputs.tag_name }}\` has been created!**" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "### πŸ“‹ Release Details:" >> $GITHUB_STEP_SUMMARY - echo "- **Tag:** \`${{ steps.set_vars.outputs.tag_name }}\`" >> $GITHUB_STEP_SUMMARY - echo "- **Commit:** \`${{ steps.set_vars.outputs.actual_sha }}\`" >> $GITHUB_STEP_SUMMARY - echo "- **Release URL:** [View Release](https://github.com/${{ github.repository }}/releases/tag/${{ steps.set_vars.outputs.tag_name }})" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY + cat >> $GITHUB_STEP_SUMMARY << EOF + ## βœ… Release Created Successfully! + + πŸŽ‰ **Release \`${{ steps.set_vars.outputs.tag_name }}\` has been created!** + + ### πŸ“‹ Release Details: + - **Tag:** \`${{ steps.set_vars.outputs.tag_name }}\` + - **Commit:** \`${{ steps.set_vars.outputs.actual_sha }}\` + - **Release URL:** [View Release](https://github.com/${{ github.repository }}/releases/tag/${{ steps.set_vars.outputs.tag_name }}) + + EOF else - echo "## ❌ Error: Failed to Create Release" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "The GitHub CLI failed to create the release. This could be due to:" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "### πŸ” Common Issues:" >> $GITHUB_STEP_SUMMARY - echo "- A release with tag \`${{ steps.set_vars.outputs.tag_name }}\` already exists" >> $GITHUB_STEP_SUMMARY - echo "- Insufficient permissions to create releases" >> $GITHUB_STEP_SUMMARY - echo "- Network connectivity issues" >> $GITHUB_STEP_SUMMARY - echo "- Invalid release notes format" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "### πŸ“ Next Steps:" >> $GITHUB_STEP_SUMMARY - echo "1. Check if the tag already exists: \`git tag -l '${{ steps.set_vars.outputs.tag_name }}'\`" >> $GITHUB_STEP_SUMMARY - echo "2. Verify you have the necessary permissions to create releases" >> $GITHUB_STEP_SUMMARY - echo "3. Review the workflow run logs for detailed error messages" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY + cat >> $GITHUB_STEP_SUMMARY << EOF + ## ❌ Error: Failed to Create Release + + The GitHub CLI failed to create the release. This could be due to: + + ### πŸ” Common Issues: + - A release with tag \`${{ steps.set_vars.outputs.tag_name }}\` already exists + - Insufficient permissions to create releases + - Network connectivity issues + - Invalid release notes format + + ### πŸ“ Next Steps: + 1. Check if the tag already exists: \`git tag -l '${{ steps.set_vars.outputs.tag_name }}'\` + 2. Verify you have the necessary permissions to create releases + 3. Review the workflow run logs for detailed error messages + + EOF echo "Error: Failed to create release" exit 1 fi From 641c4e768f65e6e348b1897e352bd4f0cbc39bae Mon Sep 17 00:00:00 2001 From: Alon Yeshurun <98805507+ayeshurun@users.noreply.github.com> Date: Mon, 22 Dec 2025 12:48:32 +0200 Subject: [PATCH 09/34] Update release notes for v1.3.1 --- docs/release-notes.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/release-notes.md b/docs/release-notes.md index 479c7cb5..dc41a2b2 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -10,7 +10,7 @@ hide: ### ✨ New Functionality -* Add support of `mv`, `cp` and `import` commands for SQLDatabase item type +* Add support of mv, cp, export and import for SQLDatabase item type * Add new 'job run-rm' command for remove a scheduled job * Enhance `set` command for items to support any settable property path within the item's definition and metadata structure * Add support in `ls` commmand using `-q` flag for filtering based on JMESPath expressions @@ -165,4 +165,4 @@ hide: * Initial public release * Released to PyPI -* Onboarded to GitHub Pages \ No newline at end of file +* Onboarded to GitHub Pages From 516dbb8cb5dcbbcb1f76372ec9f1236498a10fcf Mon Sep 17 00:00:00 2001 From: Alon Yeshurun Date: Sun, 14 Dec 2025 14:12:48 +0000 Subject: [PATCH 10/34] Fix new functionality section in release notes --- docs/release-notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes.md b/docs/release-notes.md index dc41a2b2..056089bc 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -10,7 +10,7 @@ hide: ### ✨ New Functionality -* Add support of mv, cp, export and import for SQLDatabase item type +* Add support of `mv`, `cp` and `import` commands for SQLDatabase item type * Add new 'job run-rm' command for remove a scheduled job * Enhance `set` command for items to support any settable property path within the item's definition and metadata structure * Add support in `ls` commmand using `-q` flag for filtering based on JMESPath expressions From 484993f8291512a108bed94c975fc2bab2647399 Mon Sep 17 00:00:00 2001 From: Alon Yeshurun Date: Wed, 17 Dec 2025 13:43:53 +0000 Subject: [PATCH 11/34] Introduce release workflow --- .github/workflows/create-release.yml | 140 +-------------------------- 1 file changed, 4 insertions(+), 136 deletions(-) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index fbaa15b3..819cd8cf 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -6,10 +6,6 @@ on: version: description: 'The version to release (e.g., v1.2.0)' required: true - commit_sha: - description: 'Optional: Commit SHA to create the tag on. If not provided, the tag will be created on the latest commit of the current branch (HEAD)' - required: false - default: '' jobs: create-release: @@ -19,151 +15,23 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v4 - with: - fetch-depth: 0 # Required to access full commit history for validation - - - name: Display workflow information - run: | - if [ -n "${{ github.event.inputs.commit_sha }}" ]; then - TARGET_INFO="- **Target Commit:** \`${{ github.event.inputs.commit_sha }}\`" - else - TARGET_INFO="- **Target Commit:** Latest commit on current branch (HEAD)" - fi - - cat >> $GITHUB_STEP_SUMMARY << EOF - # πŸš€ Create Release Workflow - - ## ℹ️ Workflow Information - - **Version:** ${{ github.event.inputs.version }} - $TARGET_INFO - - EOF - - - name: Validate commit SHA (if provided) - if: ${{ github.event.inputs.commit_sha != '' }} - run: | - COMMIT_SHA="${{ github.event.inputs.commit_sha }}" - if ! git rev-parse --verify "$COMMIT_SHA^{commit}" >/dev/null 2>&1; then - cat >> $GITHUB_STEP_SUMMARY << EOF - ## ❌ Error: Invalid Commit SHA - - The provided commit SHA \`$COMMIT_SHA\` is not valid or does not exist in this repository. - - ### πŸ“ Troubleshooting - - Verify the commit SHA exists in the repository - - Ensure you are using the full commit SHA (or at least 7 characters) - - Check that the commit is in the current branch history - - EOF - echo "Error: Invalid commit SHA: $COMMIT_SHA" - exit 1 - fi - echo "βœ… Commit SHA validated successfully: $COMMIT_SHA" - name: Set up release variables id: set_vars run: | VERSION="${{ github.event.inputs.version }}" - COMMIT_SHA="${{ github.event.inputs.commit_sha }}" - - # Use provided commit SHA or default to HEAD - if [ -n "$COMMIT_SHA" ]; then - TARGET_COMMIT="$COMMIT_SHA" - else - TARGET_COMMIT="HEAD" - fi - echo "tag_name=$VERSION" >> $GITHUB_OUTPUT echo "changelog_file_path=.changes/${VERSION}.md" >> $GITHUB_OUTPUT - echo "target_commit=$TARGET_COMMIT" >> $GITHUB_OUTPUT - - # Get the actual commit SHA for display - ACTUAL_SHA=$(git rev-parse "$TARGET_COMMIT") - echo "actual_sha=$ACTUAL_SHA" >> $GITHUB_OUTPUT - - echo "βœ… Release variables set:" - echo " - Tag name: $VERSION" - echo " - Target commit: $ACTUAL_SHA" - echo " - Changelog file: .changes/${VERSION}.md" - name: Validate release notes file run: | - CHANGELOG_FILE="${{ steps.set_vars.outputs.changelog_file_path }}" - if [ ! -f "$CHANGELOG_FILE" ]; then - cat >> $GITHUB_STEP_SUMMARY << EOF - ## ❌ Error: Release Notes File Not Found - - The release notes file was not found at the expected location: - - \`\`\` - $CHANGELOG_FILE - \`\`\` - - ### πŸ“ What to do: - 1. Ensure you have created the changelog file for version \`${{ steps.set_vars.outputs.tag_name }}\` - 2. The file should be located at: \`.changes/${{ steps.set_vars.outputs.tag_name }}.md\` - 3. You can use \`changie batch \` to generate the changelog file - - ### πŸ“‚ Available changelog files: - \`\`\` - $(ls -1 .changes/*.md 2>/dev/null || echo "No changelog files found") - \`\`\` - - EOF - echo "Error: Release notes file not found at $CHANGELOG_FILE" + if [ ! -f "${{ steps.set_vars.outputs.changelog_file_path }}" ]; then + echo "Error: Release notes file not found at ${{ steps.set_vars.outputs.changelog_file_path }}" exit 1 fi - echo "βœ… Release notes file found at: $CHANGELOG_FILE" - name: Create Release with GitHub CLI - env: - GH_TOKEN: ${{ github.token }} run: | - cat >> $GITHUB_STEP_SUMMARY << EOF - ## πŸ—οΈ Creating Release - - Creating release with the following details: - - **Tag:** \`${{ steps.set_vars.outputs.tag_name }}\` - - **Target Commit:** \`${{ steps.set_vars.outputs.actual_sha }}\` - - **Notes File:** \`${{ steps.set_vars.outputs.changelog_file_path }}\` - - EOF - - # Create the release with the target commit - if gh release create ${{ steps.set_vars.outputs.tag_name }} \ + gh release create ${{ steps.set_vars.outputs.tag_name }} \ --title "${{ steps.set_vars.outputs.tag_name }}" \ - --notes-file "${{ steps.set_vars.outputs.changelog_file_path }}" \ - --target "${{ steps.set_vars.outputs.target_commit }}"; then - - cat >> $GITHUB_STEP_SUMMARY << EOF - ## βœ… Release Created Successfully! - - πŸŽ‰ **Release \`${{ steps.set_vars.outputs.tag_name }}\` has been created!** - - ### πŸ“‹ Release Details: - - **Tag:** \`${{ steps.set_vars.outputs.tag_name }}\` - - **Commit:** \`${{ steps.set_vars.outputs.actual_sha }}\` - - **Release URL:** [View Release](https://github.com/${{ github.repository }}/releases/tag/${{ steps.set_vars.outputs.tag_name }}) - - EOF - else - cat >> $GITHUB_STEP_SUMMARY << EOF - ## ❌ Error: Failed to Create Release - - The GitHub CLI failed to create the release. This could be due to: - - ### πŸ” Common Issues: - - A release with tag \`${{ steps.set_vars.outputs.tag_name }}\` already exists - - Insufficient permissions to create releases - - Network connectivity issues - - Invalid release notes format - - ### πŸ“ Next Steps: - 1. Check if the tag already exists: \`git tag -l '${{ steps.set_vars.outputs.tag_name }}'\` - 2. Verify you have the necessary permissions to create releases - 3. Review the workflow run logs for detailed error messages - - EOF - echo "Error: Failed to create release" - exit 1 - fi + --notes-file "${{ steps.set_vars.outputs.changelog_file_path }}" \ No newline at end of file From 3a42a5cc88c1846bc164ea73a3e43a2a7549f4f1 Mon Sep 17 00:00:00 2001 From: Alon Yeshurun <98805507+ayeshurun@users.noreply.github.com> Date: Wed, 17 Dec 2025 16:21:05 +0200 Subject: [PATCH 12/34] Add GH_TOKEN to create release step --- .github/workflows/create-release.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 819cd8cf..e8dd7f15 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -31,7 +31,9 @@ jobs: fi - name: Create Release with GitHub CLI + env: + GH_TOKEN: ${{ github.token }} run: | gh release create ${{ steps.set_vars.outputs.tag_name }} \ --title "${{ steps.set_vars.outputs.tag_name }}" \ - --notes-file "${{ steps.set_vars.outputs.changelog_file_path }}" \ No newline at end of file + --notes-file "${{ steps.set_vars.outputs.changelog_file_path }}" From 0755733cee4f5bf85a6ef9533c5e44caaeb49a0e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 17 Dec 2025 14:29:08 +0000 Subject: [PATCH 13/34] Initial plan From 5917da7c91f018d0fedbacfe5d889e8651318d53 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 17 Dec 2025 14:33:51 +0000 Subject: [PATCH 14/34] Enhance create-release workflow with GITHUB_STEP_SUMMARY and optional commit SHA Co-authored-by: ayeshurun <98805507+ayeshurun@users.noreply.github.com> --- .github/workflows/create-release.yml | 124 ++++++++++++++++++++++++++- 1 file changed, 120 insertions(+), 4 deletions(-) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index e8dd7f15..4494fd73 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -6,6 +6,10 @@ on: version: description: 'The version to release (e.g., v1.2.0)' required: true + commit_sha: + description: 'Optional: Commit SHA to create the tag on. If not provided, the tag will be created on the latest commit of the current branch (HEAD)' + required: false + default: '' jobs: create-release: @@ -15,25 +19,137 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v4 + with: + fetch-depth: 0 # Required to access full commit history for validation + + - name: Display workflow information + run: | + echo "# πŸš€ Create Release Workflow" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "## ℹ️ Workflow Information" >> $GITHUB_STEP_SUMMARY + echo "- **Version:** ${{ github.event.inputs.version }}" >> $GITHUB_STEP_SUMMARY + if [ -n "${{ github.event.inputs.commit_sha }}" ]; then + echo "- **Target Commit:** \`${{ github.event.inputs.commit_sha }}\`" >> $GITHUB_STEP_SUMMARY + else + echo "- **Target Commit:** Latest commit on current branch (HEAD)" >> $GITHUB_STEP_SUMMARY + fi + echo "" >> $GITHUB_STEP_SUMMARY + + - name: Validate commit SHA (if provided) + if: ${{ github.event.inputs.commit_sha != '' }} + run: | + COMMIT_SHA="${{ github.event.inputs.commit_sha }}" + if ! git rev-parse --verify "$COMMIT_SHA^{commit}" >/dev/null 2>&1; then + echo "## ❌ Error: Invalid Commit SHA" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "The provided commit SHA \`$COMMIT_SHA\` is not valid or does not exist in this repository." >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "### πŸ“ Troubleshooting" >> $GITHUB_STEP_SUMMARY + echo "- Verify the commit SHA exists in the repository" >> $GITHUB_STEP_SUMMARY + echo "- Ensure you are using the full commit SHA (or at least 7 characters)" >> $GITHUB_STEP_SUMMARY + echo "- Check that the commit is in the current branch history" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "Error: Invalid commit SHA: $COMMIT_SHA" + exit 1 + fi + echo "βœ… Commit SHA validated successfully: $COMMIT_SHA" - name: Set up release variables id: set_vars run: | VERSION="${{ github.event.inputs.version }}" + COMMIT_SHA="${{ github.event.inputs.commit_sha }}" + + # Use provided commit SHA or default to HEAD + if [ -n "$COMMIT_SHA" ]; then + TARGET_COMMIT="$COMMIT_SHA" + else + TARGET_COMMIT="HEAD" + fi + echo "tag_name=$VERSION" >> $GITHUB_OUTPUT echo "changelog_file_path=.changes/${VERSION}.md" >> $GITHUB_OUTPUT + echo "target_commit=$TARGET_COMMIT" >> $GITHUB_OUTPUT + + # Get the actual commit SHA for display + ACTUAL_SHA=$(git rev-parse "$TARGET_COMMIT") + echo "actual_sha=$ACTUAL_SHA" >> $GITHUB_OUTPUT + + echo "βœ… Release variables set:" + echo " - Tag name: $VERSION" + echo " - Target commit: $ACTUAL_SHA" + echo " - Changelog file: .changes/${VERSION}.md" - name: Validate release notes file run: | - if [ ! -f "${{ steps.set_vars.outputs.changelog_file_path }}" ]; then - echo "Error: Release notes file not found at ${{ steps.set_vars.outputs.changelog_file_path }}" + CHANGELOG_FILE="${{ steps.set_vars.outputs.changelog_file_path }}" + if [ ! -f "$CHANGELOG_FILE" ]; then + echo "## ❌ Error: Release Notes File Not Found" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "The release notes file was not found at the expected location:" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "\`\`\`" >> $GITHUB_STEP_SUMMARY + echo "$CHANGELOG_FILE" >> $GITHUB_STEP_SUMMARY + echo "\`\`\`" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "### πŸ“ What to do:" >> $GITHUB_STEP_SUMMARY + echo "1. Ensure you have created the changelog file for version \`${{ steps.set_vars.outputs.tag_name }}\`" >> $GITHUB_STEP_SUMMARY + echo "2. The file should be located at: \`.changes/${{ steps.set_vars.outputs.tag_name }}.md\`" >> $GITHUB_STEP_SUMMARY + echo "3. You can use \`changie batch \` to generate the changelog file" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "### πŸ“‚ Available changelog files:" >> $GITHUB_STEP_SUMMARY + echo "\`\`\`" >> $GITHUB_STEP_SUMMARY + ls -1 .changes/*.md 2>/dev/null || echo "No changelog files found" >> $GITHUB_STEP_SUMMARY + echo "\`\`\`" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "Error: Release notes file not found at $CHANGELOG_FILE" exit 1 fi + echo "βœ… Release notes file found at: $CHANGELOG_FILE" - name: Create Release with GitHub CLI env: GH_TOKEN: ${{ github.token }} run: | - gh release create ${{ steps.set_vars.outputs.tag_name }} \ + echo "## πŸ—οΈ Creating Release" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "Creating release with the following details:" >> $GITHUB_STEP_SUMMARY + echo "- **Tag:** \`${{ steps.set_vars.outputs.tag_name }}\`" >> $GITHUB_STEP_SUMMARY + echo "- **Target Commit:** \`${{ steps.set_vars.outputs.actual_sha }}\`" >> $GITHUB_STEP_SUMMARY + echo "- **Notes File:** \`${{ steps.set_vars.outputs.changelog_file_path }}\`" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + + # Create the release with the target commit + if gh release create ${{ steps.set_vars.outputs.tag_name }} \ --title "${{ steps.set_vars.outputs.tag_name }}" \ - --notes-file "${{ steps.set_vars.outputs.changelog_file_path }}" + --notes-file "${{ steps.set_vars.outputs.changelog_file_path }}" \ + --target "${{ steps.set_vars.outputs.target_commit }}"; then + + echo "## βœ… Release Created Successfully!" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "πŸŽ‰ **Release \`${{ steps.set_vars.outputs.tag_name }}\` has been created!**" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "### πŸ“‹ Release Details:" >> $GITHUB_STEP_SUMMARY + echo "- **Tag:** \`${{ steps.set_vars.outputs.tag_name }}\`" >> $GITHUB_STEP_SUMMARY + echo "- **Commit:** \`${{ steps.set_vars.outputs.actual_sha }}\`" >> $GITHUB_STEP_SUMMARY + echo "- **Release URL:** [View Release](https://github.com/${{ github.repository }}/releases/tag/${{ steps.set_vars.outputs.tag_name }})" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + else + echo "## ❌ Error: Failed to Create Release" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "The GitHub CLI failed to create the release. This could be due to:" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "### πŸ” Common Issues:" >> $GITHUB_STEP_SUMMARY + echo "- A release with tag \`${{ steps.set_vars.outputs.tag_name }}\` already exists" >> $GITHUB_STEP_SUMMARY + echo "- Insufficient permissions to create releases" >> $GITHUB_STEP_SUMMARY + echo "- Network connectivity issues" >> $GITHUB_STEP_SUMMARY + echo "- Invalid release notes format" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "### πŸ“ Next Steps:" >> $GITHUB_STEP_SUMMARY + echo "1. Check if the tag already exists: \`git tag -l '${{ steps.set_vars.outputs.tag_name }}'\`" >> $GITHUB_STEP_SUMMARY + echo "2. Verify you have the necessary permissions to create releases" >> $GITHUB_STEP_SUMMARY + echo "3. Review the workflow run logs for detailed error messages" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "Error: Failed to create release" + exit 1 + fi From 635eadc107fdd33d7d22239951eab46eef0f3b66 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 18 Dec 2025 08:31:07 +0000 Subject: [PATCH 15/34] Refactor GITHUB_STEP_SUMMARY messages to use heredoc syntax Co-authored-by: ayeshurun <98805507+ayeshurun@users.noreply.github.com> --- .github/workflows/create-release.yml | 144 +++++++++++++++------------ 1 file changed, 79 insertions(+), 65 deletions(-) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 4494fd73..fbaa15b3 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -24,31 +24,37 @@ jobs: - name: Display workflow information run: | - echo "# πŸš€ Create Release Workflow" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "## ℹ️ Workflow Information" >> $GITHUB_STEP_SUMMARY - echo "- **Version:** ${{ github.event.inputs.version }}" >> $GITHUB_STEP_SUMMARY if [ -n "${{ github.event.inputs.commit_sha }}" ]; then - echo "- **Target Commit:** \`${{ github.event.inputs.commit_sha }}\`" >> $GITHUB_STEP_SUMMARY + TARGET_INFO="- **Target Commit:** \`${{ github.event.inputs.commit_sha }}\`" else - echo "- **Target Commit:** Latest commit on current branch (HEAD)" >> $GITHUB_STEP_SUMMARY + TARGET_INFO="- **Target Commit:** Latest commit on current branch (HEAD)" fi - echo "" >> $GITHUB_STEP_SUMMARY + + cat >> $GITHUB_STEP_SUMMARY << EOF + # πŸš€ Create Release Workflow + + ## ℹ️ Workflow Information + - **Version:** ${{ github.event.inputs.version }} + $TARGET_INFO + + EOF - name: Validate commit SHA (if provided) if: ${{ github.event.inputs.commit_sha != '' }} run: | COMMIT_SHA="${{ github.event.inputs.commit_sha }}" if ! git rev-parse --verify "$COMMIT_SHA^{commit}" >/dev/null 2>&1; then - echo "## ❌ Error: Invalid Commit SHA" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "The provided commit SHA \`$COMMIT_SHA\` is not valid or does not exist in this repository." >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "### πŸ“ Troubleshooting" >> $GITHUB_STEP_SUMMARY - echo "- Verify the commit SHA exists in the repository" >> $GITHUB_STEP_SUMMARY - echo "- Ensure you are using the full commit SHA (or at least 7 characters)" >> $GITHUB_STEP_SUMMARY - echo "- Check that the commit is in the current branch history" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY + cat >> $GITHUB_STEP_SUMMARY << EOF + ## ❌ Error: Invalid Commit SHA + + The provided commit SHA \`$COMMIT_SHA\` is not valid or does not exist in this repository. + + ### πŸ“ Troubleshooting + - Verify the commit SHA exists in the repository + - Ensure you are using the full commit SHA (or at least 7 characters) + - Check that the commit is in the current branch history + + EOF echo "Error: Invalid commit SHA: $COMMIT_SHA" exit 1 fi @@ -84,24 +90,26 @@ jobs: run: | CHANGELOG_FILE="${{ steps.set_vars.outputs.changelog_file_path }}" if [ ! -f "$CHANGELOG_FILE" ]; then - echo "## ❌ Error: Release Notes File Not Found" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "The release notes file was not found at the expected location:" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "\`\`\`" >> $GITHUB_STEP_SUMMARY - echo "$CHANGELOG_FILE" >> $GITHUB_STEP_SUMMARY - echo "\`\`\`" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "### πŸ“ What to do:" >> $GITHUB_STEP_SUMMARY - echo "1. Ensure you have created the changelog file for version \`${{ steps.set_vars.outputs.tag_name }}\`" >> $GITHUB_STEP_SUMMARY - echo "2. The file should be located at: \`.changes/${{ steps.set_vars.outputs.tag_name }}.md\`" >> $GITHUB_STEP_SUMMARY - echo "3. You can use \`changie batch \` to generate the changelog file" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "### πŸ“‚ Available changelog files:" >> $GITHUB_STEP_SUMMARY - echo "\`\`\`" >> $GITHUB_STEP_SUMMARY - ls -1 .changes/*.md 2>/dev/null || echo "No changelog files found" >> $GITHUB_STEP_SUMMARY - echo "\`\`\`" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY + cat >> $GITHUB_STEP_SUMMARY << EOF + ## ❌ Error: Release Notes File Not Found + + The release notes file was not found at the expected location: + + \`\`\` + $CHANGELOG_FILE + \`\`\` + + ### πŸ“ What to do: + 1. Ensure you have created the changelog file for version \`${{ steps.set_vars.outputs.tag_name }}\` + 2. The file should be located at: \`.changes/${{ steps.set_vars.outputs.tag_name }}.md\` + 3. You can use \`changie batch \` to generate the changelog file + + ### πŸ“‚ Available changelog files: + \`\`\` + $(ls -1 .changes/*.md 2>/dev/null || echo "No changelog files found") + \`\`\` + + EOF echo "Error: Release notes file not found at $CHANGELOG_FILE" exit 1 fi @@ -111,13 +119,15 @@ jobs: env: GH_TOKEN: ${{ github.token }} run: | - echo "## πŸ—οΈ Creating Release" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "Creating release with the following details:" >> $GITHUB_STEP_SUMMARY - echo "- **Tag:** \`${{ steps.set_vars.outputs.tag_name }}\`" >> $GITHUB_STEP_SUMMARY - echo "- **Target Commit:** \`${{ steps.set_vars.outputs.actual_sha }}\`" >> $GITHUB_STEP_SUMMARY - echo "- **Notes File:** \`${{ steps.set_vars.outputs.changelog_file_path }}\`" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY + cat >> $GITHUB_STEP_SUMMARY << EOF + ## πŸ—οΈ Creating Release + + Creating release with the following details: + - **Tag:** \`${{ steps.set_vars.outputs.tag_name }}\` + - **Target Commit:** \`${{ steps.set_vars.outputs.actual_sha }}\` + - **Notes File:** \`${{ steps.set_vars.outputs.changelog_file_path }}\` + + EOF # Create the release with the target commit if gh release create ${{ steps.set_vars.outputs.tag_name }} \ @@ -125,31 +135,35 @@ jobs: --notes-file "${{ steps.set_vars.outputs.changelog_file_path }}" \ --target "${{ steps.set_vars.outputs.target_commit }}"; then - echo "## βœ… Release Created Successfully!" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "πŸŽ‰ **Release \`${{ steps.set_vars.outputs.tag_name }}\` has been created!**" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "### πŸ“‹ Release Details:" >> $GITHUB_STEP_SUMMARY - echo "- **Tag:** \`${{ steps.set_vars.outputs.tag_name }}\`" >> $GITHUB_STEP_SUMMARY - echo "- **Commit:** \`${{ steps.set_vars.outputs.actual_sha }}\`" >> $GITHUB_STEP_SUMMARY - echo "- **Release URL:** [View Release](https://github.com/${{ github.repository }}/releases/tag/${{ steps.set_vars.outputs.tag_name }})" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY + cat >> $GITHUB_STEP_SUMMARY << EOF + ## βœ… Release Created Successfully! + + πŸŽ‰ **Release \`${{ steps.set_vars.outputs.tag_name }}\` has been created!** + + ### πŸ“‹ Release Details: + - **Tag:** \`${{ steps.set_vars.outputs.tag_name }}\` + - **Commit:** \`${{ steps.set_vars.outputs.actual_sha }}\` + - **Release URL:** [View Release](https://github.com/${{ github.repository }}/releases/tag/${{ steps.set_vars.outputs.tag_name }}) + + EOF else - echo "## ❌ Error: Failed to Create Release" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "The GitHub CLI failed to create the release. This could be due to:" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "### πŸ” Common Issues:" >> $GITHUB_STEP_SUMMARY - echo "- A release with tag \`${{ steps.set_vars.outputs.tag_name }}\` already exists" >> $GITHUB_STEP_SUMMARY - echo "- Insufficient permissions to create releases" >> $GITHUB_STEP_SUMMARY - echo "- Network connectivity issues" >> $GITHUB_STEP_SUMMARY - echo "- Invalid release notes format" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "### πŸ“ Next Steps:" >> $GITHUB_STEP_SUMMARY - echo "1. Check if the tag already exists: \`git tag -l '${{ steps.set_vars.outputs.tag_name }}'\`" >> $GITHUB_STEP_SUMMARY - echo "2. Verify you have the necessary permissions to create releases" >> $GITHUB_STEP_SUMMARY - echo "3. Review the workflow run logs for detailed error messages" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY + cat >> $GITHUB_STEP_SUMMARY << EOF + ## ❌ Error: Failed to Create Release + + The GitHub CLI failed to create the release. This could be due to: + + ### πŸ” Common Issues: + - A release with tag \`${{ steps.set_vars.outputs.tag_name }}\` already exists + - Insufficient permissions to create releases + - Network connectivity issues + - Invalid release notes format + + ### πŸ“ Next Steps: + 1. Check if the tag already exists: \`git tag -l '${{ steps.set_vars.outputs.tag_name }}'\` + 2. Verify you have the necessary permissions to create releases + 3. Review the workflow run logs for detailed error messages + + EOF echo "Error: Failed to create release" exit 1 fi From 22cc9cb859a54276701237c8a19c5afaafd93f81 Mon Sep 17 00:00:00 2001 From: Alon Yeshurun <98805507+ayeshurun@users.noreply.github.com> Date: Mon, 22 Dec 2025 12:48:32 +0200 Subject: [PATCH 16/34] Update release notes for v1.3.1 --- docs/release-notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes.md b/docs/release-notes.md index 056089bc..dc41a2b2 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -10,7 +10,7 @@ hide: ### ✨ New Functionality -* Add support of `mv`, `cp` and `import` commands for SQLDatabase item type +* Add support of mv, cp, export and import for SQLDatabase item type * Add new 'job run-rm' command for remove a scheduled job * Enhance `set` command for items to support any settable property path within the item's definition and metadata structure * Add support in `ls` commmand using `-q` flag for filtering based on JMESPath expressions From 5897cdee55590c6a9a34d699541a1c8455fea100 Mon Sep 17 00:00:00 2001 From: Alon Yeshurun Date: Sun, 14 Dec 2025 14:12:48 +0000 Subject: [PATCH 17/34] Fix new functionality section in release notes --- docs/release-notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes.md b/docs/release-notes.md index dc41a2b2..056089bc 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -10,7 +10,7 @@ hide: ### ✨ New Functionality -* Add support of mv, cp, export and import for SQLDatabase item type +* Add support of `mv`, `cp` and `import` commands for SQLDatabase item type * Add new 'job run-rm' command for remove a scheduled job * Enhance `set` command for items to support any settable property path within the item's definition and metadata structure * Add support in `ls` commmand using `-q` flag for filtering based on JMESPath expressions From 845fcb529a00f3602b50ca71425d0b7c6a2564a2 Mon Sep 17 00:00:00 2001 From: Alon Yeshurun Date: Wed, 17 Dec 2025 13:43:53 +0000 Subject: [PATCH 18/34] Introduce release workflow --- .github/workflows/create-release.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 61dc03f4..ca613e7a 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -113,11 +113,8 @@ jobs: echo "Error: Release notes file not found at $CHANGELOG_FILE" exit 1 fi - echo "βœ… Release notes file found at: $CHANGELOG_FILE" - name: Create Release with GitHub CLI - env: - GH_TOKEN: ${{ github.token }} run: | cat >> $GITHUB_STEP_SUMMARY << EOF ## πŸ—οΈ Creating Release From 5278b73827523058ab8721b8deb4c2c154398f0f Mon Sep 17 00:00:00 2001 From: Alon Yeshurun <98805507+ayeshurun@users.noreply.github.com> Date: Wed, 17 Dec 2025 16:21:05 +0200 Subject: [PATCH 19/34] Add GH_TOKEN to create release step --- .github/workflows/create-release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index ca613e7a..f5f9c1f0 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -115,6 +115,8 @@ jobs: fi - name: Create Release with GitHub CLI + env: + GH_TOKEN: ${{ github.token }} run: | cat >> $GITHUB_STEP_SUMMARY << EOF ## πŸ—οΈ Creating Release From 3c75e8846bacc12b60921d03996937390481b2f2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 17 Dec 2025 14:29:08 +0000 Subject: [PATCH 20/34] Initial plan From 326c42954094236bdc2aebbdd3cfddd64bbf31df Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 17 Dec 2025 14:33:51 +0000 Subject: [PATCH 21/34] Enhance create-release workflow with GITHUB_STEP_SUMMARY and optional commit SHA Co-authored-by: ayeshurun <98805507+ayeshurun@users.noreply.github.com> --- .github/workflows/create-release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index f5f9c1f0..61dc03f4 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -113,6 +113,7 @@ jobs: echo "Error: Release notes file not found at $CHANGELOG_FILE" exit 1 fi + echo "βœ… Release notes file found at: $CHANGELOG_FILE" - name: Create Release with GitHub CLI env: From aca88241ad1635fc6994aceaa5bf9bea9100fabf Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 18 Dec 2025 08:31:07 +0000 Subject: [PATCH 22/34] Refactor GITHUB_STEP_SUMMARY messages to use heredoc syntax Co-authored-by: ayeshurun <98805507+ayeshurun@users.noreply.github.com> --- .github/workflows/create-release.yml | 42 ++++++++++++++-------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 61dc03f4..026a334d 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -29,14 +29,14 @@ jobs: else TARGET_INFO="- **Target Commit:** Latest commit on current branch (HEAD)" fi - + cat >> $GITHUB_STEP_SUMMARY << EOF # πŸš€ Create Release Workflow - + ## ℹ️ Workflow Information - **Version:** ${{ github.event.inputs.version }} $TARGET_INFO - + EOF - name: Validate commit SHA (if provided) @@ -46,14 +46,14 @@ jobs: if ! git rev-parse --verify "$COMMIT_SHA^{commit}" >/dev/null 2>&1; then cat >> $GITHUB_STEP_SUMMARY << EOF ## ❌ Error: Invalid Commit SHA - + The provided commit SHA \`$COMMIT_SHA\` is not valid or does not exist in this repository. - + ### πŸ“ Troubleshooting - Verify the commit SHA exists in the repository - Ensure you are using the full commit SHA (or at least 7 characters) - Check that the commit is in the current branch history - + EOF echo "Error: Invalid commit SHA: $COMMIT_SHA" exit 1 @@ -92,23 +92,23 @@ jobs: if [ ! -f "$CHANGELOG_FILE" ]; then cat >> $GITHUB_STEP_SUMMARY << EOF ## ❌ Error: Release Notes File Not Found - + The release notes file was not found at the expected location: - + \`\`\` $CHANGELOG_FILE \`\`\` - + ### πŸ“ What to do: 1. Ensure you have created the changelog file for version \`${{ steps.set_vars.outputs.tag_name }}\` 2. The file should be located at: \`.changes/${{ steps.set_vars.outputs.tag_name }}.md\` 3. You can use \`changie batch \` to generate the changelog file - + ### πŸ“‚ Available changelog files: \`\`\` $(ls -1 .changes/*.md 2>/dev/null || echo "No changelog files found") \`\`\` - + EOF echo "Error: Release notes file not found at $CHANGELOG_FILE" exit 1 @@ -121,14 +121,14 @@ jobs: run: | cat >> $GITHUB_STEP_SUMMARY << EOF ## πŸ—οΈ Creating Release - + Creating release with the following details: - **Tag:** \`${{ steps.set_vars.outputs.tag_name }}\` - **Target Commit:** \`${{ steps.set_vars.outputs.actual_sha }}\` - **Notes File:** \`${{ steps.set_vars.outputs.changelog_file_path }}\` - + EOF - + # Create the release with the target commit if gh release create ${{ steps.set_vars.outputs.tag_name }} \ --title "${{ steps.set_vars.outputs.tag_name }}" \ @@ -137,32 +137,32 @@ jobs: cat >> $GITHUB_STEP_SUMMARY << EOF ## βœ… Release Created Successfully! - + πŸŽ‰ **Release \`${{ steps.set_vars.outputs.tag_name }}\` has been created!** - + ### πŸ“‹ Release Details: - **Tag:** \`${{ steps.set_vars.outputs.tag_name }}\` - **Commit:** \`${{ steps.set_vars.outputs.actual_sha }}\` - **Release URL:** [View Release](https://github.com/${{ github.repository }}/releases/tag/${{ steps.set_vars.outputs.tag_name }}) - + EOF else cat >> $GITHUB_STEP_SUMMARY << EOF ## ❌ Error: Failed to Create Release - + The GitHub CLI failed to create the release. This could be due to: - + ### πŸ” Common Issues: - A release with tag \`${{ steps.set_vars.outputs.tag_name }}\` already exists - Insufficient permissions to create releases - Network connectivity issues - Invalid release notes format - + ### πŸ“ Next Steps: 1. Check if the tag already exists: \`git tag -l '${{ steps.set_vars.outputs.tag_name }}'\` 2. Verify you have the necessary permissions to create releases 3. Review the workflow run logs for detailed error messages - + EOF echo "Error: Failed to create release" exit 1 From c2ac8ba9ab7ddb4522a93dfa06bce24d52ecce2f Mon Sep 17 00:00:00 2001 From: Alon Yeshurun <98805507+ayeshurun@users.noreply.github.com> Date: Mon, 22 Dec 2025 12:48:32 +0200 Subject: [PATCH 23/34] Update release notes for v1.3.1 --- docs/release-notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes.md b/docs/release-notes.md index 056089bc..dc41a2b2 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -10,7 +10,7 @@ hide: ### ✨ New Functionality -* Add support of `mv`, `cp` and `import` commands for SQLDatabase item type +* Add support of mv, cp, export and import for SQLDatabase item type * Add new 'job run-rm' command for remove a scheduled job * Enhance `set` command for items to support any settable property path within the item's definition and metadata structure * Add support in `ls` commmand using `-q` flag for filtering based on JMESPath expressions From 2dc9582dab18e56219605a7a035ddf586c2fd171 Mon Sep 17 00:00:00 2001 From: Alon Yeshurun Date: Sun, 14 Dec 2025 14:12:48 +0000 Subject: [PATCH 24/34] Fix new functionality section in release notes --- docs/release-notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes.md b/docs/release-notes.md index dc41a2b2..056089bc 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -10,7 +10,7 @@ hide: ### ✨ New Functionality -* Add support of mv, cp, export and import for SQLDatabase item type +* Add support of `mv`, `cp` and `import` commands for SQLDatabase item type * Add new 'job run-rm' command for remove a scheduled job * Enhance `set` command for items to support any settable property path within the item's definition and metadata structure * Add support in `ls` commmand using `-q` flag for filtering based on JMESPath expressions From 7b9fc6925fb70c4dd003319f679a79e9864acb9c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 17 Dec 2025 14:29:08 +0000 Subject: [PATCH 25/34] Initial plan From 31fe14a4447ff77583d2e10137d85932f710927f Mon Sep 17 00:00:00 2001 From: Alon Yeshurun <98805507+ayeshurun@users.noreply.github.com> Date: Mon, 22 Dec 2025 12:48:32 +0200 Subject: [PATCH 26/34] Update release notes for v1.3.1 --- docs/release-notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes.md b/docs/release-notes.md index 056089bc..dc41a2b2 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -10,7 +10,7 @@ hide: ### ✨ New Functionality -* Add support of `mv`, `cp` and `import` commands for SQLDatabase item type +* Add support of mv, cp, export and import for SQLDatabase item type * Add new 'job run-rm' command for remove a scheduled job * Enhance `set` command for items to support any settable property path within the item's definition and metadata structure * Add support in `ls` commmand using `-q` flag for filtering based on JMESPath expressions From f64cf4b9502a613686027d954e98f50f1b972584 Mon Sep 17 00:00:00 2001 From: Alon Yeshurun <98805507+ayeshurun@users.noreply.github.com> Date: Mon, 19 Jan 2026 09:34:54 +0200 Subject: [PATCH 27/34] Update changelog for v0.1.10 with contributors --- .changes/v0.1.10.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.changes/v0.1.10.md b/.changes/v0.1.10.md index 2bc60dd5..86be64ef 100644 --- a/.changes/v0.1.10.md +++ b/.changes/v0.1.10.md @@ -2,13 +2,13 @@ ### ✨ New Functionality -* Added item overwrite support in `cp` and `mv` +* Added item overwrite support in `cp` and `mv` by [murggu](https://github.com/murggu) ### πŸ”§ Bug Fix -* Fixed binary output in `export` (e.g., report images) -* Fixed shortcut creation when one already existed for `ln` +* Fixed binary output in `export` (e.g., report images) by [murggu](https://github.com/murggu) +* Fixed shortcut creation when one already existed for `ln` by [murggu](https://github.com/murggu) ### πŸ“ Documentation Update -* Updated settings descriptions \ No newline at end of file +* Updated settings descriptions by [ayeshurun](https://github.com/ayeshurun) From 4f2f74fb25a250f273d289de2f433222e2358861 Mon Sep 17 00:00:00 2001 From: Alon Yeshurun <98805507+ayeshurun@users.noreply.github.com> Date: Mon, 19 Jan 2026 09:38:15 +0200 Subject: [PATCH 28/34] Update v0.2.0 with contributors --- .changes/v0.2.0.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.changes/v0.2.0.md b/.changes/v0.2.0.md index b2812243..6cfebbbc 100644 --- a/.changes/v0.2.0.md +++ b/.changes/v0.2.0.md @@ -6,16 +6,16 @@ ### πŸ†• New Items Support -* Added support for [VariableLibrary](https://learn.microsoft.com/en-us/fabric/cicd/variable-library/variable-library-overview) and [CopyJob](https://learn.microsoft.com/en-us/fabric/data-factory/what-is-copy-job) items +* Added support for [VariableLibrary](https://learn.microsoft.com/en-us/fabric/cicd/variable-library/variable-library-overview) and [CopyJob](https://learn.microsoft.com/en-us/fabric/data-factory/what-is-copy-job) items by [murggu](https://github.com/murggu) ### ✨ New Functionality -* Added support for Service Principal authentication with federated credentials -* Added support for `~/` as a valid path in `import` and `export` input/output parameters +* Added support for Service Principal authentication with federated credentials by [jdocampo](https://github.com/jdocampo) +* Added support for `~/` as a valid path in `import` and `export` input/output parameters by [ayeshurun](https://github.com/ayeshurun) ### πŸ”§ Bug Fix -* Fixed connection-creation issues in On-Premises Gateways (Standard & Personal) -* Fixed whitespace handling in `cp` and `mv` with local paths -* Fixed OneLake-to-OneLake copy with encoded data +* Fixed connection-creation issues in On-Premises Gateways (Standard & Personal) by [jdocampo](https://github.com/jdocampo) +* Fixed whitespace handling in `cp` and `mv` with local paths by [jdocampo](https://github.com/jdocampo) +* Fixed OneLake-to-OneLake copy with encoded data by [jdocampo](https://github.com/jdocampo) From 1443ed9888c598cb1bc74ff64fe5bcb5459d5da4 Mon Sep 17 00:00:00 2001 From: Alon Yeshurun <98805507+ayeshurun@users.noreply.github.com> Date: Mon, 19 Jan 2026 09:59:19 +0200 Subject: [PATCH 29/34] Update changelog with contributor acknowledgments --- .changes/v1.0.0.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.changes/v1.0.0.md b/.changes/v1.0.0.md index 677930da..46d85b55 100644 --- a/.changes/v1.0.0.md +++ b/.changes/v1.0.0.md @@ -6,19 +6,19 @@ ### πŸ”§ Bug Fix -* Fixed issue in connection creation when `mkdir` was invoked with `skipTestConnection` parameter -* Fixed `cp` and `mv` when workspace names contained spaces -* Fixed `cd` when workspace display names included special characters -* Fixed a crash in `auth status` when no identity is logged in +* Fixed issue in connection creation when `mkdir` was invoked with `skipTestConnection` parameter by [jdocampo](https://github.com/jdocampo) +* Fixed `cp` and `mv` when workspace names contained spaces by [ohadedry](https://github.com/ohadedry) +* Fixed `cd` when workspace display names included special characters by [aviatco](https://github.com/aviatco) +* Fixed a crash in `auth status` when no identity is logged in by [ayeshurun](https://github.com/ayeshurun) ### ⚑ Additional Optimizations -* Added support for [Web Account Manager (WAM)](https://learn.microsoft.com/en-us/windows/uwp/security/web-account-manager) authentication on Windows -* Added the application (client) ID of the signed-in identity to `auth status` -* Renamed `fab_auth_mode` to `identity_type` in `auth.json` -* Removed the `fab_authority` property from `auth.json` -* Updated confirmation prompt in `cp`,`mv`, and `export` to include sensitivity label limitation. +* Added support for [Web Account Manager (WAM)](https://learn.microsoft.com/en-us/windows/uwp/security/web-account-manager) authentication on Windows by [may-hartov](https://github.com/may-hartov) +* Added the application (client) ID of the signed-in identity to `auth status` by [aviatco](https://github.com/aviatco) +* Renamed `fab_auth_mode` to `identity_type` in `auth.json` by [may-hartov](https://github.com/may-hartov) +* Removed the `fab_authority` property from `auth.json` by [may-hartov](https://github.com/may-hartov) +* Updated confirmation prompt in `cp`,`mv`, and `export` to include sensitivity label limitation by [ohadedry](https://github.com/ohadedry) ### πŸ“ Documentation Update -* Clarified in the documentation for `cp`, `get`, `mv`, and `export` that sensitivity labels are not included in item definitions \ No newline at end of file +* Clarified in the documentation for `cp`, `get`, `mv`, and `export` that sensitivity labels are not included in item definitions by [aliabufoul](https://github.com/aliabufoul) From 00984f78f6434fea42fd901d0c77e5fd3f7a8971 Mon Sep 17 00:00:00 2001 From: Alon Yeshurun <98805507+ayeshurun@users.noreply.github.com> Date: Mon, 19 Jan 2026 10:57:29 +0200 Subject: [PATCH 30/34] Revise v1.0.1 changelog with contributor details Updated bug fixes and optimizations with contributor credits. --- .changes/v1.0.1.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.changes/v1.0.1.md b/.changes/v1.0.1.md index dab9c3db..c0ab9e22 100644 --- a/.changes/v1.0.1.md +++ b/.changes/v1.0.1.md @@ -2,15 +2,15 @@ ### πŸ”§ Bug Fix -* Fixed `get` command results for items whose definitions include binary files -* Fixed `--timeout` parameter being parsed as string so it’s now correctly parsed as an integer -* Fixed `table load` command when the table doesn't exist -* Fixed printed output when exiting login with Ctrl+C during managed identity authentication -* Fixed incorrect sorting of results in the `ls` command -* Fixed resolution of the log file’s real path in Windows sandbox environments -* Fixed handling of `CopyJob` and `VariableLibrary` items in the `import` command +* Fixed `get` command results for items whose definitions include binary files by [MahirDiab](https://github.com/MahirDiab) +* Fixed `--timeout` parameter being parsed as string so it’s now correctly parsed as an integer by [jdocampo](https://github.com/jdocampo) +* Fixed `table load` command when the table doesn't exist by [MahirDiab](https://github.com/MahirDiab) +* Fixed printed output when exiting login with Ctrl+C during managed identity authentication by [ayeshurun](https://github.com/ayeshurun) +* Fixed incorrect sorting of results in the `ls` command by [orshemesh16](https://github.com/orshemesh16) +* Fixed resolution of the log file’s real path in Windows sandbox environments by [aviatco](https://github.com/aviatco) +* Fixed handling of `CopyJob` and `VariableLibrary` items in the `import` command by [ayeshurun](https://github.com/ayeshurun) ### ⚑ Additional Optimizations -* Improved error messages -* Added support for custom files in `api` commands \ No newline at end of file +* Improved error messages by [ayeshurun](https://github.com/ayeshurun) +* Added support for custom files in `api` commands by [jdocampo](https://github.com/jdocampo) From cb3d0ea825e57d3b7c947f3cf0974bad44db00d4 Mon Sep 17 00:00:00 2001 From: Alon Yeshurun <98805507+ayeshurun@users.noreply.github.com> Date: Mon, 19 Jan 2026 11:01:31 +0200 Subject: [PATCH 31/34] Update v1.1.0 release notes with contributions --- .changes/v1.1.0.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.changes/v1.1.0.md b/.changes/v1.1.0.md index 9164fcd9..1bddad7b 100644 --- a/.changes/v1.1.0.md +++ b/.changes/v1.1.0.md @@ -2,28 +2,28 @@ ### πŸ†• New Items Support -* Added support for GraphQLApi items definitions +* Added support for GraphQLApi items definitions by [ayeshurun](https://github.com/ayeshurun) ### ✨ New Functionality -* Added support for folders in `fs` commands, including `cp` and `mv` -* Added option to output command results in JSON format -* Implemented context persistence between `command_line` mode operations -* Added autocomplete support for commands and arguments in `command_line` mode -* Enabled support for Workspace Level Private Links in `api` command -* Added support for `set` and `rm` commands in Gateway and Connection +* Added support for folders in `fs` commands, including `cp` and `mv` by [jdocampo](https://github.com/jdocampo) +* Added option to output command results in JSON format by [aviatco](https://github.com/aviatco) +* Implemented context persistence between `command_line` mode operations by [MahirDiab](https://github.com/MahirDiab) +* Added autocomplete support for commands and arguments in `command_line` mode by [may-hartov](https://github.com/may-hartov) +* Enabled support for Workspace Level Private Links in `api` command by [ayeshurun](https://github.com/ayeshurun) +* Added support for `set` and `rm` commands in Gateway and Connection by [ayeshurun](https://github.com/ayeshurun) ### πŸ”§ Bug Fix -* Fixed download of binary files with the `cp` command -* Disabled the `mv` command for certain real-time intelligence (RTI) items -* Fixed case sensitivity issues in connection matching +* Fixed download of binary files with the `cp` command by [MahirDiab](https://github.com/MahirDiab) +* Disabled the `mv` command for certain real-time intelligence (RTI) items by [murggu](https://github.com/murggu) +* Fixed case sensitivity issues in connection matching by [aviatco](https://github.com/aviatco) ### ⚑ Additional Optimizations -* Adjusted polling intervals for jobs and long-running operations -* Standardized configuration key naming conventions +* Adjusted polling intervals for jobs and long-running operations by [may-hartov](https://github.com/may-hartov) +* Standardized configuration key naming conventions by [ayeshurun](https://github.com/ayeshurun) ### πŸ“ Documentation Update -* Switched to MIT license \ No newline at end of file +* Switched to MIT license From 6a318d7bad639b1964b5305034064e4f61461967 Mon Sep 17 00:00:00 2001 From: Alon Yeshurun <98805507+ayeshurun@users.noreply.github.com> Date: Mon, 19 Jan 2026 11:04:24 +0200 Subject: [PATCH 32/34] Update v1.2.0 release notes with contributor info --- .changes/v1.2.0.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.changes/v1.2.0.md b/.changes/v1.2.0.md index bcbf54a3..3d231c6d 100644 --- a/.changes/v1.2.0.md +++ b/.changes/v1.2.0.md @@ -2,19 +2,19 @@ ### πŸ†• New Items Support -* Added support for [Dataflow](https://learn.microsoft.com/en-us/fabric/data-factory/dataflows-gen2-overview) item +* Added support for [Dataflow](https://learn.microsoft.com/en-us/fabric/data-factory/dataflows-gen2-overview) item by [aviatco](https://github.com/aviatco) ### ✨ New Functionality -* Enable GraphQLApi item support in `mv` and `cp` commands -* Add `--block-path-collision` (`-bpc`) flag to `cp` command to prevent implicit overwriting when copying items to another workspace - +* Enable GraphQLApi item support in `mv` and `cp` commands by [ayeshurun](https://github.com/ayeshurun) +* Add `--block-path-collision` (`-bpc`) flag to `cp` command to prevent implicit overwriting when copying items to another workspace by [may-hartov](https://github.com/may-hartov) + ### πŸ”§ Bug Fix -* Align output font color in JSON output format -* Return newly created item in `ls` command in Folder path +* Align output font color in JSON output format by [aviatco](https://github.com/aviatco) +* Return newly created item in `ls` command in Folder path by [aviatco](https://github.com/aviatco) ### ⚑ Additional Optimizations -* Enhance auto-completion with supported config keys +* Enhance auto-completion with supported config keys by [may-hartov](https://github.com/may-hartov) From e3533182d17acb66f65a5eabadc86366930a2483 Mon Sep 17 00:00:00 2001 From: Alon Yeshurun <98805507+ayeshurun@users.noreply.github.com> Date: Mon, 19 Jan 2026 11:16:58 +0200 Subject: [PATCH 33/34] Update changelog for v1.3.1 release --- .changes/v1.3.1.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.changes/v1.3.1.md b/.changes/v1.3.1.md index 7602d546..d1cf824e 100644 --- a/.changes/v1.3.1.md +++ b/.changes/v1.3.1.md @@ -2,24 +2,24 @@ ### ✨ New Functionality -* Add support of mv, cp, export and import for SQLDatabase item type -* Add new 'job run-rm' command for remove a scheduled job -* Enhance `set` command for items to support any settable property path within the item's definition and metadata structure -* Add support in `ls` commmand using `-q` flag for filtering based on JMESPath expressions +* Add support of mv, cp, export and import for SQLDatabase item type by [ayeshurun](https://github.com/ayeshurun) +* Add new 'job run-rm' command for remove a scheduled job by [CSharplie](https://github.com/CSharplie) +* Enhance `set` command for items to support any settable property path within the item's definition and metadata structure by [may-hartov](https://github.com/may-hartov) +* Add support in `ls` commmand using `-q` flag for filtering based on JMESPath expressions by [aviatco](https://github.com/aviatco) ### πŸ”§ Bug Fix -* Fix `--output_format` argument for command `fab auth status` -* Fix context persistence in virtual environment -* Fix create connection with onPremGateway and encryptedCredentials +* Fix `--output_format` argument for command `fab auth status` by [Guust-Franssens](https://github.com/Guust-Franssens) +* Fix context persistence in virtual environment by [ayeshurun](https://github.com/ayeshurun) +* Fix create connection with onPremGateway and encryptedCredentials by [aviatco](https://github.com/aviatco) ### ⚑ Additional Optimizations -* Add support for print in key-value list style -* Optimize LRO polling by calling GetOperationResult API only when a Location header is present -* Enforce CLI parameter values must be wrapped in single (') or double (") quotes in interactive mode +* Add support for print in key-value list style by [aviatco](https://github.com/aviatco) +* Optimize LRO polling by calling GetOperationResult API only when a Location header is present by [may-hartov](https://github.com/may-hartov) +* Enforce CLI parameter values must be wrapped in single (') or double (") quotes in interactive mode by [aviatco](https://github.com/aviatco) ### πŸ“ Documentation Update -* Documentation updates +* Documentation updates by [ayeshurun](https://github.com/ayeshurun) From 1359d5e3d3384b5b760cf9d57b6bbf06226a532c Mon Sep 17 00:00:00 2001 From: Alon Yeshurun Date: Mon, 19 Jan 2026 13:01:50 +0000 Subject: [PATCH 34/34] Update contributors --- .changes/unreleased/added-20260101-125718.yaml | 4 ++++ .changes/unreleased/docs-20260104-100757.yaml | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/.changes/unreleased/added-20260101-125718.yaml b/.changes/unreleased/added-20260101-125718.yaml index 6301c64d..be404a26 100644 --- a/.changes/unreleased/added-20260101-125718.yaml +++ b/.changes/unreleased/added-20260101-125718.yaml @@ -1,3 +1,7 @@ kind: added body: Support fab command to start interactive (repl) mode time: 2026-01-01T12:57:18.777151041Z +custom: + Author: aviatco + AuthorLink: https://github.com/aviatco + diff --git a/.changes/unreleased/docs-20260104-100757.yaml b/.changes/unreleased/docs-20260104-100757.yaml index cde1661b..1d04d87c 100644 --- a/.changes/unreleased/docs-20260104-100757.yaml +++ b/.changes/unreleased/docs-20260104-100757.yaml @@ -1,3 +1,7 @@ kind: docs body: Improve help text clarity and consistency across all commands with concise descriptions, consistent terminology, and user-focused language time: 2026-01-04T10:07:57.3138333Z +custom: + Author: jeremydhoover-blip + AuthorLink: https://github.com/jeremydhoover-blip +