mirror of
https://github.com/LukeHagar/redocly-cli.git
synced 2025-12-06 04:21:09 +00:00
chore: fix creating release message file (#1228)
This commit is contained in:
20
.github/workflows/release.yaml
vendored
20
.github/workflows/release.yaml
vendored
@@ -16,7 +16,6 @@ jobs:
|
|||||||
outputs:
|
outputs:
|
||||||
published: ${{ steps.changesets.outputs.published }}
|
published: ${{ steps.changesets.outputs.published }}
|
||||||
publishedPackages: ${{ steps.changesets.outputs.publishedPackages }}
|
publishedPackages: ${{ steps.changesets.outputs.publishedPackages }}
|
||||||
releaseMessage: ${{ steps.changesets.outputs.releaseMessage }}
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
@@ -42,8 +41,6 @@ jobs:
|
|||||||
npx changeset version
|
npx changeset version
|
||||||
npm i
|
npm i
|
||||||
node scripts/post-changeset.js
|
node scripts/post-changeset.js
|
||||||
releaseMessage="$(cat output/release-message.txt)"
|
|
||||||
echo "releaseMessage=$releaseMessage" >> "$GITHUB_OUTPUT"
|
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
@@ -184,11 +181,26 @@ jobs:
|
|||||||
name: Post the Release Message
|
name: Post the Release Message
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
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
|
- name: Post to a Slack channel
|
||||||
id: slack
|
id: slack
|
||||||
uses: slackapi/slack-github-action@v1.23.0
|
uses: slackapi/slack-github-action@v1.23.0
|
||||||
with:
|
with:
|
||||||
channel-id: C019K52TC0L #releases
|
channel-id: C019K52TC0L #releases
|
||||||
slack-message: ${{ needs.release.outputs.releaseMessage }}
|
payload-file-path: './output/release-message.json'
|
||||||
env:
|
env:
|
||||||
SLACK_BOT_TOKEN: ${{ secrets.RELEASES_SLACK_BOT_TOKEN }}
|
SLACK_BOT_TOKEN: ${{ secrets.RELEASES_SLACK_BOT_TOKEN }}
|
||||||
|
|||||||
@@ -1,18 +1,10 @@
|
|||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const slackifyMarkdown = require('slackify-markdown');
|
|
||||||
|
|
||||||
const generatedLogsCli = fs.readFileSync('./packages/cli/CHANGELOG.md').toString();
|
const generatedLogsCli = fs.readFileSync('./packages/cli/CHANGELOG.md').toString();
|
||||||
const [, logCli] = generatedLogsCli.split('\n## ', 2);
|
const [, logCli] = generatedLogsCli.split('\n## ', 2);
|
||||||
const generatedLogsCore = fs.readFileSync('./packages/core/CHANGELOG.md').toString();
|
const generatedLogsCore = fs.readFileSync('./packages/core/CHANGELOG.md').toString();
|
||||||
const [, logCore] = generatedLogsCore.split('\n## ', 2);
|
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 mainChangelog = fs.readFileSync('./docs/changelog.md').toString();
|
||||||
const [date] = new Date().toISOString().split('T');
|
const [date] = new Date().toISOString().split('T');
|
||||||
const logWithDate = logCli.replace('\n', ` (${date})\n`);
|
const logWithDate = logCli.replace('\n', ` (${date})\n`);
|
||||||
|
|||||||
17
scripts/write-release-message.js
Normal file
17
scripts/write-release-message.js
Normal file
@@ -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`
|
||||||
|
),
|
||||||
|
})
|
||||||
|
);
|
||||||
Reference in New Issue
Block a user