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+ on :
2+ push :
3+ branches :
4+ - master
5+ paths :
6+ - ' docker/**'
7+ pull_request :
8+ paths :
9+ - ' docker/**'
10+
11+ env :
12+ IMAGE : ghcr.io/learning-process/ppc-ci:latest
13+
14+ jobs :
15+ build-and-push :
16+ name : Build & Push Docker Image
17+ runs-on : ubuntu-latest
18+
19+ steps :
20+ - name : Check out code
21+ uses : actions/checkout@v3
22+
23+ - name : Set up QEMU
24+ uses : docker/setup-qemu-action@v2
25+ with :
26+ platforms : linux/amd64,linux/arm64
27+
28+ - name : Set up Docker Buildx
29+ uses : docker/setup-buildx-action@v2
30+
31+ - name : Log in to GHCR
32+ uses : docker/login-action@v2
33+ with :
34+ registry : ghcr.io
35+ username : ${{ github.actor }}
36+ password : ${{ secrets.GITHUB_TOKEN }}
37+
38+ - name : Build and push multi-arch image
39+ uses : docker/build-push-action@v4
40+ with :
41+ context : .
42+ file : ./docker/ubuntu.Dockerfile
43+ platforms : linux/amd64,linux/arm64
44+ push : true
45+ tags : ghcr.io/learning-process/ppc-ubuntu:latest
Original file line number Diff line number Diff line change 1+ FROM ubuntu:24.04
2+
3+ ENV DEBIAN_FRONTEND=noninteractive
4+
5+ RUN apt-get update && apt-get install -y --no-install-recommends \
6+ build-essential \
7+ ca-certificates curl wget gnupg lsb-release software-properties-common \
8+ python3 python3-pip \
9+ ninja-build cmake make \
10+ ccache \
11+ valgrind \
12+ libmpich-dev mpich \
13+ openmpi-bin openmpi-common libopenmpi-dev \
14+ libomp-dev \
15+ gcc-14 g++-14 \
16+ gcovr \
17+ && rm -rf /var/lib/apt/lists/*
18+
19+ RUN wget -q https://apt.llvm.org/llvm.sh \
20+ && chmod +x llvm.sh \
21+ && ./llvm.sh 20 all \
22+ && rm llvm.sh \
23+ && apt-get clean
24+
25+ SHELL ["/bin/bash" , "-eo" , "pipefail" , "-c" ]
26+
27+ ENV CC=gcc-14 CXX=g++-14
28+
29+ CMD ["bash" ]
You can’t perform that action at this time.
0 commit comments