-
Notifications
You must be signed in to change notification settings - Fork 378
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
Refactor into a base image. #953
base: main
Are you sure you want to change the base?
Conversation
This still needs to fix deployment and CI: we need to make sure the base image is always built first, and that it is staged for our other image build. It also needs to then be deployed as |
d61b78f
to
226b807
Compare
This will probably fail, but I'm wondering to see how the CI orders things so we can use the proper base image. |
226b807
to
b74a1bd
Compare
tryBuild failed: |
As expected, this is failing because
We either need to do this incrementally (IE, deploy once then have our builds rely on that, in which case our builds would be out-of-sync with the base images, which would be bad), or need to build and stage the image from the The first option would be bad because if we upgrade our base to say, Ubuntu 22.04, then our first build would use 20.04, not 22.04 since it would use I'm guessing one solution is to save to a tarball and then load from there? I'll look into doing this. |
I feel like there should be a GH action already made for saving an image to artifacts and then loading it |
Will still fail, just testing saving to tarball. |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
1 similar comment
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
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 I personally prefer having these as
ghcr.io/cross-rs/base:ubuntu-vxxx
less "waste" so to say
.github/workflows/ci.yml
Outdated
|
||
- name: Save Docker Image | ||
id: save-docker-image | ||
run: docker save "${IMAGE}:${TAG}" -o "${IMAGE}-${TAG}-${SUB}.tar" |
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.
Our docker load
step always needs to load these as main
, since that's what we use for our Dockerfiles expect for the base images:
FROM ghcr.io/cross-rs/base:emscripten-main
We technically don't have to deploy these images, but it might be nice for people trying to build new images based off this logic locally, especially cross maintainers.
Our docker load
step should also only load the necessary base for our image: centos
, ubuntu
, emscripten
, etc.
fa787bc
to
73a34c4
Compare
This comment was marked as outdated.
This comment was marked as outdated.
…inux-gnu.centos --target wasm32-unknown-emscripten
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
…inux-gnu.centos --target wasm32-unknown-emscripten
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
It seems that the path is the directory for downloading artifacts, not the file name... This should be fixable. $ ls -la base.tar
drwxr-xr-x 2 runner docker 4096 Oct 4 19:30 .
drwxr-xr-x 15 runner docker 4096 Oct 4 19:30 ..
-rw-r--r-- 1 runner docker 1001731072 Oct 4 19:30 base-main-ubuntu.tar |
bors try --target x86_64-unknown-linux-gnu |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
bors try- |
tryBuild failed: |
EDIT: It's the
https://github.com/cross-rs/cross/actions/runs/3185987473/jobs/5196287429#step:12:14 Load Base Image
Build Docker Image
I guess I can convert load and build to a single step then. |
437713d
to
f8e0622
Compare
No it 100% should work, otherwise we wouldnt be able to do our tests This is probably the issue I had with buildx, you need to specify the output Line 157 in 4facf8f
|
I actually found it, it's the |
bors try --target x86_64-unknown-linux-gnu |
tryBuild failed: |
thought it could be this #817 (comment) but maybe not. |
We might want to use https://github.com/containers/skopeo#copying-images from docker/buildx#430, relevant docker/buildx#159 (comment) |
No description provided.