File tree 4 files changed +75
-25
lines changed
4 files changed +75
-25
lines changed Original file line number Diff line number Diff line change 2
2
# Copyright © 2025 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
3
3
# Matthias Kretz <m.kretz@gsi.de>
4
4
5
- name : Build and Push C++ CI Docker Image
5
+ name : Build Base Image
6
6
7
7
on :
8
8
workflow_dispatch : # Allows manual trigger via GitHub UI
33
33
uses : docker/build-push-action@v5
34
34
with :
35
35
context : .
36
+ file : Dockerfile.base
36
37
push : true
37
- tags : ghcr.io/${{ github.actor }}/cplusplus-ci:latest
38
-
38
+ tags : ghcr.io/${{ github.repository }}/base
Original file line number Diff line number Diff line change
1
+ # SPDX-License-Identifier: GPL-3.0-or-later
2
+ # Copyright © 2025 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
3
+ # Matthias Kretz <m.kretz@gsi.de>
4
+
5
+ name : Build Latest Image
6
+
7
+ on :
8
+ workflow_dispatch : # Allows manual trigger via GitHub UI
9
+
10
+ permissions :
11
+ contents : read
12
+ packages : write # Required to push to GHCR
13
+
14
+ jobs :
15
+ build-and-push :
16
+ runs-on : ubuntu-latest
17
+
18
+ steps :
19
+ - name : Checkout repository
20
+ uses : actions/checkout@v4
21
+
22
+ - name : Set up Docker Buildx
23
+ uses : docker/setup-buildx-action@v3
24
+
25
+ - name : Log in to GHCR
26
+ uses : docker/login-action@v3
27
+ with :
28
+ registry : ghcr.io
29
+ username : ${{ github.actor }}
30
+ password : ${{ secrets.GITHUB_TOKEN }}
31
+
32
+ - name : Build and push Docker image
33
+ uses : docker/build-push-action@v5
34
+ with :
35
+ context : .
36
+ file : Dockerfile.latest
37
+ push : true
38
+ tags : ghcr.io/${{ github.repository }}/latest
39
+
Original file line number Diff line number Diff line change @@ -36,28 +36,8 @@ RUN dpkg --add-architecture i386 && \
36
36
chmod +x llvm.sh && \
37
37
./llvm.sh 20 && \
38
38
./llvm.sh 21 && \
39
- rm llvm.sh
40
-
41
- # GCC 15
42
- RUN mkdir -p /root/gcc-15/obj && \
43
- cd /root/gcc-15 && \
44
- curl -L https://github.com/gcc-mirror/gcc/archive/releases/gcc-15.tar.gz \
45
- | tar -xz --strip-components=1 && \
46
- cd /root/gcc-15/obj && ../configure --enable-languages=c,c++,lto --prefix=/opt/gcc-15 --disable-checking --disable-bootstrap && \
47
- make -j3 && \
48
- make -j3 install && \
49
- update-alternatives --install /usr/bin/gcc gcc /opt/gcc-15/bin/gcc 150 --slave /usr/bin/g++ g++ /opt/gcc-15/bin/g++ && \
50
- cd /root && rm -rf gcc-15
51
-
52
- # GCC master
53
- RUN mkdir -p /root/gcc-master/obj && \
54
- cd /root/gcc-master && \
55
- curl -L https://github.com/gcc-mirror/gcc/archive/master.tar.gz \
56
- | tar -xz --strip-components=1 && \
57
- cd /root/gcc-master/obj && ../configure --enable-languages=c,c++,lto --prefix=/opt/gcc-master --disable-checking --disable-bootstrap && \
58
- make -j3 && \
59
- make -j3 install && \
60
- cd /root && rm -rf gcc-master
39
+ rm llvm.sh && \
40
+ apt-get clean
61
41
62
42
CMD ["/bin/bash"]
63
43
Original file line number Diff line number Diff line change
1
+ # SPDX-License-Identifier: GPL-3.0-or-later
2
+ # Copyright © 2025 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
3
+ # Matthias Kretz <m.kretz@gsi.de>
4
+
5
+ FROM ghcr.io/mattkretz/cplusplus-ci/base
6
+
7
+ ENV DEBIAN_FRONTEND=noninteractive
8
+
9
+ # GCC 15
10
+ RUN mkdir -p /root/gcc-15/obj && \
11
+ cd /root/gcc-15 && \
12
+ curl -L https://github.com/gcc-mirror/gcc/archive/releases/gcc-15.tar.gz \
13
+ | tar -xz --strip-components=1 && \
14
+ cd /root/gcc-15/obj && ../configure --enable-languages=c,c++,lto --prefix=/opt/gcc-15 --disable-checking --disable-bootstrap && \
15
+ make -j3 && \
16
+ make -j3 install-strip && \
17
+ update-alternatives --install /usr/bin/gcc gcc /opt/gcc-15/bin/gcc 150 --slave /usr/bin/g++ g++ /opt/gcc-15/bin/g++ && \
18
+ cd /root && rm -rf gcc-15
19
+
20
+ # GCC master
21
+ RUN mkdir -p /root/gcc-master/obj && \
22
+ cd /root/gcc-master && \
23
+ curl -L https://github.com/gcc-mirror/gcc/archive/master.tar.gz \
24
+ | tar -xz --strip-components=1 && \
25
+ cd /root/gcc-master/obj && ../configure --enable-languages=c,c++,lto --prefix=/opt/gcc-master --disable-checking --disable-bootstrap && \
26
+ make -j3 && \
27
+ make -j3 install-strip && \
28
+ cd /root && rm -rf gcc-master
29
+
30
+ CMD ["/bin/bash"]
31
+
You can’t perform that action at this time.
0 commit comments