Skip to content

Commit cd7848f

Browse files
committed
wip: docker image testing
1 parent e13ebef commit cd7848f

File tree

6 files changed

+180
-0
lines changed

6 files changed

+180
-0
lines changed

.github/workflows/docker.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Build Docker Images v4
2+
3+
on:
4+
workflow_dispatch:
5+
6+
permissions:
7+
contents: read
8+
packages: write
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
strategy:
14+
matrix:
15+
config:
16+
- name: "neon"
17+
tag: "22.04"
18+
dockerfile: "Dockerfile.kde-neon.2204"
19+
- name: "neon"
20+
tag: "24.04"
21+
dockerfile: "Dockerfile.kde-neon.2404"
22+
- name: "ubuntu"
23+
tag: "22.04"
24+
dockerfile: "Dockerfile.ubuntu.2204"
25+
- name: "ubuntu"
26+
tag: "24.04"
27+
dockerfile: "Dockerfile.ubuntu.2404"
28+
29+
steps:
30+
- name: Checkout repository
31+
uses: actions/checkout@v4
32+
33+
- name: Log in to GitHub Container Registry
34+
uses: docker/login-action@v3
35+
with:
36+
registry: ghcr.io
37+
username: ${{ github.actor }}
38+
password: ${{ secrets.GITHUB_TOKEN }}
39+
40+
- name: Build Docker image for ${{ matrix.config.name }}
41+
run: |
42+
echo "Building image variant: ${{ matrix.config.name }}"
43+
44+
IMAGE="ghcr.io/${{ github.repository_owner }}/${{ matrix.config.name }}:${{ matrix.config.tag }}"
45+
46+
cp -v "docker/${{ matrix.config.dockerfile }}" Dockerfile
47+
48+
docker build -t "${IMAGE}" .
49+
docker push "${IMAGE}"
50+
51+
- name: Summary
52+
run: |
53+
echo "pushed image: ghcr.io/${{ github.repository_owner }}/${{ matrix.config.name }}:${{ matrix.config.tag }}"

.github/workflows/linux.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Linux workflow
2+
on:
3+
push:
4+
branches:
5+
- main
6+
pull_request:
7+
branches:
8+
- main
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
name: build (${{ matrix.config.name }})
14+
strategy:
15+
matrix:
16+
config:
17+
- name: default
18+
container: "ghcr.io/scrubbbbs/neon:24.04"
19+
cmake_flags: ""
20+
env: ""
21+
appimage: false
22+
23+
container:
24+
image: ${{ matrix.config.container }}
25+
credentials:
26+
username: ${{ github.actor }}
27+
password: ${{ secrets.GITHUB_TOKEN }}
28+
29+
steps:
30+
- uses: actions/checkout@v4
31+
with:
32+
ref: ${{ github.event.pull_request.head.sha }}
33+
34+
- name: Install build dependencies
35+
run: |
36+
sudo apt-get update
37+
sudo apt-get install -y libexiv2-dev cmake build-essential qt6-base-dev qt6-tools-dev libqt6svg6-dev qt6-image-formats-plugins libgl-dev qt6-l10n-tools libquazip1-qt6-dev
38+
39+
- name: Qmake configure
40+
run: |
41+
clang --version
42+
gcc --version
43+
git clone --depth 1 https://github.com/nomacs/nomacs.git
44+
cd nomacs
45+
mkdir build
46+
cd build
47+
cmake -G Ninja ../ImageLounge
48+
ninja
49+

