Skip to content

Conversation

@dessalines
Copy link
Member

@Nutomic
Copy link
Member

Nutomic commented Jan 7, 2026

You also need to enable ARM release builds in .woodpecker.yaml before creating the tag.

The error failure from crates.io can be ignored, its only because we still have a git dependency.

cargo clean --release; \
cargo build --features "${CARGO_BUILD_FEATURES}" --release; \
mv "./target/$CARGO_BUILD_TARGET/$RUST_RELEASE_MODE/lemmy_server" /home/lemmy/lemmy_server; \
fi
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Formatting should be unchanged.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

K i reverted.

@Nutomic
Copy link
Member

Nutomic commented Jan 8, 2026

So the ARM builder is now upgraded to the version from raskyld/lemmy-cross-toolchains#9, but the build is still failing with the same error as before (unrecognized command-line option '-m64').

https://woodpecker.join-lemmy.org/repos/129/pipeline/18515/5#L4167

cc @mattlqx @raskyld

@mattlqx
Copy link

mattlqx commented Jan 8, 2026

Hm, I got a good build from 9cf6da1 (0.19.5), but I also bumped the runner image. Maybe that was what did it.

diff --cc docker/Dockerfile
index 5125e3c3c,9e67f513e..000000000
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@@ -5,10 -5,11 +5,11 @@@ ARG RUST_RELEASE_MODE=debu
  
  ARG AMD_BUILDER_IMAGE=rust:${RUST_VERSION}
  # Repo: https://github.com/raskyld/lemmy-cross-toolchains
- ARG ARM_BUILDER_IMAGE="ghcr.io/raskyld/aarch64-lemmy-linux-gnu:v0.3.0"
+ #ARG ARM_BUILDER_IMAGE="ghcr.io/raskyld/aarch64-lemmy-linux-gnu:v0.6.0"
+ ARG ARM_BUILDER_IMAGE="mattlqx/aarch64-lemmy-linux-gnu:v0.7.0"
  
 -ARG AMD_RUNNER_IMAGE=debian:sid-slim
 -ARG ARM_RUNNER_IMAGE=debian:sid-slim
 +ARG AMD_RUNNER_IMAGE=debian:bookworm-slim
 +ARG ARM_RUNNER_IMAGE=debian:bookworm-slim
  
  ARG UNAME=lemmy
  ARG UID=1000

This was my docker build command which was mostly copy paste from a failed job:

docker buildx build --rm=true -f docker/Dockerfile . --pull=true --build-arg RUST_RELEASE_MODE=release --build-arg DOCKER_IMAGE_CREATED=2025-11-07T09:23:36Z --build-arg SOURCE_DATE_EPOCH=1762507363 --output type=image,push=true,rewrite-timestamp=true --platform linux/amd64,linux/arm64 -t mattlqx/lemmy:1.0.0-alpha.14 --label org.opencontainers.image.created=2025-11-07T09:23:34Z --label org.opencontainers.image.source=https://github.com/LemmyNet/lemmy.git --label org.opencontainers.image.url=https://github.com/LemmyNet/lemmy --label org.opencontainers.image.revision=f5d895f042a4ce4ac0e28f85cab967e9ef033216 --label org.opencontainers.image.version=1.0.0-alpha.14

@dessalines
Copy link
Member Author

dessalines commented Jan 8, 2026

rasky's v1.0.0 has your PR merged, but it still failed: raskyld/lemmy-cross-toolchains@v0.6.0...v1.0.0

Maybe its debian sid instead of debian bookworm. I can try that.

tbh doing arm64 support is very tiring, especially since we don't have arm devices. IMO it should probably be up to people with arm expertise, willing to debug all these issues (which seem to happen on every rust upgrade), to build and release their own images.

@dessalines
Copy link
Member Author

Changing debian did nothing, it still failed.

@raskyld
Copy link
Contributor

raskyld commented Jan 8, 2026

Hi there, I am not sure I understand why new versions of Rust started passing this flag, and why the TARGET is incorrect, at all.

tbh doing arm64 support is very tiring, especially since we don't have arm devices.

I think GH now has public ARM runners, see here: https://github.blog/changelog/2025-08-07-arm64-hosted-runners-for-public-repositories-are-now-generally-available/

You may not need cross-compilation at all.

@dessalines
Copy link
Member Author

We don't rely on github for CI, but rather use an open source CI system called woodpecker with our own runners.

If someone wanted to offer their arm machine as a CI runner tho, that'd be helpful.

@mattlqx
Copy link

mattlqx commented Jan 13, 2026

I have a small arm k8s cluster in OCI that I could host a pod on if that's all that's needed. mattlqx.32 on Signal if you're interested.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix ARM release builds

4 participants