diff --git a/.github/workflows/release_actions.yml b/.github/workflows/release_actions.yml index 3db4f7b467..a5949127f5 100644 --- a/.github/workflows/release_actions.yml +++ b/.github/workflows/release_actions.yml @@ -21,6 +21,15 @@ jobs: ${{ github.event.release.body }} ``` + discourse_release: + runs-on: ubuntu-latest + steps: + - name: Install Node + uses: actions/setup-node@v2 + if: ${{ ! github.event.release.prerelease }} + with: + node-version: '16' + - run: script/discourse_release ${{ secrets.DISCOURSE_RELEASES_API_KEY }} ${{ github.event.release.tag_name }} ${{ github.event.release.body }} mixpanel_release: runs-on: ubuntu-latest steps: diff --git a/script/discourse_release b/script/discourse_release new file mode 100755 index 0000000000..c233bf1872 --- /dev/null +++ b/script/discourse_release @@ -0,0 +1,38 @@ +#!/usr/bin/env node --redirect-warnings=/dev/null + +main(); + +async function main() { + const apiKey = process.argv[2] + const zedVersion = process.argv[3] + const releaseNotes = process.argv[4] + const postBody = ` + 📣 Zed ${zedVersion} was just released! + + Restart your Zed or head to the [releases page](https://zed.dev/releases/latest) to grab it. + + --- + + ${releaseNotes} + ` + + const title = `${zedVersion} Release Notes` + + const options = { + method: "POST", + headers: { + "Api-Key": apiKey, + "Api-Username": "system" + }, + body: new URLSearchParams({ + title: title, + raw: postBody, + category: "8" + }) + }; + + fetch("https://forum.zed.dev/posts.json", options) + .then(response => response.json()) + .then(response => console.log(response)) + .catch(err => console.error(err)); +} \ No newline at end of file