Detailed changes
@@ -28,7 +28,7 @@ jobs:
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=$TAG_NAME
+ run: curl -fX POST "https://cloud.zed.dev/releases/refresh?expect_tag=$TAG_NAME"
- name: steps::checkout_repo
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
with:
@@ -47,8 +47,8 @@ jobs:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
with:
- channel: ${{ env.IS_PRERELEASE == 'true' && 'preview' || 'stable' }}
- checkout_ref: ${{ env.TAG_NAME }}
+ channel: ${{ (github.event.release.prerelease || inputs.prerelease) && 'preview' || 'stable' }}
+ checkout_ref: ${{ github.event.release.tag_name || inputs.tag_name }}
post_to_discord:
needs:
- rebuild_releases_page
@@ -39,8 +39,6 @@ jobs:
runs-on: namespace-profile-16x32-ubuntu-2204
env:
DOCS_AMPLITUDE_API_KEY: ${{ secrets.DOCS_AMPLITUDE_API_KEY }}
- MDBOOK_BOOK__SITE_URL: ${{ steps.resolve-channel.outputs.site_url }}
- DOCS_CHANNEL: ${{ steps.resolve-channel.outputs.channel }}
steps:
- id: resolve-channel
name: deploy_docs::resolve_channel_step
@@ -73,9 +71,11 @@ jobs:
;;
esac
- echo "channel=$CHANNEL" >> "$GITHUB_OUTPUT"
- echo "site_url=$SITE_URL" >> "$GITHUB_OUTPUT"
- echo "project_name=$PROJECT_NAME" >> "$GITHUB_OUTPUT"
+ {
+ echo "channel=$CHANNEL"
+ echo "site_url=$SITE_URL"
+ echo "project_name=$PROJECT_NAME"
+ } >> "$GITHUB_OUTPUT"
env:
CHANNEL: inputs.channel
- name: steps::checkout_repo
@@ -108,10 +108,13 @@ jobs:
uses: peaceiris/actions-mdbook@ee69d230fe19748b7abf22df32acaa93833fad08
with:
mdbook-version: 0.4.37
- - name: deploy_docs::build_docs_book
+ - name: deploy_docs::build_docs_book::<alloc[d66a2b52346aa9d5]::string::String, alloc[d66a2b52346aa9d5]::string::String>
run: |
mkdir -p target/deploy
mdbook build ./docs --dest-dir=../target/deploy/docs/
+ env:
+ DOCS_CHANNEL: ${{ steps.resolve-channel.outputs.channel }}
+ MDBOOK_BOOK__SITE_URL: ${{ steps.resolve-channel.outputs.site_url }}
- name: deploy_docs::lychee_link_check
uses: lycheeverse/lychee-action@82202e5e9c2f4ef1a55a3d02563e1cb6041e5332
with:
@@ -640,8 +640,6 @@ jobs:
runs-on: namespace-profile-16x32-ubuntu-2204
env:
DOCS_AMPLITUDE_API_KEY: ${{ secrets.DOCS_AMPLITUDE_API_KEY }}
- MDBOOK_BOOK__SITE_URL: /docs/
- DOCS_CHANNEL: stable
steps:
- name: steps::checkout_repo
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
@@ -672,10 +670,13 @@ jobs:
uses: peaceiris/actions-mdbook@ee69d230fe19748b7abf22df32acaa93833fad08
with:
mdbook-version: 0.4.37
- - name: deploy_docs::build_docs_book
+ - name: deploy_docs::build_docs_book::<alloc[d66a2b52346aa9d5]::string::String, alloc[d66a2b52346aa9d5]::string::String>
run: |
mkdir -p target/deploy
mdbook build ./docs --dest-dir=../target/deploy/docs/
+ env:
+ DOCS_CHANNEL: stable
+ MDBOOK_BOOK__SITE_URL: /docs/
- name: deploy_docs::lychee_link_check
uses: lycheeverse/lychee-action@82202e5e9c2f4ef1a55a3d02563e1cb6041e5332
with:
@@ -11,7 +11,8 @@ const TAG_NAME_ENV: &str = "${{ github.event.release.tag_name || inputs.tag_name
const IS_PRERELEASE_ENV: &str = "${{ github.event.release.prerelease || inputs.prerelease }}";
const TAG_NAME: &str = "${{ env.TAG_NAME }}";
const RELEASE_BODY: &str = "${{ github.event.release.body || inputs.body }}";
-const DOCS_CHANNEL: &str = "${{ env.IS_PRERELEASE == 'true' && 'preview' || 'stable' }}";
+const DOCS_CHANNEL: &str =
+ "${{ (github.event.release.prerelease || inputs.prerelease) && 'preview' || 'stable' }}";
pub fn after_release() -> Workflow {
let tag_name = WorkflowInput::string("tag_name", None);
@@ -70,7 +71,7 @@ fn deploy_docs() -> NamedJob<UsesJob> {
.with(
Input::default()
.add("channel", DOCS_CHANNEL)
- .add("checkout_ref", TAG_NAME),
+ .add("checkout_ref", TAG_NAME_ENV),
)
.secrets(indexmap::IndexMap::from([
(
@@ -95,7 +96,7 @@ fn deploy_docs() -> NamedJob<UsesJob> {
fn rebuild_releases_page() -> NamedJob {
fn refresh_cloud_releases() -> Step<Run> {
- named::bash("curl -fX POST https://cloud.zed.dev/releases/refresh?expect_tag=$TAG_NAME")
+ named::bash("curl -fX POST \"https://cloud.zed.dev/releases/refresh?expect_tag=$TAG_NAME\"")
}
fn redeploy_zed_dev() -> Step<Run> {
@@ -63,11 +63,16 @@ pub(crate) fn install_mdbook() -> Step<Use> {
.with(("mdbook-version", "0.4.37"))
}
-pub(crate) fn build_docs_book() -> Step<Run> {
+pub(crate) fn build_docs_book(
+ docs_channel: impl Into<String>,
+ site_url: impl Into<String>,
+) -> Step<Run> {
named::bash(indoc::formatdoc! {r#"
mkdir -p {BUILD_OUTPUT_DIR}
mdbook build ./docs --dest-dir=../{BUILD_OUTPUT_DIR}/docs/
"#})
+ .add_env(("DOCS_CHANNEL", docs_channel.into()))
+ .add_env(("MDBOOK_BOOK__SITE_URL", site_url.into()))
}
fn docs_build_steps(
@@ -76,14 +81,15 @@ fn docs_build_steps(
docs_channel: impl Into<String>,
site_url: impl Into<String>,
) -> Job {
+ let docs_channel = docs_channel.into();
+ let site_url = site_url.into();
+
job.add_env(("DOCS_AMPLITUDE_API_KEY", vars::DOCS_AMPLITUDE_API_KEY))
.add_step(
steps::checkout_repo().when_some(checkout_ref, |step, checkout_ref| {
step.with_ref(checkout_ref)
}),
)
- .add_env(("MDBOOK_BOOK__SITE_URL", site_url.into()))
- .add_env(("DOCS_CHANNEL", docs_channel.into()))
.runs_on(runners::LINUX_XL)
.add_step(steps::setup_cargo_config(runners::Platform::Linux))
.add_step(steps::cache_rust_dependencies_namespace())
@@ -91,7 +97,7 @@ fn docs_build_steps(
.add_step(steps::script("./script/generate-action-metadata"))
.add_step(lychee_link_check("./docs/src/**/*"))
.add_step(install_mdbook())
- .add_step(build_docs_book())
+ .add_step(build_docs_book(docs_channel, site_url))
.add_step(lychee_link_check(&format!("{BUILD_OUTPUT_DIR}/docs")))
}
@@ -200,9 +206,11 @@ fn resolve_channel_step(
;;
esac
- echo "channel=$CHANNEL" >> "$GITHUB_OUTPUT"
- echo "site_url=$SITE_URL" >> "$GITHUB_OUTPUT"
- echo "project_name=$PROJECT_NAME" >> "$GITHUB_OUTPUT"
+ {{
+ echo "channel=$CHANNEL"
+ echo "site_url=$SITE_URL"
+ echo "project_name=$PROJECT_NAME"
+ }} >> "$GITHUB_OUTPUT"
"#},
nightly_site_url = DocsChannel::Nightly.site_url(),
preview_site_url = DocsChannel::Preview.site_url(),