Change summary
.github/workflows/after_release.yml | 14 ++++++++++
tooling/xtask/src/tasks/workflows/after_release.rs | 22 +++++++++++----
tooling/xtask/src/tasks/workflows/vars.rs | 2
3 files changed, 31 insertions(+), 7 deletions(-)
Detailed changes
@@ -6,7 +6,21 @@ on:
types:
- published
jobs:
+ rebuild_releases_page:
+ if: github.repository_owner == 'zed-industries'
+ runs-on: namespace-profile-2x4-ubuntu-2404
+ steps:
+ - name: after_release::rebuild_releases_page::refresh_cloud_releases
+ run: curl -fX POST https://cloud.zed.dev/releases/refresh?expect_tag=${{ github.event.release.tag_name }}
+ shell: bash -euxo pipefail {0}
+ - name: after_release::rebuild_releases_page::redeploy_zed_dev
+ run: npm exec --yes -- vercel@37 --token="$VERCEL_TOKEN" --scope zed-industries redeploy https://zed.dev
+ shell: bash -euxo pipefail {0}
+ env:
+ VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
post_to_discord:
+ needs:
+ - rebuild_releases_page
if: github.repository_owner == 'zed-industries'
runs-on: namespace-profile-2x4-ubuntu-2404
steps:
@@ -7,29 +7,39 @@ use crate::tasks::workflows::{
};
pub fn after_release() -> Workflow {
- // let refresh_zed_dev = rebuild_releases_page();
- let post_to_discord = post_to_discord(&[]);
+ let refresh_zed_dev = rebuild_releases_page();
+ let post_to_discord = post_to_discord(&[&refresh_zed_dev]);
let publish_winget = publish_winget();
let create_sentry_release = create_sentry_release();
named::workflow()
.on(Event::default().release(Release::default().types(vec![ReleaseType::Published])))
+ .add_job(refresh_zed_dev.name, refresh_zed_dev.job)
.add_job(post_to_discord.name, post_to_discord.job)
.add_job(publish_winget.name, publish_winget.job)
.add_job(create_sentry_release.name, create_sentry_release.job)
}
-#[allow(unused)]
fn rebuild_releases_page() -> NamedJob {
+ fn refresh_cloud_releases() -> Step<Run> {
+ named::bash(
+ "curl -fX POST https://cloud.zed.dev/releases/refresh?expect_tag=${{ github.event.release.tag_name }}",
+ )
+ }
+
+ fn redeploy_zed_dev() -> Step<Run> {
+ named::bash("npm exec --yes -- vercel@37 --token=\"$VERCEL_TOKEN\" --scope zed-industries redeploy https://zed.dev")
+ .add_env(("VERCEL_TOKEN", vars::VERCEL_TOKEN))
+ }
+
named::job(
Job::default()
.runs_on(runners::LINUX_SMALL)
.cond(Expression::new(
"github.repository_owner == 'zed-industries'",
))
- .add_step(named::bash(
- "curl https://zed.dev/api/revalidate-releases -H \"Authorization: Bearer ${RELEASE_NOTES_API_TOKEN}\"",
- ).add_env(("RELEASE_NOTES_API_TOKEN", vars::RELEASE_NOTES_API_TOKEN))),
+ .add_step(refresh_cloud_releases())
+ .add_step(redeploy_zed_dev()),
)
}
@@ -38,7 +38,7 @@ secret!(ZED_ZIPPY_APP_ID);
secret!(ZED_ZIPPY_APP_PRIVATE_KEY);
secret!(DISCORD_WEBHOOK_RELEASE_NOTES);
secret!(WINGET_TOKEN);
-secret!(RELEASE_NOTES_API_TOKEN);
+secret!(VERCEL_TOKEN);
// todo(ci) make these secrets too...
var!(AZURE_SIGNING_ACCOUNT_NAME);