From 747b6eefe5a62cd8f7d63825f37a1b9d4e9bf862 Mon Sep 17 00:00:00 2001 From: Andrew Tatomyr Date: Tue, 15 Aug 2023 10:40:42 +0300 Subject: [PATCH] chore: fix creating release message file (#1228) --- .github/workflows/release.yaml | 20 ++++++++++++++++---- scripts/post-changeset.js | 8 -------- scripts/write-release-message.js | 17 +++++++++++++++++ 3 files changed, 33 insertions(+), 12 deletions(-) create mode 100644 scripts/write-release-message.js diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 1ddf9e3d40..5be5106a38 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -16,7 +16,6 @@ jobs: outputs: published: ${{ steps.changesets.outputs.published }} publishedPackages: ${{ steps.changesets.outputs.publishedPackages }} - releaseMessage: ${{ steps.changesets.outputs.releaseMessage }} steps: - name: Checkout Repo uses: actions/checkout@v3 @@ -42,8 +41,6 @@ jobs: npx changeset version npm i node scripts/post-changeset.js - releaseMessage="$(cat output/release-message.txt)" - echo "releaseMessage=$releaseMessage" >> "$GITHUB_OUTPUT" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} @@ -184,11 +181,26 @@ jobs: name: Post the Release Message runs-on: ubuntu-latest steps: + - name: Checkout Repo + uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 20 + cache: 'npm' + + - name: Install Dependencies + run: npm ci + + - name: Write release message to file + run: node scripts/write-release-message.js + - name: Post to a Slack channel id: slack uses: slackapi/slack-github-action@v1.23.0 with: channel-id: C019K52TC0L #releases - slack-message: ${{ needs.release.outputs.releaseMessage }} + payload-file-path: './output/release-message.json' env: SLACK_BOT_TOKEN: ${{ secrets.RELEASES_SLACK_BOT_TOKEN }} diff --git a/scripts/post-changeset.js b/scripts/post-changeset.js index facd57227e..9e85cf0318 100644 --- a/scripts/post-changeset.js +++ b/scripts/post-changeset.js @@ -1,18 +1,10 @@ const fs = require('fs'); -const slackifyMarkdown = require('slackify-markdown'); const generatedLogsCli = fs.readFileSync('./packages/cli/CHANGELOG.md').toString(); const [, logCli] = generatedLogsCli.split('\n## ', 2); const generatedLogsCore = fs.readFileSync('./packages/core/CHANGELOG.md').toString(); const [, logCore] = generatedLogsCore.split('\n## ', 2); -fs.writeFileSync( - './output/release-message.txt', - slackifyMarkdown( - `:bookmark: New @redocly/cli release ${logCli}\n\n:bookmark: New @redocly/openapi-core release ${logCore}\n\n` - ) -); - const mainChangelog = fs.readFileSync('./docs/changelog.md').toString(); const [date] = new Date().toISOString().split('T'); const logWithDate = logCli.replace('\n', ` (${date})\n`); diff --git a/scripts/write-release-message.js b/scripts/write-release-message.js new file mode 100644 index 0000000000..ec7f3b82b8 --- /dev/null +++ b/scripts/write-release-message.js @@ -0,0 +1,17 @@ +const fs = require('fs'); +const slackifyMarkdown = require('slackify-markdown'); + +const generatedLogsCli = fs.readFileSync('./packages/cli/CHANGELOG.md').toString(); +const [, logCli] = generatedLogsCli.split('\n## ', 2); +const generatedLogsCore = fs.readFileSync('./packages/core/CHANGELOG.md').toString(); +const [, logCore] = generatedLogsCore.split('\n## ', 2); + +fs.mkdirSync('./output', { recursive: true }); +fs.writeFileSync( + './output/release-message.json', + JSON.stringify({ + text: slackifyMarkdown( + `:bookmark: New @redocly/cli release ${logCli}\n\n:bookmark: New @redocly/openapi-core release ${logCore}\n\n` + ), + }) +);