-
Notifications
You must be signed in to change notification settings - Fork 15
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
Add a job that runsmake full-source-dist
, but mark it as "allow fail" for now
#252
Draft
DilumAluthge
wants to merge
15
commits into
main
Choose a base branch
from
dpa/full-source-dist
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from 7 commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
f8b4ffc
Create fullsrcdist.yml
DilumAluthge 976b938
Update launch_unsigned_jobs.yml
DilumAluthge 8a195b7
Update fullsrcdist.yml
DilumAluthge 442fa80
Update launch_unsigned_jobs.yml
DilumAluthge 85fe41e
Update launch_unsigned_jobs.yml
DilumAluthge 82b1ecf
Update launch_unsigned_jobs.yml
DilumAluthge cacef30
Update launch_unsigned_jobs.yml
DilumAluthge 1b1a9bf
Apply suggestions from code review
DilumAluthge 2f096b9
Update fullsrcdist.yml
DilumAluthge f3335e4
Download pre-built Julia
DilumAluthge 21bba88
Update fullsrcdist.yml
DilumAluthge e010196
Update fullsrcdist.yml
DilumAluthge 69aed0b
Update fullsrcdist.yml
DilumAluthge ec92356
I'm
DilumAluthge 143b552
Merge branch 'main' into dpa/full-source-dist
gbaraldi File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
steps: | ||
- group: "Full Source Dist" # TODO: delete this line | ||
# - group: "Check" # TODO: uncomment this line | ||
steps: | ||
- label: "fullsrcdist" | ||
key: "fullsrcdist" | ||
soft_fail: true # TODO: delete this line | ||
plugins: | ||
- JuliaCI/external-buildkite#v1: | ||
version: "./.buildkite-external-version" | ||
repo_url: "https://github.com/JuliaCI/julia-buildkite" | ||
- JuliaCI/julia#v1: | ||
# Drop default "registries" directory, so it is not persisted from execution to execution | ||
persist_depot_dirs: packages,artifacts,compiled | ||
version: '1.6' | ||
- staticfloat/sandbox#v1: | ||
rootfs_url: https://github.com/JuliaCI/rootfs-images/releases/download/v4.8/package_linux.x86_64.tar.gz | ||
rootfs_treehash: "2a058481b567f0e91b9aa3ce4ad4f09e6419355a" | ||
workspaces: | ||
- "/cache/repos:/cache/repos" | ||
- JuliaCI/julia#v1: | ||
# Drop default "registries" directory, so it is not persisted from execution to execution | ||
persist_depot_dirs: packages,artifacts,compiled | ||
version: '1.6' | ||
timeout_in_minutes: 10 | ||
commands: | | ||
make full-source-dist USE_BINARYBUILDER=0 | ||
DilumAluthge marked this conversation as resolved.
Show resolved
Hide resolved
|
||
agents: | ||
queue: "julia" | ||
# Only run on `sandbox.jl`-capable machines (not `docker`-isolated ones) since we need nestable sandboxing | ||
sandbox_capable: "true" | ||
os: "linux" | ||
arch: "x86_64" |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
I think
full-source-dist
may take more than 10 minutes... I've never timed it but anecdotally it feels like an eternity. It does a source build of all dependencies then Julia then all documentation.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.
Wait, it actually builds Julia? I thought it just downloads the source code of the dependencies.
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.
Yeah haha. It builds Julia so that it can use the built binary to build the documentation.
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.
Hmmm. A full from-source build of the dependencies and Julia takes more than 30 minutes on our fastest CI machines. See e.g. https://buildkite.com/julialang/julia-master-scheduled/builds/159#01847a53-374d-441c-90cc-c4dcfef6ae22
Maybe we should move the
full-source-dist
job to the once-daily scheduled pipeline. That's where the existingUSE_BINARYBUILDER=0
job lives.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.
I'm now downloading a pre-built Julia, but it seems to insist on building everything (including LLVM) from source.
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.
@ararslan What's the difference between
make full-source-dist
andmake full-source-dist USE_BINARYBUILDER=0
? Shouldn't they both produce the same output? Presumably we shouldn't have to build LLVM from source just to be able to build the docs and download the source tarballs of all dependencies, right?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.
USE_BINARYBUILDER=0
ensures that the source code of the dependencies is included in the resulting tarball alongside Julia's source code. It's meant to be platform-agnostic and buildable without network access, which IIUC isn't possible with the default JLL-based dependencies.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.
Sure, but shouldn't
make full-source-dist
do that regardless of the value ofUSE_BINARYBUILDER
?I guess what I'm getting at is, do we need to actually do a full from-source build of LLVM etc just to build this tarball? AFAICT, the tarball needs the following contents:
It seems to me that we can use a regular Julia build to build the HTML docs, and then download the source code of all the dependencies, and then stick everything together.
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.
We definitely could do that, the Makefile just isn't set up that way