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:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz"
]
},
"action": "Created",
"patch": {
"id": "cdaefea546904dbd58336147b99d25047c396619",
"author": {
"id": "did:key:z6MkrnXJWPndzPBxpBUaE3L3BnMeWpaQdT1V1FvkoCPFSFS3",
"alias": null
},
"title": "build: Switch to build args over env vars in dockerfile",
"state": {
"status": "merged",
"conflicts": []
},
"before": "a6e33ec19a662e23e998347ec2dd2d3c90bdb7ee",
"after": "85d44ea1f6e42839295d9439a31bb04a7ce90e21",
"commits": [
"85d44ea1f6e42839295d9439a31bb04a7ce90e21"
],
"target": "7e1cb406bb935c3de008d2171e8961f57b4336ea",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "cdaefea546904dbd58336147b99d25047c396619",
"author": {
"id": "did:key:z6MkrnXJWPndzPBxpBUaE3L3BnMeWpaQdT1V1FvkoCPFSFS3",
"alias": null
},
"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": null
},
"description": "rebased on master",
"base": "dff6df10fb3837093014da692dcd3263cd0f3d31",
"oid": "18bea45d2624251d93b8f52bcd020d0db6cfbc95",
"timestamp": 1717571313
},
{
"id": "9bf82bc53ca511cdbe3ac0fa5b5620e807a90cf5",
"author": {
"id": "did:key:z6MkrnXJWPndzPBxpBUaE3L3BnMeWpaQdT1V1FvkoCPFSFS3",
"alias": null
},
"description": "Rebased on master",
"base": "a6e33ec19a662e23e998347ec2dd2d3c90bdb7ee",
"oid": "e958e46afcb3d7dcdf8f450ef587da4364184164",
"timestamp": 1717740056
},
{
"id": "f242d6ab84473ddbd3bc2fb67775c23101d518d2",
"author": {
"id": "did:key:z6MkrnXJWPndzPBxpBUaE3L3BnMeWpaQdT1V1FvkoCPFSFS3",
"alias": null
},
"description": "Brought back SOURCE_DATE_EPOCH which was mistakenly removed.",
"base": "a6e33ec19a662e23e998347ec2dd2d3c90bdb7ee",
"oid": "e6334577132acec96ee3e50f4de3503ce0c2b95b",
"timestamp": 1718171794
},
{
"id": "ceabf7f53452205eee1347e23d495947a5d789b2",
"author": {
"id": "did:key:z6MkrnXJWPndzPBxpBUaE3L3BnMeWpaQdT1V1FvkoCPFSFS3",
"alias": null
},
"description": "Simplifications.",
"base": "a6e33ec19a662e23e998347ec2dd2d3c90bdb7ee",
"oid": "811f654076b3e46be4dac53ff4e0d12922ed7bb0",
"timestamp": 1718188980
},
{
"id": "89f7599b49b1672a878707d252a1783777214488",
"author": {
"id": "did:key:z6MkrnXJWPndzPBxpBUaE3L3BnMeWpaQdT1V1FvkoCPFSFS3",
"alias": null
},
"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": null
},
"description": "Rebase, fix commit message.",
"base": "ce99f7e7e45ac22104434c6094ac2fe410a8970d",
"oid": "6966c971944a5bcfeef21ee8664e8a84a16b09b9",
"timestamp": 1718199360
}
]
}
}
{
"response": "triggered",
"run_id": {
"id": "961a7a6a-bb96-4f93-8e44-e48dfa7f2d2e"
},
"info_url": "https://cci.rad.levitte.org//961a7a6a-bb96-4f93-8e44-e48dfa7f2d2e.html"
}
Started at: 2026-09-09 00:45:38.240136+02:00
Commands:
$ rad clone rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 .
✓ Creating checkout in ./...
✓ Remote cloudhead@z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT added
✓ Remote-tracking branch cloudhead@z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT/master created for z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT
✓ Remote fintohaps@z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM added
✓ Remote-tracking branch fintohaps@z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM/master created for z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM
✓ 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/961a7a6a-bb96-4f93-8e44-e48dfa7f2d2e/w/
╭────────────────────────────────────╮
│ heartwood │
│ Radicle Heartwood Protocol & Stack │
│ 189 issues · 39 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
$ rad patch show cdaefea546904dbd58336147b99d25047c396619 -p
╭────────────────────────────────────────────────────────────────────────────────────╮
│ Title build: Switch to build args over env vars in dockerfile │
│ Patch cdaefea546904dbd58336147b99d25047c396619 │
│ Author yorgos-laptop z6MkrnX…CPFSFS3 │
│ Head 85d44ea1f6e42839295d9439a31bb04a7ce90e21 │
│ Base a6e33ec19a662e23e998347ec2dd2d3c90bdb7ee │
│ Target master │
│ Branches patch/cdaefea │
│ Commits ahead 1, behind 1311 │
│ Status merged │
│ │
│ `--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 a couple of unused env vars. │
├────────────────────────────────────────────────────────────────────────────────────┤
│ 85d44ea build: switch to build args over env vars in dockerfile │
├────────────────────────────────────────────────────────────────────────────────────┤
│ ● Revision cdaefea @ 0834e0f..e29c972 by yorgos-laptop z6MkrnX…CPFSFS3 2 years ago │
│ ↑ Revision a6e4718 @ dff6df1..18bea45 by yorgos-laptop z6MkrnX…CPFSFS3 2 years ago │
│ ↑ Revision 9bf82bc @ a6e33ec..e958e46 by yorgos-laptop z6MkrnX…CPFSFS3 2 years ago │
│ ↑ Revision f242d6a @ a6e33ec..e633457 by yorgos-laptop z6MkrnX…CPFSFS3 2 years ago │
│ ↑ Revision ceabf7f @ a6e33ec..811f654 by cloudhead z6MksFq…bS9wzpT 2 years ago │
│ ↑ Revision 89f7599 @ a6e33ec..85d44ea by yorgos-laptop z6MkrnX…CPFSFS3 2 years ago │
│ ↑ Revision 23c4566 @ ce99f7e..6966c97 by cloudhead z6MksFq…bS9wzpT 2 years ago │
│ └─ ✓ merged by cloudhead z6MksFq…bS9wzpT │
╰────────────────────────────────────────────────────────────────────────────────────╯
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 551377d5a9..c2dd3540eb 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 5da9d250c2..bffa352b14 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 961a7a6a-bb96-4f93-8e44-e48dfa7f2d2e -v /opt/radcis/ci.rad.levitte.org/cci/state/961a7a6a-bb96-4f93-8e44-e48dfa7f2d2e/s:/961a7a6a-bb96-4f93-8e44-e48dfa7f2d2e/s:ro -v /opt/radcis/ci.rad.levitte.org/cci/state/961a7a6a-bb96-4f93-8e44-e48dfa7f2d2e/w:/961a7a6a-bb96-4f93-8e44-e48dfa7f2d2e/w -w /961a7a6a-bb96-4f93-8e44-e48dfa7f2d2e/w -v /opt/radcis/ci.rad.levitte.org/.radicle:/${id}/.radicle:ro -e RAD_HOME=/${id}/.radicle rust:trixie bash /961a7a6a-bb96-4f93-8e44-e48dfa7f2d2e/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"
}