after_release.yml

 1# Generated from xtask::workflows::after_release
 2# Rebuild with `cargo xtask workflows`.
 3name: after_release
 4on:
 5  release:
 6    types:
 7    - published
 8jobs:
 9  rebuild_releases_page:
10    if: github.repository_owner == 'zed-industries'
11    runs-on: namespace-profile-2x4-ubuntu-2404
12    steps:
13    - name: after_release::rebuild_releases_page
14      run: 'curl https://zed.dev/api/revalidate-releases -H "Authorization: Bearer ${RELEASE_NOTES_API_TOKEN}"'
15      shell: bash -euxo pipefail {0}
16      env:
17        RELEASE_NOTES_API_TOKEN: ${{ secrets.RELEASE_NOTES_API_TOKEN }}
18  post_to_discord:
19    needs:
20    - rebuild_releases_page
21    if: github.repository_owner == 'zed-industries'
22    runs-on: namespace-profile-2x4-ubuntu-2404
23    steps:
24    - id: get-release-url
25      name: after_release::post_to_discord::get_release_url
26      run: |
27        if [ "${{ github.event.release.prerelease }}" == "true" ]; then
28            URL="https://zed.dev/releases/preview"
29        else
30            URL="https://zed.dev/releases/stable"
31        fi
32
33        echo "URL=$URL" >> "$GITHUB_OUTPUT"
34      shell: bash -euxo pipefail {0}
35    - id: get-content
36      name: after_release::post_to_discord::get_content
37      uses: 2428392/gh-truncate-string-action@b3ff790d21cf42af3ca7579146eedb93c8fb0757
38      with:
39        stringToTruncate: |
40          📣 Zed [${{ github.event.release.tag_name }}](<${{ steps.get-release-url.outputs.URL }}>) was just released!
41
42          ${{ github.event.release.body }}
43        maxLength: 2000
44        truncationSymbol: '...'
45    - name: after_release::post_to_discord::discord_webhook_action
46      uses: tsickert/discord-webhook@c840d45a03a323fbc3f7507ac7769dbd91bfb164
47      with:
48        webhook-url: ${{ secrets.DISCORD_WEBHOOK_RELEASE_NOTES }}
49        content: ${{ steps.get-content.outputs.string }}
50  publish_winget:
51    runs-on: namespace-profile-2x4-ubuntu-2404
52    steps:
53    - id: set-package-name
54      name: after_release::publish_winget::set_package_name
55      run: |
56        if [ "${{ github.event.release.prerelease }}" == "true" ]; then
57            PACKAGE_NAME=ZedIndustries.Zed.Preview
58        else
59            PACKAGE_NAME=ZedIndustries.Zed
60        fi
61
62        echo "PACKAGE_NAME=$PACKAGE_NAME" >> "$GITHUB_OUTPUT"
63      shell: bash -euxo pipefail {0}
64    - name: after_release::publish_winget::winget_releaser
65      uses: vedantmgoyal9/winget-releaser@19e706d4c9121098010096f9c495a70a7518b30f
66      with:
67        identifier: ${{ steps.set-package-name.outputs.PACKAGE_NAME }}
68        max-versions-to-keep: 5
69        token: ${{ secrets.WINGET_TOKEN }}