-
Notifications
You must be signed in to change notification settings - Fork 326
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ensure linked-dist
is built for lint CI
#6592
Conversation
66ff8d8
to
f018160
Compare
wait what?
|
so this doesn't work properly. now lint ci is uploading artifacts... i'm explicitly running let ide_cli = Cli::parse_from([
"./run",
"ide",
"build",
"--skip-version-check",
"--skip-wasm-opt",
"--wasm-profile=dev",
"--backend-source",
"release",
"--backend-release",
"nightly",
]); ... ah, never mind, ide unconditionally uploads an artifact. in this case it shouldn't be too bad as lint ci should only build ide if Lines 565 to 586 in 608c5d8
|
i'm just going to assume the |
not sure how i feel about this solution but it seems to work? |
again though, not familiar with build so idk if, say, i tried using i think it's pretty hacky, but it's the only way i can see to build ide/gui, since manually constructing the arguments to pass to |
To clarify the build-script nomenclature: "artifact" is something uploaded to a CI run (which shows in the summary when run is complete), while "asset" is a file that is uploaded to a release.
This could be adjusted, but the core assumption in the CI was that we want to avoid duplicating any heavy jobs. As such, if something is built, it will be uploaded as an artifact, so any other jobs that require build artifacts can use it.
The The core issue seems to be that the Also, if you have any questions about the build script, don't hesitate to ask me on our Discord. |
@mwu-tow the issue is that typescript depends on it's worth noting that i think re: having to build the whole IDE, some notes:
|
build/cli/src/lib.rs
Outdated
let build_json_exists = ctx.repo_root.join("app/ide-desktop/build.json").exists(); | ||
let ide_artifacts_exist = ctx.repo_root.join("target/ensogl-pack/linked-dist").exists(); | ||
if !build_json_exists || !ide_artifacts_exist { | ||
let ide_cli = Cli::parse_from([ | ||
"./run", | ||
"ide", | ||
"build", | ||
"--skip-version-check", | ||
"--skip-wasm-opt", | ||
"--wasm-profile=dev", | ||
"--backend-source", | ||
"release", | ||
"--backend-release", | ||
"nightly", | ||
]); | ||
if let Target::Ide(ide) = ide_cli.target { | ||
ctx.handle_ide(ide).await? | ||
} else { | ||
unreachable!("This command line is hard-coded to always use the IDE target.") | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- definitely agree, will do
- the idea was it'd only have to run on clean runners, so 0 minutes extra most of the time, 7 minutes extra the rest of the time. i didn't actually test that though, rerunning lint CI might have been a good idea
linked-dist
is built for lint CI
superseded by #6603 |
Pull Request Description
Attempts to fix Lint CI by ensuring IDE build artifacts always exist, because TS relies on
build.json
andlinked-dist
for typechecking.Important Notes
None
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
./run ide build
.