5 Commits
2.0.0 ... main

Author SHA1 Message Date
db47fe1433 fix: bump versions in dockerfile, fix pre-commit
Some checks failed
Build and Test Code / test (push) Successful in 3m39s
Build and Test Code / static_analysis (push) Successful in 3m43s
Build and Test Code / coverage (push) Successful in 3m51s
Build and Test Code / sanitize (push) Successful in 3m37s
Build Docs / build-docs (push) Successful in 3m3s
Build Image / build-dev-image (push) Failing after 2m40s
2025-09-28 09:24:49 -06:00
6479d1d578 ci: fix artifact action path
All checks were successful
Build Docs / build-docs (push) Successful in 5m4s
Build and Test Code / test (push) Successful in 4m56s
Build and Test Code / coverage (push) Successful in 4m50s
Build and Test Code / static_analysis (push) Successful in 4m7s
Build and Test Code / sanitize (push) Successful in 1m48s
2025-07-06 19:24:21 -06:00
78bf8c9236 ci: fix artifact and image runner
Some checks failed
Build Docs / build-docs (push) Failing after 3m1s
Build and Test Code / test (push) Successful in 3m15s
Build and Test Code / static_analysis (push) Successful in 3m17s
Build and Test Code / coverage (push) Successful in 3m21s
Build and Test Code / sanitize (push) Successful in 3m24s
2025-07-06 19:19:13 -06:00
3c1d03bb1d ci: update container paths
Some checks failed
Build and Test Code / test (push) Successful in 2m20s
Build and Test Code / coverage (push) Successful in 2m21s
Build and Test Code / static_analysis (push) Successful in 1m51s
Build and Test Code / sanitize (push) Has been cancelled
Build Docs / build-docs (push) Has been cancelled
2025-07-06 19:10:00 -06:00
c18654a0a8 ci: update ci for cluster
Some checks failed
Build Docs / build-docs (push) Has been cancelled
Build and Test Code / test (push) Failing after 1s
Build and Test Code / coverage (push) Failing after 2s
Build and Test Code / static_analysis (push) Failing after 1s
Build and Test Code / sanitize (push) Failing after 1s
2025-07-06 18:07:26 -06:00
8 changed files with 50 additions and 49 deletions

View File

@ -2,5 +2,4 @@
Checks: "bugprone-*, clang-analyzer-*, clang-diagnostic-*, concurrency-*, cppcoreguidelines-*, google-*, misc-*, modernize-*, performance-*, portability-*, -modernize-use-trailing-return-type"
WarningsAsErrors: true
HeaderFilterRegex: ""
AnalyzeTemporaryDtors: false
FormatStyle: none

View File

@ -5,8 +5,8 @@ on:
jobs:
test:
runs-on: ubuntu-latest
container: gitea.shrukanslab.xyz/sl-devs/cpp-template/dev-environment:latest
runs-on: garm-k8s
container: gitea.shrukanslab.xyz/shrukan/cpp-template/dev-environment:latest
steps:
- name: Check out repository code
uses: actions/checkout@v4
@ -14,19 +14,16 @@ jobs:
- name: Unit test
run: just test
- name: Compress test report
run: tar -czf build/test_logs.tar.gz build/meson-logs
- name: Archive test report
uses: actions/upload-artifact@v3
uses: christopherhx/gitea-upload-artifact@v4
with:
name: test_logs
path: build/test_logs.tar.gz
path: build/meson-logs
retention-days: 5
coverage:
runs-on: ubuntu-latest
container: gitea.shrukanslab.xyz/sl-devs/cpp-template/dev-environment:latest
runs-on: garm-k8s
container: gitea.shrukanslab.xyz/shrukan/cpp-template/dev-environment:latest
steps:
- name: Check out repository code
uses: actions/checkout@v4
@ -38,15 +35,15 @@ jobs:
run: tar -czf build/coverage.tar.gz build/meson-logs/coveragereport
- name: Archive coverage report
uses: actions/upload-artifact@v3
uses: christopherhx/gitea-upload-artifact@v4
with:
name: coverage_report
path: build/coverage.tar.gz
path: build/meson-logs/coveragereport
retention-days: 5
static_analysis:
runs-on: ubuntu-latest
container: gitea.shrukanslab.xyz/sl-devs/cpp-template/dev-environment:latest
runs-on: garm-k8s
container: gitea.shrukanslab.xyz/shrukan/cpp-template/dev-environment:latest
steps:
- name: Check out repository code
uses: actions/checkout@v4
@ -58,8 +55,8 @@ jobs:
run: just check
sanitize:
runs-on: ubuntu-latest
container: gitea.shrukanslab.xyz/sl-devs/cpp-template/dev-environment:latest
runs-on: garm-k8s
container: gitea.shrukanslab.xyz/shrukan/cpp-template/dev-environment:latest
steps:
- name: Check out repository code
uses: actions/checkout@v4

View File

@ -7,9 +7,8 @@ on:
jobs:
build-docs:
runs-on: ubuntu-latest
container: gitea.shrukanslab.xyz/sl-devs/cpp-template/dev-environment:latest
runs-on: garm-k8s
container: gitea.shrukanslab.xyz/shrukan/cpp-template/dev-environment:latest
steps:
- name: Check out repository code
uses: actions/checkout@v4
@ -20,12 +19,9 @@ jobs:
- name: Build docs
run: just docs
- name: Compress docs
run: tar -czf build/docs.tar.gz build/docs
- name: Archive docs
uses: actions/upload-artifact@v3
uses: christopherhx/gitea-upload-artifact@v4
with:
name: docs
path: build/docs.tar.gz
path: build/docs
retention-days: 5

