fix(build): render Nextcloud login page via askama, not include_str!(OUT_DIR)
The SvelteKit migration gated build.rs's static-dist/OUT_DIR generation
behind OXICLOUD_RUST_ASSETS=1 (early return), but login_v2_handler.rs
still embedded the page with
`include_str!(concat!(env!("OUT_DIR"), "/nextcloud-login.html"))`. With
OXICLOUD_RUST_ASSETS unset (the default), that file is never written to
OUT_DIR, so a clean `cargo build` failed to compile. (#489)
Migrate the page off include_str! to an askama template
(templates/nextcloud/login.html), mirroring the existing
DrivePickerTemplate in the same handler. This drops the only
compile-time dependency on the legacy build.rs pipeline, so the
OXICLOUD_RUST_ASSETS=1 CI workaround is no longer needed and is removed
from ci.yml, load-smoke.yml and load-nightly.yml.
Also fix the second failure on #489: with OXICLOUD_RUST_ASSETS=1 the
release pipeline panicked in copy_dir_recursive because `static/locales`
is now a symlink to frontend/static/locales. entry.file_type() reports
the link itself (not its target), so the symlinked directory was routed
to fs::copy and failed with "the source path is neither a regular file
nor a symlink to a regular file". Classify entries with fs::metadata,
which follows symlinks, so symlinked directories are traversed.
static/nextcloud-login.html is removed (its content moved into the
template; no other consumer) and dropped from build.rs HTML_INCLUDE.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CNCEMN6fC2xSmxqCVbstkd
This commit is contained in:
@@ -14,12 +14,6 @@ env:
|
||||
CARGO_TERM_COLOR: always
|
||||
RUSTFLAGS: "-Dwarnings"
|
||||
DATABASE_URL: "postgres://postgres:postgres@localhost/oxicloud_test"
|
||||
# Re-enable the legacy build.rs static-dist + OUT_DIR HTML pipeline.
|
||||
# Required while login_v2_handler.rs still uses
|
||||
# `include_str!(concat!(env!("OUT_DIR"), "/nextcloud-login.html"))`;
|
||||
# without this, every cargo job fails to compile that file.
|
||||
# Remove once the Nextcloud login page moves off include_str! (askama).
|
||||
OXICLOUD_RUST_ASSETS: "1"
|
||||
|
||||
jobs:
|
||||
|
||||
|
||||
@@ -22,8 +22,6 @@ on:
|
||||
|
||||
env:
|
||||
CARGO_TERM_COLOR: always
|
||||
# See ci.yml — required while login_v2_handler.rs uses include_str! against OUT_DIR.
|
||||
OXICLOUD_RUST_ASSETS: "1"
|
||||
|
||||
jobs:
|
||||
load:
|
||||
|
||||
@@ -18,8 +18,6 @@ on:
|
||||
|
||||
env:
|
||||
CARGO_TERM_COLOR: always
|
||||
# See ci.yml — required while login_v2_handler.rs uses include_str! against OUT_DIR.
|
||||
OXICLOUD_RUST_ASSETS: "1"
|
||||
|
||||
jobs:
|
||||
smoke:
|
||||
|
||||
Reference in New Issue
Block a user