Some checks failed
Comprehensive CI/CD Pipeline / Build and Test (push) Successful in 2m21s
Comprehensive CI/CD Pipeline / Security Audit (push) Failing after 7s
Comprehensive CI/CD Pipeline / Package Validation (push) Successful in 48s
Comprehensive CI/CD Pipeline / Status Report (push) Has been skipped
- Add repository setup to CI workflow before installing dependencies - Add repository setup to Dockerfile for composefs package - Use correct repository key URL and sources.list format - This allows CI to install composefs from private particle-os registry
57 lines
1.4 KiB
Docker
57 lines
1.4 KiB
Docker
FROM debian:unstable-slim
|
|
|
|
# Set build arguments
|
|
ARG release_name=unstable
|
|
|
|
# Set environment variables
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
ENV RUST_BACKTRACE=1
|
|
ENV CARGO_TERM_COLOR=always
|
|
|
|
# Install Rust toolchain
|
|
RUN apt update && \
|
|
apt install -y curl ca-certificates && \
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && \
|
|
. $HOME/.cargo/env && \
|
|
rustup default stable && \
|
|
rustup target add x86_64-unknown-linux-gnu
|
|
|
|
# Add particle-os repository for composefs
|
|
RUN curl -fsSL https://git.raines.xyz/api/packages/particle-os/debian/repository.key -o /etc/apt/keyrings/forgejo-particle-os.asc && \
|
|
echo "deb [signed-by=/etc/apt/keyrings/forgejo-particle-os.asc] https://git.raines.xyz/api/packages/particle-os/debian trixie main" >> /etc/apt/sources.list.d/forgejo.list
|
|
|
|
# Install build dependencies
|
|
RUN apt update && \
|
|
apt install -y \
|
|
build-essential \
|
|
pkg-config \
|
|
libssl-dev \
|
|
libostree-dev \
|
|
libostree-1-1 \
|
|
ostree \
|
|
podman \
|
|
qemu-utils \
|
|
parted \
|
|
grub-efi-amd64 \
|
|
systemd-boot \
|
|
dracut \
|
|
composefs \
|
|
zstd \
|
|
cpio \
|
|
tar \
|
|
curl \
|
|
git \
|
|
ca-certificates \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Set working directory
|
|
WORKDIR /workspace
|
|
|
|
# Copy source code
|
|
COPY . .
|
|
|
|
# Set PATH to include Rust
|
|
ENV PATH="/root/.cargo/bin:${PATH}"
|
|
|
|
# Default command
|
|
CMD ["bash"]
|