View File

@ -9,7 +9,7 @@ on:
jobs:
build-dev-image:
runs-on: ubuntu-latest
runs-on: garm-k8s
steps:
- name: Check out repository code
uses: actions/checkout@v4
@ -34,7 +34,7 @@ jobs:
platforms: linux/amd64
push: true
tags: |
gitea.shrukanslab.xyz/sl-devs/cpp-template/dev-environment:latest
gitea.shrukanslab.xyz/shrukan/cpp-template/dev-environment:latest
- name: Logout from Docker Registry
run: docker logout gitea.shrukanslab.xyz

View File

@ -2,15 +2,19 @@
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
rev: v4.5.0
hooks:
- id: trailing-whitespace
stages: [pre-commit]
- id: end-of-file-fixer
stages: [pre-commit]
- id: check-added-large-files
stages: [pre-commit]
- repo: https://github.com/commitizen-tools/commitizen
rev: 3.8.0
rev: v4.8.3
hooks:
- id: commitizen
stages: [commit-msg]
- id: commitizen-branch
stages: [push]
stages: [pre-push]

View File

@ -1,18 +1,23 @@
FROM gcc:13
FROM gcc:15
# Install build tools
RUN apt-get update && apt-get install -y python3 python3-pip ninja-build clang-format clang-tidy gdb openjdk-17-jdk-headless graphviz git curl zsh \
RUN apt-get update && apt-get install -y python3 python3-pip ninja-build clang-format clang-tidy gdb openjdk-21-jdk-headless graphviz git curl zsh \
&& rm -rf /var/lib/apt/lists/*
RUN pip install --break-system-packages meson gcovr
# Install node for actions
RUN curl -fsSL https://deb.nodesource.com/setup_current.x | bash - && apt-get install -y nodejs
# Install python tools, break-system-packages is needed for debian-based images
RUN pip install --break-system-packages meson pre-commit commitizen gcovr
# Install just
RUN curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to /usr/bin
# Install mold from tarball, as the version in the package manager is very old
RUN wget -O mold.tar.gz https://github.com/rui314/mold/releases/download/v2.4.0/mold-2.4.0-x86_64-linux.tar.gz && \
RUN wget -O mold.tar.gz https://github.com/rui314/mold/releases/download/v2.40.4/mold-2.40.4-x86_64-linux.tar.gz && \
tar -xzf mold.tar.gz && \
cp -r mold-2.4.0-x86_64-linux/* /usr/local/ && \
rm -r mold-2.4.0-x86_64-linux && \
cp -r mold-2.40.4-x86_64-linux/* /usr/local/ && \
rm -r mold-2.40.4-x86_64-linux && \
rm mold.tar.gz
# Set mold as the default linker
@ -22,17 +27,17 @@ ENV CXX_LD=mold
# Install plantuml
RUN wget --progress=bar:force:noscroll https://github.com/plantuml/plantuml/releases/download/v1.2024.3/plantuml-mit-1.2024.3.jar -O /usr/local/bin/plantuml.jar
# Install node for actions
RUN curl -fsSL https://deb.nodesource.com/setup_current.x | bash - && apt-get install -y nodejs
# Install mermaid-cli
RUN npm install -g @mermaid-js/mermaid-cli
# Install latest doxygen
RUN wget --progress=bar:force:noscroll https://www.doxygen.nl/files/doxygen-1.10.0.linux.bin.tar.gz && \
tar -xzf doxygen-1.10.0.linux.bin.tar.gz && \
cd doxygen-1.10.0 && \
RUN wget --progress=bar:force:noscroll https://www.doxygen.nl/files/doxygen-1.14.0.linux.bin.tar.gz && \
tar -xzf doxygen-1.14.0.linux.bin.tar.gz && \
cd doxygen-1.14.0 && \
make install && \
cd .. && \
rm -r doxygen-1.10.0.linux.bin.tar.gz && \
rm -r doxygen-1.10.0
rm -r doxygen-1.14.0.linux.bin.tar.gz && \
rm -r doxygen-1.14.0
# Add a user `dev` with UID/GID 1000
# Set zsh as the default shell for this user

View File

@ -69,5 +69,5 @@ clean:
# Obliterate the build directory
spotless:
rm -r {{BUILD_PREFIX}}
rm -rf {{BUILD_PREFIX}}
meson subprojects purge --confirm

View File

@ -1,10 +1,10 @@
[wrap-file]
directory = doctest-2.4.11
source_url = https://github.com/doctest/doctest/archive/refs/tags/v2.4.11.tar.gz
source_filename = doctest-2.4.11.tar.gz
source_hash = 632ed2c05a7f53fa961381497bf8069093f0d6628c5f26286161fbd32a560186
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/doctest_2.4.11-1/doctest-2.4.11.tar.gz
wrapdb_version = 2.4.11-1
directory = doctest-2.4.12
source_url = https://github.com/doctest/doctest/archive/refs/tags/v2.4.12.tar.gz
source_filename = doctest-2.4.12.tar.gz
source_hash = 73381c7aa4dee704bd935609668cf41880ea7f19fa0504a200e13b74999c2d70
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/doctest_2.4.12-1/doctest-2.4.12.tar.gz
wrapdb_version = 2.4.12-1
[provide]
dependency_names = doctest