feat: push-next uses image v4.0.0
Some checks failed
/ test (map[name:stable]) (push) Failing after 34s
/ test (map[name:nightly]) (push) Failing after 40s

This commit is contained in:
Paul Campbell 2025-01-14 20:59:32 +00:00
parent e2f2015e06
commit 5f3178a61c
5 changed files with 45 additions and 11 deletions

View file

@ -7,7 +7,7 @@ jobs:
runs-on: docker
container:
image:
git.kemitix.net/kemitix/rust:v3.1.0
git.kemitix.net/kemitix/rust:latest
strategy:
matrix:
toolchain:

View file

@ -2,15 +2,7 @@ FROM docker.io/rust:1.84.0-alpine3.21
LABEL org.opencontainers.image.source=https://git.kemitix.net/kemitix/rust
# nodejs - runtime used by forgejo/github actions
# curl - to download cargo-binstall
# clang & mold - faster linkers for rust
# pkgconfig - required to compile some rust `-sys` packages
# openssl-dev - build dependency for git-next
# dbus-dev - linux os interop (e.g. desktop notifications)
# git - git
RUN apk add --no-cache nodejs curl clang pkgconfig mold libssl3 openssl-dev build-base dbus-dev git bash
RUN apk add --no-cache curl=8.11.1-r0
RUN curl -L https://github.com/cargo-bins/cargo-binstall/releases/download/v1.10.19/cargo-binstall-x86_64-unknown-linux-musl.tgz -o cargo-binstall.tgz && \
tar -xzf cargo-binstall.tgz && \
rm cargo-binstall.tgz && \
@ -24,11 +16,37 @@ RUN cargo binstall -y \
release-plz@0.3
# should be a no-op if the FROM line is up-to-date
RUN rustup update stable && rustup component add --toolchain stable rustfmt clippy
RUN rustup update stable
RUN rustup component add rustfmt clippy
# install nightly
RUN rustup install nightly && rustup component add --toolchain nightly rustfmt clippy
# nodejs - runtime used by forgejo/github actions
# curl - to download cargo-binstall
# clang & mold - faster linkers for rust
# pkgconfig - required to compile some rust `-sys` packages
# openssl-dev - build dependency for git-next
# dbus-dev - linux os interop (e.g. desktop notifications)
# perl - native-tls(vendored)
# git - git
RUN apk add --no-cache \
bash \
nodejs \
build-base \
pkgconfig \
libssl3 \
openssl-dev \
perl \
git
# clang \
# mold \
# dbus-dev \
RUN git config --global user.email "action@git.kemitix.net" && \
git config --global user.name "ForgeJo Action. See: https://git.kemitix.net/kemitix/rust"

View file

@ -42,6 +42,7 @@ The available toolchain in the image are:
- cargo-chef
- cargo-hack
- release-plz
- perl
### Scripts
@ -57,3 +58,13 @@ steps:
- name: Check for Ignored Files
run: check-for-ignored
```
## Caveats
### native-tls
This crate *must* use the `vendored` feature in order to compile in the Alpine Linux image.
```toml
native-tls = { version = "0.2", features = ["vendored"] }
```

View file

@ -6,5 +6,8 @@ build:
test: build
docker run --rm -v $PWD:/app/ {{ image }} cargo test
clippy: build
docker run --rm -v $PWD:/app/ {{ image }} cargo clippy
shell: build
docker run --rm -it -v $PWD:/app/ {{ image }} bash

2
mise.linux.toml Normal file
View file

@ -0,0 +1,2 @@
[tools]
"cargo:drft" = "latest"