From b17536ecb878ce865de4c9ba8fb78937a3c5f671 Mon Sep 17 00:00:00 2001 From: Kacper Kula Date: Thu, 22 May 2025 15:20:28 +0100 Subject: [PATCH] chore: fixing release --- .github/workflows/release.yml | 4 +- .github/workflows/tag-and-publish.yml | 109 -------------------------- package.json | 2 +- 3 files changed, 3 insertions(+), 112 deletions(-) delete mode 100644 .github/workflows/tag-and-publish.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0ae672f..d9e17c8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,8 +36,8 @@ jobs: with: publish: pnpm run ci:publish version: pnpm run ci:version - title: "[Release] Next Release" - commit: "automated release" + title: "[Release] ${{ steps.get-version.outputs.version }}" + commit: "release: Release v${{ steps.get-version.outputs.version }}" createGithubReleases: false # this is handled inside ci:publish script env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/tag-and-publish.yml b/.github/workflows/tag-and-publish.yml deleted file mode 100644 index 6b48ffe..0000000 --- a/.github/workflows/tag-and-publish.yml +++ /dev/null @@ -1,109 +0,0 @@ -name: Check Version and Release - -on: - push: - branches: - - main - paths: - - 'package.json' - -jobs: - check-and-release: - runs-on: ubuntu-latest - permissions: - contents: write - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Use Node.js - uses: actions/setup-node@v3 - with: - node-version: "18.x" - - - name: Get package version - id: package-version - run: | - VERSION=$(node -p "require('./package.json').version") - echo "VERSION=$VERSION" >> $GITHUB_OUTPUT - - - name: Check if tag exists - id: check-tag - run: | - if git rev-parse "${{ steps.package-version.outputs.VERSION }}" >/dev/null 2>&1; then - echo "EXISTS=true" >> $GITHUB_OUTPUT - else - echo "EXISTS=false" >> $GITHUB_OUTPUT - fi - - - name: Install packages - if: steps.check-tag.outputs.EXISTS == 'false' - run: npm install - - - name: Build plugin - if: steps.check-tag.outputs.EXISTS == 'false' - run: | - npm run build - - - name: Extract release notes - if: steps.check-tag.outputs.EXISTS == 'false' - id: release-notes - run: | - version="${{ steps.package-version.outputs.VERSION }}" - - # Use awk to extract the section for the current version - awk -v version="$version" ' - BEGIN { found=0; content="" } - /^# [0-9]+\.[0-9]+\.[0-9]+/ { - if (found) { exit } - if ($2 ~ "^"version"($| \\()") { found=1; next } - } - found { content = content $0 "\n" } - END { printf "%s", content } - ' CHANGELOG.md > release_notes.txt - - # Escape multiline output for GitHub Actions - echo "NOTES<> $GITHUB_OUTPUT - cat release_notes.txt >> $GITHUB_OUTPUT - echo "EOF" >> $GITHUB_OUTPUT - - - name: Create tag and release - if: steps.check-tag.outputs.EXISTS == 'false' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - # Create and push tag - git config user.name "GitHub Actions" - git config user.email "actions@github.com" - git tag -a "${{ steps.package-version.outputs.VERSION }}" -m "Release version ${{ steps.package-version.outputs.VERSION }}" - git push origin "${{ steps.package-version.outputs.VERSION }}" - - # Create release - gh release create "${{ steps.package-version.outputs.VERSION }}" \ - --title="${{ steps.package-version.outputs.VERSION }}" \ - --notes="${{ steps.release-notes.outputs.NOTES }}" \ - main.js manifest.json styles.css - - - name: Send Discord notification - if: steps.check-tag.outputs.EXISTS == 'false' && success() - env: - DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - # Get release URL using gh cli - RELEASE_URL=$(gh release view "${{ steps.package-version.outputs.VERSION }}" --json url -q .url) - - # Create a JSON file with the message - cat > discord_payload.json << EOF - { - "content": "šŸŽ‰ New release ${{ steps.package-version.outputs.VERSION }} is now available!\n\nšŸ“ Changes:\n${{ steps.release-notes.outputs.NOTES }}\n\nšŸ”— Release: $RELEASE_URL" - } - EOF - - # Send to Discord using curl - curl -H "Content-Type: application/json" \ - -d @discord_payload.json \ - $DISCORD_WEBHOOK \ No newline at end of file diff --git a/package.json b/package.json index e775a44..c6e85dc 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "docs:preview": "vitepress preview docs", "test": "jest", "ci:publish": "./scripts/tag-and-publish.sh", - "ci:version": "pnpm run version && changeset version" + "ci:version": "changeset version && pnpm run version" }, "keywords": [ "Obsidian",