gemlab 2.1.0

Geometry and meshes laboratory for finite element analyses
Documentation
FROM archlinux:base-devel

# Update keyring first to avoid GPG errors on a fresh Arch image,
# then upgrade the system and install Rust and core dependencies.
RUN pacman -Sy --noconfirm archlinux-keyring && \
    pacman -Syu --noconfirm rust blas-openblas rust suitesparse

# Create a non-root user for building and testing
RUN useradd -m user

# Copy project files; --chown ensures the destination directory and all
# files are owned by user, so cargo can write target/ during the build
COPY --chown=user:user . /usr/local/src/gemlab/
WORKDIR /usr/local/src/gemlab

# Set the user
USER user

# Test the code
ENV RUST_BACKTRACE=1
RUN cargo test -- --nocapture