Commit graph

82 commits

Author SHA1 Message Date
Samuel Meenzen
1c6a4b1b24 feat(ci): push oci-image to docker hub 2024-02-18 01:36:50 +00:00
Samuel Meenzen
d6c57f9b2e Publish oci image to the gitlab registry 2024-01-30 17:04:47 +00:00
Charles Hall
pass pkgsCrossStatic to mkOciImage, not pkgsHost
This fixes a bug where the aarch64 OCI image had metadata saying it was
an x86_64 OCI image. On top of that, I think the metadata was actually
right (aside from Conduit's binary): since all other packages were being
pulled from `pkgsHost`, an OCI image cross compiled for aarch64 from a
different architecture would result in unexecutable binaries (e.g. tini)
since they were compiled for the completely wrong architecture.
2024-01-29 15:39:09 -08:00
Charles Hall
update rust toolchain
It comes with a bunch of new lints (yay!) so I fixed them all so CI will
keep working.

Also apparently something about linking changed because I had to change
the checks for deciding the linker flags for static x86_64 builds to
keep working.
2024-01-25 21:44:40 -08:00
Charles Hall
add package to build an aarch64 oci image
And build it as an artifact in CI.
2024-01-25 20:03:29 -08:00
Charles Hall
add static cross to aarch64-unknown-linux-musl 2024-01-25 19:44:06 -08:00
Charles Hall
add static cross to x86_64-unknown-linux-musl 2024-01-25 19:43:23 -08:00
Charles Hall
use fromToolchainFile
I *think* this will make it easier to pull in extra rustc targets.
2024-01-25 11:39:16 -08:00
Charles Hall
push oci image and x86_64-*-gnu build to bin cache
This will allow most Nix users to use the `default` package and without
having to build from source. And also allows any weirdos to get the OCI
image from the Nix binary cache if they want. No idea why that would be
desireable though lol
2024-01-25 11:37:35 -08:00
Charles Hall
add our own binary cache
The machine I'm hosting this on doesn't have incredible upload speeds
but it should be good enough?
2024-01-25 10:51:21 -08:00
Charles Hall
add crane binary cache
This way we don't need to build e.g. crane-utils every time.
2024-01-24 23:25:48 -08:00
Charles Hall
state artifacts' targets and rename artifacts
This will make it more obvious what's what and be more internally
2024-01-24 23:25:42 -08:00
Charles Hall
add debian package building in ci
This uses a separate step and docker image, which I'm not a huge fan of.
At least I could get this to work for now, but I won't be shocked when
it breaks later. I know, I know, fixing this kind of problem is the
exact reason I bothered to do this, but I was really struggling to do
better here. Maybe I can take a second pass at this later.

Also, this explicitly names the caches, because without this, various
things related to linking will break.
2024-01-24 07:22:37 -08:00
Charles Hall
redo docker image and build it in ci 2024-01-24 07:22:37 -08:00
Charles Hall
use nix and engage to manage ci 2024-01-24 07:22:37 -08:00
Charles Hall
remove workflow rules
I don't think these are actually necessary? At least in my own testing,
I haven't seen duplicate pipelines for a single commit when converting
from just a branch to a merge request.
2024-01-24 07:22:37 -08:00
Charles Hall
remove dockerlint step because it does nothing
It's configured to let the pipeline pass even if there are warnings or
errors, i.e. it's pointless.
2024-01-24 07:22:37 -08:00
Charles Hall
remove commented out ci step
If you want it back, just look at the git history.
2024-01-24 07:22:37 -08:00
Jonas Zohren
c4824a6ebc ci: Fix "0 B" image size display
works around gitlab issue
2023-07-04 21:13:11 +00:00
Jonas Zohren
26b8605fa0 ci: Adjust to current docker 2023-06-26 22:26:33 +02:00
Jonas Zohren
a3a9b60abc chore(ci): Adjust to rust version bumps 2023-06-10 15:35:22 +00:00
Jonas Zohren
a4261aac76 * Fix Debian builds by actually including the whole debian directory into deb creation
* Fix CI by explicitly setting hostname of docker in docker service
* Fix Docker build by bumping the Rust version to 1.69
* Fix cargo check in CI by bumping the Rust version to 1.69
2023-05-21 20:41:08 +00:00
The one with the braid
f01b96588d fix: adjust CI config to runner requirements
- make use of more stable BTRFS driver
- set default pull policy to `if-not-present`

Signed-off-by: The one with the braid <>
2023-01-19 07:42:23 +01:00
Jonas Zohren
b37876f3b2 fix(ci): Only build in (remote host) docker and switch to glibc 2022-11-02 12:12:48 +01:00
Jonas Zohren
feat(ci): Split clippy into own fallible job
For some reason, the clippy build does not work.
This change allows the cargo:test job to still succeed
and the pipeline to pass
2022-10-10 14:13:18 +02:00
Jonas Zohren
chore(docker): Bump alpine (base image) version 2022-03-18 18:44:05 +01:00
Jonas Zohren
5a9462c9ab fix(ci): Fix musl builds
This pins the image to use for cross to a working image's sha256
2022-03-08 21:52:57 +00:00
Jonas Zohren
feat(ci): Add dependency audit to CI tests 2022-02-19 12:19:06 +01:00
Jonas Zohren
chore(ci): Split up tests 2022-02-18 22:29:55 +01:00
Jonas Zohren
feat(ci): Lint dockerfiles with hadolint 2022-02-15 20:01:38 +01:00
Jonas Zohren
fix(ci): Also run CI for git tags 2022-02-15 11:17:46 +01:00
Jonas Zohren
fix(ci): Also create versioned docker image 2022-02-15 11:17:32 +01:00
Jonas Zohren
fix(ci): Always build debug version for sytest 2022-02-04 18:43:13 +01:00
Jonas Zohren
fa4099b138 Use prebuilt CI-containers from
Also run all builds on approved MRs
2022-02-01 23:51:38 +00:00
Maxim De Clercq
fix: correct RUSTC_WRAPPER path in cross container 2022-01-26 00:02:03 +01:00
Maxim De Clercq
fix: remove trailing slash from shared path 2022-01-23 22:51:02 +01:00
Maxim De Clercq
fix: use readelf for checking static compilation 2022-01-23 22:51:02 +01:00
Maxim De Clercq
fix: always print ELF information 2022-01-23 18:38:33 +01:00
Maxim De Clercq
fix: pass RUSTC_WRAPPER to the cross container and enforce static builds 2022-01-23 17:31:12 +01:00
Maxim De Clercq
feat: support targetting i686 2022-01-23 15:58:19 +01:00
Maxim De Clercq
feat: use rustembedded/cross images and use static relocation model to fix cross-compile 2022-01-23 14:41:39 +01:00
Maxim De Clercq
fix: make sure libatomic is always linked because it's skipped on arm targets 2022-01-22 01:14:36 +01:00
Maxim De Clercq
fix: make sure libstdc++ is linked statically when cross-compiling 2022-01-22 00:14:19 +01:00
Maxim De Clercq
fix: linking against libatomic is no longer required since the library path is fixed 2022-01-21 17:26:25 +01:00
Maxim De Clercq
fix: make sure cc-rs and bindgen use the correct paths when cross-compiling 2022-01-21 17:06:15 +01:00
Jonas Platte
Use MSRV for build CI jobs
The test job will use the latest stable so all stable lints are included.
2022-01-20 13:23:58 +01:00
Jonas Zohren
10f1da12bf CI: Fix cargo-test 2022-01-16 20:57:23 +00:00
Jonas Zohren
f67785caaf Fix(ci): Disable CARGO_HOME caching 2022-01-13 22:24:47 +00:00
Jonas Zohren
CI: Use curl instead of wget
The rust docker image already comes with curl, no need to install wget.
2021-12-14 11:16:40 +01:00
Jonas Zohren
CI: Optionally use sccache for compilation
This moves compiler caching for incremental builds away from GitLab
caching the whole target/ folder to caching each code unit in S3.
This aleviates the need to zip and unzip and just caches on the fly.

This feature is optional and gated behind the SCCACHE_BIN_URL env
2021-12-14 11:16:02 +01:00