docker/Dockerfile.kde-neon.2204

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
FROM ubuntu:22.04
2+
3+
ENV DEBIAN_FRONTEND=noninteractive
4+
5+
RUN apt update
6+
7+
RUN apt install -y bash coreutils git curl wget gnupg ca-certificates tar gzip unzip sudo
8+
9+
RUN echo "deb http://archive.neon.kde.org/user jammy main" > \
10+
/etc/apt/sources.list.d/neon.list \
11+
&& wget -qO - https://archive.neon.kde.org/public.key | apt-key add - \
12+
&& apt-get update
13+
14+
RUN apt install -y qt6-base-dev qt6-tools-dev qt6-tools-dev-tools libqt6svg6-dev libqt6core5compat6-dev qt6-l10n-tools qt6-image-formats-plugins libexiv2-dev libraw-dev libopencv-dev libtiff-dev build-essential git cmake lcov libgtest-dev libgl-dev curl kf6-kimageformat-plugins ninja-build clang clang-format clang-tidy
15+
16+
RUN apt clean && rm -rf /var/lib/apt/lists/*
17+
18+
ENV LANG=C.UTF-8
19+
ENV LC_ALL=C.UTF-8
20+
ENTRYPOINT []
21+
CMD []
22+
USER root

docker/Dockerfile.kde-neon.2404

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
FROM ubuntu:24.04
2+
3+
ENV DEBIAN_FRONTEND=noninteractive
4+
5+
RUN apt update
6+
7+
RUN apt install -y bash coreutils git curl wget gnupg ca-certificates tar gzip unzip sudo
8+
9+
RUN echo "deb http://archive.neon.kde.org/user noble main" > \
10+
/etc/apt/sources.list.d/neon.list \
11+
&& wget -qO - https://archive.neon.kde.org/public.key | apt-key add - \
12+
&& apt-get update
13+
14+
RUN apt install -y qt6-base-dev qt6-tools-dev qt6-tools-dev-tools libqt6svg6-dev libqt6core5compat6-dev qt6-l10n-tools qt6-image-formats-plugins libexiv2-dev libraw-dev libopencv-dev libtiff-dev build-essential git cmake lcov libgtest-dev libgl-dev curl kf6-kimageformat-plugins ninja-build libquazip1-qt6-dev clang clang-format clang-tidy
15+
16+
RUN apt clean && rm -rf /var/lib/apt/lists/*
17+
18+
ENV LANG=C.UTF-8
19+
ENV LC_ALL=C.UTF-8
20+
ENTRYPOINT []
21+
CMD []
22+
USER root

docker/Dockerfile.ubuntu.2204

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
FROM ubuntu:22.04
2+
3+
ENV DEBIAN_FRONTEND=noninteractive
4+
5+
RUN apt update
6+
7+
RUN apt install -y bash coreutils git curl wget gnupg ca-certificates tar gzip unzip sudo
8+
9+
RUN apt install -y qt6-base-dev qt6-tools-dev qt6-tools-dev-tools libqt6svg6-dev libqt6core5compat6-dev qt6-l10n-tools qt6-image-formats-plugins libexiv2-dev libraw-dev libopencv-dev libtiff-dev build-essential git cmake lcov libgtest-dev libgl-dev curl ninja-build clang clang-format clang-tidy
10+
11+
RUN apt clean && rm -rf /var/lib/apt/lists/*
12+
13+
ENV LANG=C.UTF-8
14+
ENV LC_ALL=C.UTF-8
15+
ENTRYPOINT []
16+
CMD []
17+
USER root

docker/Dockerfile.ubuntu.2404

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
FROM ubuntu:24.04
2+
3+
ENV DEBIAN_FRONTEND=noninteractive
4+
5+
RUN apt update
6+
7+
RUN apt install -y bash coreutils git curl wget gnupg ca-certificates tar gzip unzip sudo
8+
9+
RUN apt install -y qt6-base-dev qt6-tools-dev qt6-tools-dev-tools libqt6svg6-dev libqt6core5compat6-dev qt6-l10n-tools qt6-image-formats-plugins libexiv2-dev libraw-dev libopencv-dev libtiff-dev build-essential git cmake lcov libgtest-dev libgl-dev curl ninja-build libquazip1-qt6-dev clang clang-format clang-tidy
10+
11+
RUN apt clean && rm -rf /var/lib/apt/lists/*
12+
13+
ENV LANG=C.UTF-8
14+
ENV LC_ALL=C.UTF-8
15+
ENTRYPOINT []
16+
CMD []
17+
USER root

0 commit comments

Comments
 (0)