rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 heartwood85d44ea1f6e42839295d9439a31bb04a7ce90e21
{
"request": "trigger",
"version": 1,
"event_type": "patch",
"repository": {
"id": "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5",
"name": "heartwood",
"description": "Radicle Heartwood Protocol & Stack",
"private": false,
"default_branch": "master",
"delegates": [
"did:key:z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT",
"did:key:z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW",
"did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"did:key:z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz",
"did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz"
]
},
"action": "Created",
"patch": {
"id": "cdaefea546904dbd58336147b99d25047c396619",
"author": {
"id": "did:key:z6MkrnXJWPndzPBxpBUaE3L3BnMeWpaQdT1V1FvkoCPFSFS3",
"alias": "yorgos-laptop"
},
"title": "build: Switch to build args over env vars in dockerfile",
"state": {
"status": "merged",
"conflicts": []
},
"before": "a6e33ec19a662e23e998347ec2dd2d3c90bdb7ee",
"after": "85d44ea1f6e42839295d9439a31bb04a7ce90e21",
"commits": [
"85d44ea1f6e42839295d9439a31bb04a7ce90e21"
],
"target": "6cfed884bf37cba1e0d8e97fa8b0e94df4a04b1f",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "cdaefea546904dbd58336147b99d25047c396619",
"author": {
"id": "did:key:z6MkrnXJWPndzPBxpBUaE3L3BnMeWpaQdT1V1FvkoCPFSFS3",
"alias": "yorgos-laptop"
},
"description": "`--env` is a podman-specific feature. While it is clear that podman is a requirement here, switching these to build arguments better expresses intent.\n\nThese values are meant to be configurable at build time, which is exactly what build arguments are for, while environment variables are meant to persist in the image built.\n\nAdditionally, this removes a couple of unused env vars.",
"base": "0834e0fc7d3c2bca164c33a8e11818dc19a892a6",
"oid": "e29c9722c4675b833d2b2c88ea038e928b72c7d4",
"timestamp": 1717139749
},
{
"id": "a6e47189bdb94094a9e6cad705f0359b511f1d2e",
"author": {
"id": "did:key:z6MkrnXJWPndzPBxpBUaE3L3BnMeWpaQdT1V1FvkoCPFSFS3",
"alias": "yorgos-laptop"
},
"description": "rebased on master",
"base": "dff6df10fb3837093014da692dcd3263cd0f3d31",
"oid": "18bea45d2624251d93b8f52bcd020d0db6cfbc95",
"timestamp": 1717571313
},
{
"id": "9bf82bc53ca511cdbe3ac0fa5b5620e807a90cf5",
"author": {
"id": "did:key:z6MkrnXJWPndzPBxpBUaE3L3BnMeWpaQdT1V1FvkoCPFSFS3",
"alias": "yorgos-laptop"
},
"description": "Rebased on master",
"base": "a6e33ec19a662e23e998347ec2dd2d3c90bdb7ee",
"oid": "e958e46afcb3d7dcdf8f450ef587da4364184164",
"timestamp": 1717740056
},
{
"id": "f242d6ab84473ddbd3bc2fb67775c23101d518d2",
"author": {
"id": "did:key:z6MkrnXJWPndzPBxpBUaE3L3BnMeWpaQdT1V1FvkoCPFSFS3",
"alias": "yorgos-laptop"
},
"description": "Brought back SOURCE_DATE_EPOCH which was mistakenly removed.",
"base": "a6e33ec19a662e23e998347ec2dd2d3c90bdb7ee",
"oid": "e6334577132acec96ee3e50f4de3503ce0c2b95b",
"timestamp": 1718171794
},
{
"id": "ceabf7f53452205eee1347e23d495947a5d789b2",
"author": {
"id": "did:key:z6MkrnXJWPndzPBxpBUaE3L3BnMeWpaQdT1V1FvkoCPFSFS3",
"alias": "yorgos-laptop"
},
"description": "Simplifications.",
"base": "a6e33ec19a662e23e998347ec2dd2d3c90bdb7ee",
"oid": "811f654076b3e46be4dac53ff4e0d12922ed7bb0",
"timestamp": 1718188980
},
{
"id": "89f7599b49b1672a878707d252a1783777214488",
"author": {
"id": "did:key:z6MkrnXJWPndzPBxpBUaE3L3BnMeWpaQdT1V1FvkoCPFSFS3",
"alias": "yorgos-laptop"
},
"description": "Added back the necessary ARGs in the second build stage.\n\naccording to docs they need to be defined in every build stage: https://docs.docker.com/reference/dockerfile/#arg",
"base": "a6e33ec19a662e23e998347ec2dd2d3c90bdb7ee",
"oid": "85d44ea1f6e42839295d9439a31bb04a7ce90e21",
"timestamp": 1718192283
},
{
"id": "23c4566fda8586eb1e974d2de6fc01d4770e207e",
"author": {
"id": "did:key:z6MkrnXJWPndzPBxpBUaE3L3BnMeWpaQdT1V1FvkoCPFSFS3",
"alias": "yorgos-laptop"
},
"description": "Rebase, fix commit message.",
"base": "ce99f7e7e45ac22104434c6094ac2fe410a8970d",
"oid": "6966c971944a5bcfeef21ee8664e8a84a16b09b9",
"timestamp": 1718199360
}
]
}
}
{
"response": "triggered",
"run_id": {
"id": "9be5da99-3f39-47f4-bd53-712407aad119"
},
"info_url": "https://cci.rad.levitte.org//9be5da99-3f39-47f4-bd53-712407aad119.html"
}
Started at: 2025-10-21 20:01:41.267600+02:00
Commands:
$ rad clone rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 .
✓ Creating checkout in ./...
✓ Remote cloudhead@z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT added
✓ Remote-tracking branch cloudhead@z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT/master created for z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT
✓ Remote cloudhead@z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW added
✓ Remote-tracking branch cloudhead@z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW/master created for z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW
✓ Remote fintohaps@z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM added
✓ Remote-tracking branch fintohaps@z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM/master created for z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM
✓ Remote erikli@z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz added
✓ Remote-tracking branch erikli@z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz/master created for z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz
✓ Remote lorenz@z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz added
✓ Remote-tracking branch lorenz@z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz/master created for z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz
✓ Repository successfully cloned under /opt/radcis/ci.rad.levitte.org/cci/state/9be5da99-3f39-47f4-bd53-712407aad119/w/
╭────────────────────────────────────╮
│ heartwood │
│ Radicle Heartwood Protocol & Stack │
│ 125 issues · 15 patches │
╰────────────────────────────────────╯
Run `cd ./.` to go to the repository directory.
Exit code: 0
$ rad patch checkout cdaefea546904dbd58336147b99d25047c396619
✓ Switched to branch patch/cdaefea at revision 89f7599
✓ Branch patch/cdaefea setup to track rad/patches/cdaefea546904dbd58336147b99d25047c396619
Exit code: 0
$ git config advice.detachedHead false
Exit code: 0
$ git checkout 85d44ea1f6e42839295d9439a31bb04a7ce90e21
HEAD is now at 85d44ea1 build: switch to build args over env vars in dockerfile
Exit code: 0
$ git show 85d44ea1f6e42839295d9439a31bb04a7ce90e21
commit 85d44ea1f6e42839295d9439a31bb04a7ce90e21
Author: Yorgos Saslis <yorgos.work@proton.me>
Date: Fri May 31 10:12:04 2024 +0300
build: switch to build args over env vars in dockerfile
`--env` is a podman-specific feature. While it is clear that podman is a requirement here, switching these to build arguments better expresses intent.
These values are meant to be configurable at build time, which is exactly what build arguments are for, while environment variables are meant to persist in the image built.
Additionally, this removes unused env vars.
Signed-off-by: Yorgos Saslis <yorgos.work@proton.me>
diff --git a/build/Dockerfile b/build/Dockerfile
index 551377d5..c2dd3540 100644
--- a/build/Dockerfile
+++ b/build/Dockerfile
@@ -4,6 +4,11 @@ LABEL maintainer="Radicle Team <team@radicle.xyz>"
WORKDIR /src
COPY . .
+ARG TZ
+ARG LC_ALL
+ARG SOURCE_DATE_EPOCH
+ARG RADICLE_VERSION
+
# Copy cargo configuration we're going to use to specify compiler options.
RUN mkdir -p .cargo && cp build/config.toml .cargo/config.toml
# Install dependencies.
@@ -51,6 +56,8 @@ RUN cargo zigbuild --locked --release \
# Now copy the files to a new image without all the intermediary artifacts to
# save some space.
FROM alpine:3.19 as packager
+ARG RADICLE_VERSION
+ARG SOURCE_DATE_EPOCH
COPY --from=builder \
/src/target/x86_64-unknown-linux-musl/release/rad \
/src/target/x86_64-unknown-linux-musl/release/git-remote-rad \
@@ -84,7 +91,7 @@ RUN find * -maxdepth 0 -type d -exec mv '{}' "radicle-$RADICLE_VERSION-{}" \; &&
find * -maxdepth 0 -type d -exec tar \
--sort=name \
--verbose \
- --mtime="@$GIT_COMMIT_TIME" \
+ --mtime="@$SOURCE_DATE_EPOCH" \
--owner=0 \
--group=0 \
--numeric-owner \
diff --git a/build/build b/build/build
index 5da9d250..bffa352b 100755
--- a/build/build
+++ b/build/build
@@ -40,12 +40,10 @@ main() {
echo "Building image ($image).."
podman --cgroup-manager=cgroupfs build \
- --env SOURCE_DATE_EPOCH \
- --env TZ \
- --env LC_ALL \
- --env GIT_COMMIT_TIME=$SOURCE_DATE_EPOCH \
- --env GIT_HEAD=$rev \
- --env RADICLE_VERSION=$version \
+ --build-arg SOURCE_DATE_EPOCH \
+ --build-arg TZ \
+ --build-arg LC_ALL \
+ --build-arg RADICLE_VERSION=$version \
--arch amd64 --tag $image -f ./build/Dockerfile - < $gitarchive
echo "Creating container (radicle-build-container).."
Exit code: 0
shell: 'cargo --version rustc --version cargo fmt --check cargo clippy --all-targets --workspace -- --deny clippy::all cargo build --all-targets --workspace cargo doc --workspace cargo test --workspace --no-fail-fast '
Commands:
$ podman run --name 9be5da99-3f39-47f4-bd53-712407aad119 -v /opt/radcis/ci.rad.levitte.org/cci/state/9be5da99-3f39-47f4-bd53-712407aad119/s:/9be5da99-3f39-47f4-bd53-712407aad119/s:ro -v /opt/radcis/ci.rad.levitte.org/cci/state/9be5da99-3f39-47f4-bd53-712407aad119/w:/9be5da99-3f39-47f4-bd53-712407aad119/w -w /9be5da99-3f39-47f4-bd53-712407aad119/w -v /opt/radcis/ci.rad.levitte.org/.radicle:/${id}/.radicle:ro -e RAD_HOME=/${id}/.radicle rust:bookworm bash /9be5da99-3f39-47f4-bd53-712407aad119/s/script.sh
+ cargo --version
info: syncing channel updates for '1.77-x86_64-unknown-linux-gnu'
info: latest update on 2024-04-09, rust version 1.77.2 (25ef9e3d8 2024-04-09)
info: downloading component 'cargo'
info: downloading component 'rust-std'
info: downloading component 'rustc'
info: installing component 'cargo'
info: installing component 'rust-std'
info: installing component 'rustc'
cargo 1.77.2 (e52e36006 2024-03-26)
+ rustc --version
rustc 1.77.2 (25ef9e3d8 2024-04-09)
+ cargo fmt --check
error: 'cargo-fmt' is not installed for the toolchain '1.77-x86_64-unknown-linux-gnu'.
To install, run `rustup component add --toolchain 1.77-x86_64-unknown-linux-gnu rustfmt`
Exit code: 1
{
"response": "finished",
"result": "failure"
}