File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ name : Build Fixture Compiler Image
2+
3+ on :
4+ workflow_dispatch :
5+
6+ permissions :
7+ contents : read
8+ packages : write
9+
10+ jobs :
11+ build-and-push :
12+ runs-on : ubuntu-22.04
13+ steps :
14+ - uses : actions/checkout@v4
15+
16+ - name : Set up QEMU
17+ uses : docker/setup-qemu-action@v3
18+
19+ - name : Set up Docker Buildx
20+ uses : docker/setup-buildx-action@v3
21+
22+ - name : Login to GHCR
23+ uses : docker/login-action@v3
24+ with :
25+ registry : ghcr.io
26+ username : ${{ github.actor }}
27+ password : ${{ secrets.GITHUB_TOKEN }}
28+
29+ - name : Docker metadata
30+ id : meta
31+ uses : docker/metadata-action@v5
32+ with :
33+ images : ghcr.io/swananan/ghostscope-fixture-compiler
34+ tags : |
35+ type=raw,value=ubuntu24.04-clang18-rust1.88
36+ type=sha
37+
38+ - name : Build and push
39+ uses : docker/build-push-action@v6
40+ with :
41+ context : .
42+ file : docker/fixture-compiler/Dockerfile
43+ push : true
44+ tags : ${{ steps.meta.outputs.tags }}
45+ labels : ${{ steps.meta.outputs.labels }}
46+ platforms : linux/amd64
47+ cache-from : type=gha,scope=fixture-compiler
48+ cache-to : type=gha,mode=max,scope=fixture-compiler
Original file line number Diff line number Diff line change 1+ FROM ubuntu:24.04
2+
3+ ENV DEBIAN_FRONTEND=noninteractive
4+ ENV TZ=UTC
5+ ENV LANG=C.UTF-8
6+ ENV LC_ALL=C.UTF-8
7+
8+ ARG LLVM_MAJOR=18
9+ ARG RUST_TOOLCHAIN=1.88.0
10+
11+ RUN apt-get update && apt-get install -y --no-install-recommends \
12+ bash \
13+ binutils \
14+ ca-certificates \
15+ curl \
16+ g++ \
17+ gcc \
18+ gnupg \
19+ make \
20+ tar \
21+ xz-utils \
22+ && rm -rf /var/lib/apt/lists/*
23+
24+ RUN set -eux; \
25+ curl -fsSL https://apt.llvm.org/llvm-snapshot.gpg.key -o /etc/apt/trusted.gpg.d/apt.llvm.org.asc; \
26+ echo "deb http://apt.llvm.org/noble/ llvm-toolchain-noble-${LLVM_MAJOR} main" > /etc/apt/sources.list.d/llvm.list; \
27+ apt-get update; \
28+ apt-get install -y --no-install-recommends \
29+ clang-${LLVM_MAJOR}; \
30+ rm -rf /var/lib/apt/lists/*
31+
32+ RUN ln -sf /usr/bin/clang-${LLVM_MAJOR} /usr/local/bin/clang && \
33+ ln -sf /usr/bin/clang++-${LLVM_MAJOR} /usr/local/bin/clang++
34+
35+ RUN set -eux; \
36+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain none; \
37+ export PATH="/root/.cargo/bin:$PATH" ; \
38+ rustup set profile minimal; \
39+ rustup toolchain install "${RUST_TOOLCHAIN}" ; \
40+ rustup default "${RUST_TOOLCHAIN}" ; \
41+ cargo --version; \
42+ rustc --version
43+
44+ ENV PATH=/root/.cargo/bin:$PATH
45+
46+ WORKDIR /workspace
47+
48+ CMD ["/bin/bash" ]
You can’t perform that action at this time.
0 commit comments