From 80e81b20af6a0b936f1e2022b729f310f6e12061 Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Sat, 29 Mar 2025 07:53:19 +0400 Subject: [PATCH 01/26] Add Fedora --- .github/workflows/distro-ci.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .github/workflows/distro-ci.yml diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml new file mode 100644 index 00000000..a63c0c8d --- /dev/null +++ b/.github/workflows/distro-ci.yml @@ -0,0 +1,22 @@ +name: HyperCPU CI/CD Pipeline (build HyperCPU on different platforms) + +on: [push] + +jobs: + fedora: + runs-on: self-hosted + + steps: + - uses: addnab/docker-run-action@v3 + with: + image: hcpu-ci:fedora + shell: bash + run: | + git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU + cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j4 + cmake --build build --target default -j4 + rm -rf build + cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j4 + cmake --build build --target default -j4 From 5348ba9565a9acbd816944066b5a0a9a13023d29 Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Mon, 31 Mar 2025 08:16:19 +0400 Subject: [PATCH 02/26] Updated workflow and README --- .github/workflows/distro-ci.yml | 24 ++++++++++++++++++++++++ README.md | 8 ++++++++ 2 files changed, 32 insertions(+) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index a63c0c8d..dcce377a 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -5,6 +5,8 @@ on: [push] jobs: fedora: runs-on: self-hosted + continue-on-error: true + name: Fedora-Build steps: - uses: addnab/docker-run-action@v3 @@ -20,3 +22,25 @@ jobs: cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j4 cmake --build build --target default -j4 + + debian-stable: + runs-on: self-hosted + continue-on-error: true + name: Debian-Stable-Build + + steps: + - uses: addnab/docker-run-action@v3 + with: + image: hcpu-ci:debian-stable + shell: bash + run: | + git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU + cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON +-DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j4 + cmake --build build --target default -j4 + rm -rf build + cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -D +HCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j4 + cmake --build build --target default -j4 diff --git a/README.md b/README.md index 40e6f32f..5fcddee6 100644 --- a/README.md +++ b/README.md @@ -142,6 +142,14 @@ To display program version and exit: $ ./hcemul --version ``` +### Build status +## Supported Distributions + +| Distribution | Build Status | Details | +|-----------------|--------------|---------| +| Fedora | [![Fedora Build Status](https://img.shields.io/github/actions/workflow/status/HyperWinX/HyperCPU/distro-ci.yml?label=Fedora&jobName=Fedora-Build)](https://github.com/HyperWinX/HyperCPU/actions/workflows/distro-ci.yml) | [View Logs](https://github.com/HyperWinX/HyperCPU/actions/workflows/distro-ci.yml?query=job%3A%22Fedora-Build) | +| Debian Stable | [![Debian Stable Build Status](https://img.shields.io/github/actions/workflow/status///ci.yml?label=Debian%20Stable&jobName=Debian%20Stable%20Build)](https://github.com///actions/workflows/ci.yml) | [View Logs](https://github.com///actions/workflows/ci.yml?query=job%3A%22Debian+Stable+Build%22) | + ### Contributing HyperCPU is in active development and we will be happy to hear any feedback from you. Do not hesitate to report bugs or suggest any ideas using "Issues" page. From 9c9e67d322c999a2d40ec0960631c346b31cc011 Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Mon, 31 Mar 2025 08:51:04 +0400 Subject: [PATCH 03/26] Updated workflow --- .github/workflows/distro-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index dcce377a..19029029 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -6,7 +6,6 @@ jobs: fedora: runs-on: self-hosted continue-on-error: true - name: Fedora-Build steps: - uses: addnab/docker-run-action@v3 @@ -22,11 +21,11 @@ jobs: cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j4 cmake --build build --target default -j4 + name: Fedora-Build debian-stable: runs-on: self-hosted continue-on-error: true - name: Debian-Stable-Build steps: - uses: addnab/docker-run-action@v3 @@ -44,3 +43,4 @@ jobs: HCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j4 cmake --build build --target default -j4 + name: Debian-Stable-Build From f2cc1511eb0b83451fd251b7d393a89fd1623b5f Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Mon, 31 Mar 2025 15:10:19 +0400 Subject: [PATCH 04/26] Update workflow --- .github/workflows/distro-ci.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index 19029029..85abb1a7 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -21,7 +21,6 @@ jobs: cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j4 cmake --build build --target default -j4 - name: Fedora-Build debian-stable: runs-on: self-hosted @@ -34,13 +33,10 @@ jobs: shell: bash run: | git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU - cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON --DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j4 cmake --build build --target default -j4 rm -rf build - cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -D -HCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j4 cmake --build build --target default -j4 - name: Debian-Stable-Build From 02dae7b71d0821a343e4ce048037e10d9891bb9f Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Tue, 1 Apr 2025 10:32:33 +0400 Subject: [PATCH 05/26] Update workflow --- .github/workflows/distro-ci.yml | 37 +++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index 85abb1a7..311fa70d 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -40,3 +40,40 @@ jobs: cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j4 cmake --build build --target default -j4 + archlinux: + runs-on: self-hosted + continue-on-error: true + + steps: + - uses: addnab/docker-run-action@v3 + with: + image: hcpu-ci:archlinux + shell: bash + run: | + git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU + cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j4 + cmake --build build --target default -j4 + rm -rf build + cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j4 + cmake --build build --target default -j4 + + gentoo-glibc: + runs-on: self-hosted + continue-on-error: true + steps: + - uses: addnab/docker-run-action@v3 + with: + image: hcpu-ci:gentoo-glibc + shell: bash + run: | + source /etc/profile + git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU + cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j4 + cmake --build build --target default -j4 + rm -rf build + cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j4 + cmake --build build --target default -j4 From 3ea2f6ccf6ab71bae5c1e0f5039570fa90bb3b99 Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Tue, 1 Apr 2025 10:37:55 +0400 Subject: [PATCH 06/26] Add debian-unstable back --- .github/workflows/distro-ci.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index 311fa70d..d540181f 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -40,6 +40,26 @@ jobs: cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j4 cmake --build build --target default -j4 + + debian-unstable: + runs-on: self-hosted + continue-on-error: true + + steps: + - uses: addnab/docker-run-action@v3 + with: + image: hcpu-ci:debian-unstable + shell: bash + run: | + git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU + cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j4 + cmake --build build --target default -j4 + rm -rf build + cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j4 + cmake --build build --target default -j4 + archlinux: runs-on: self-hosted continue-on-error: true From 2d4f2c2c84db402d2512750f3db65b0101698715 Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Mon, 31 Mar 2025 17:22:35 +0400 Subject: [PATCH 07/26] Add Debian Unstable --- .github/workflows/distro-ci.yml | 21 +++++++++++++++++++++ README.md | 9 +++++---- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index d540181f..ab9d5adc 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -6,6 +6,7 @@ jobs: fedora: runs-on: self-hosted continue-on-error: true + name: Build-Fedora steps: - uses: addnab/docker-run-action@v3 @@ -25,6 +26,26 @@ jobs: debian-stable: runs-on: self-hosted continue-on-error: true + name: Build-Debian-Stable + + steps: + - uses: addnab/docker-run-action@v3 + with: + image: hcpu-ci:debian-stable + shell: bash + run: | + git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU + cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j4 + cmake --build build --target default -j4 + rm -rf build + cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j4 + cmake --build build --target default -j4 + debian-unstable: + runs-on: self-hosted + continue-on-error: true + name: Build-Debian-Unstable steps: - uses: addnab/docker-run-action@v3 diff --git a/README.md b/README.md index 5fcddee6..40d3280e 100644 --- a/README.md +++ b/README.md @@ -145,10 +145,11 @@ $ ./hcemul --version ### Build status ## Supported Distributions -| Distribution | Build Status | Details | -|-----------------|--------------|---------| -| Fedora | [![Fedora Build Status](https://img.shields.io/github/actions/workflow/status/HyperWinX/HyperCPU/distro-ci.yml?label=Fedora&jobName=Fedora-Build)](https://github.com/HyperWinX/HyperCPU/actions/workflows/distro-ci.yml) | [View Logs](https://github.com/HyperWinX/HyperCPU/actions/workflows/distro-ci.yml?query=job%3A%22Fedora-Build) | -| Debian Stable | [![Debian Stable Build Status](https://img.shields.io/github/actions/workflow/status///ci.yml?label=Debian%20Stable&jobName=Debian%20Stable%20Build)](https://github.com///actions/workflows/ci.yml) | [View Logs](https://github.com///actions/workflows/ci.yml?query=job%3A%22Debian+Stable+Build%22) | +| Distribution | Build Status | +|-----------------|--------------| +| Fedora | [![Fedora Build Status](https://img.shields.io/github/actions/workflow/status/HyperWinX/HyperCPU/distro-ci.yml?label=Fedora&jobName=Build-Fedora)](https://github.com/HyperWinX/HyperCPU/actions/workflows/distro-ci.yml) | +| Debian Stable | [![Debian Stable Build Status](https://img.shields.io/github/actions/workflow/status/HyperWinX/HyperCPU/distro-ci.yml?label=Debian%20Stable&jobName=Build-Debian-Stable)](https://github.com/HyperWinX/HyperCPU/actions/workflows/distro-ci.yml) | +| Debian Unstable | [![Debian Unstable Build Status](https://img.shields.io/github/actions/workflow/status/HyperWinX/HyperCPU/distro-ci.yml?label=Debian%20Unstable&jobName=Build-Debian-Unstable)](https://github.com/HyperWinX/HyperCPU/actions/workflows/distro-ci.yml) | ### Contributing From 5afb62887003384af5c8d95895eb1fbc15c8374a Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Mon, 31 Mar 2025 17:56:42 +0400 Subject: [PATCH 08/26] Add set -e --- .github/workflows/distro-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index ab9d5adc..fc4f3102 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -14,6 +14,7 @@ jobs: image: hcpu-ci:fedora shell: bash run: | + set -e git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j4 @@ -34,6 +35,7 @@ jobs: image: hcpu-ci:debian-stable shell: bash run: | + set -e git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j4 @@ -53,6 +55,7 @@ jobs: image: hcpu-ci:debian-stable shell: bash run: | + set -e git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j4 From 8c4df510e0384bdad584b69686d20fca9a7e033d Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Thu, 3 Apr 2025 20:58:30 +0400 Subject: [PATCH 09/26] Add gentoo-musl --- .github/workflows/distro-ci.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index fc4f3102..3dd9b864 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -121,3 +121,22 @@ jobs: cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j4 cmake --build build --target default -j4 + + gentoo-musl: + runs-on: self-hosted + continue-on-error: true + steps: + - uses: addnab/docker-run-action@v3 + with: + image: hcpu-ci:gentoo-musl + shell: bash + run: | + source /etc/profile + git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU + cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j4 + cmake --build build --target default -j4 + rm -rf build + cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j4 + cmake --build build --target default -j4 From c95ec1d1cd33a0540a6279b8d0bfaf49b1850f9d Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Thu, 3 Apr 2025 21:00:24 +0400 Subject: [PATCH 10/26] Fix workflow --- .github/workflows/distro-ci.yml | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index 3dd9b864..fc589338 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -44,6 +44,7 @@ jobs: cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j4 cmake --build build --target default -j4 + debian-unstable: runs-on: self-hosted continue-on-error: true @@ -65,28 +66,10 @@ jobs: cmake --build build --target run-all-tests-github -j4 cmake --build build --target default -j4 - debian-unstable: - runs-on: self-hosted - continue-on-error: true - - steps: - - uses: addnab/docker-run-action@v3 - with: - image: hcpu-ci:debian-unstable - shell: bash - run: | - git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU - cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j4 - cmake --build build --target default -j4 - rm -rf build - cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j4 - cmake --build build --target default -j4 - archlinux: runs-on: self-hosted continue-on-error: true + name: Build-Arch-Linux steps: - uses: addnab/docker-run-action@v3 @@ -106,6 +89,8 @@ jobs: gentoo-glibc: runs-on: self-hosted continue-on-error: true + name: Build-Gentoo-Glibc + steps: - uses: addnab/docker-run-action@v3 with: @@ -125,6 +110,8 @@ jobs: gentoo-musl: runs-on: self-hosted continue-on-error: true + name: Build-Gentoo-Musl + steps: - uses: addnab/docker-run-action@v3 with: From 8faab280dff94569c5c8df4951ffeac9df813feb Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Fri, 4 Apr 2025 11:21:25 +0400 Subject: [PATCH 11/26] Add Alpine --- .github/workflows/distro-ci.yml | 20 ++++++++++++++++++++ dist/googletest | 2 +- dist/pog | 2 +- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index fc589338..ee90d827 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -127,3 +127,23 @@ jobs: cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j4 cmake --build build --target default -j4 + + alpine: + runs-on: self-hosted + continue-on-error: true + name: Build-Alpine + + steps: + - uses: addnab/docker-run-action@v3 + with: + image: hcpu-ci:alpine + shell: bash + run: | + git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU + cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j4 + cmake --build build --target default -j4 + rm -rf build + cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j4 + cmake --build build --target default -j4 diff --git a/dist/googletest b/dist/googletest index 2b6b042a..3fbe4db9 160000 --- a/dist/googletest +++ b/dist/googletest @@ -1 +1 @@ -Subproject commit 2b6b042a77446ff322cd7522ca068d9f2a21c1d1 +Subproject commit 3fbe4db9a39291ae8d7a9c5f1d75896bb4c5a18f diff --git a/dist/pog b/dist/pog index d2673b7a..d62f0d05 160000 --- a/dist/pog +++ b/dist/pog @@ -1 +1 @@ -Subproject commit d2673b7a269bc37db1810726466de0d6294ba911 +Subproject commit d62f0d05c1cbb638ef2d4d37084ab8b54e3bfc29 From c1fedee5f8960c82619ffe88374f4c618b9df8d8 Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Fri, 4 Apr 2025 12:45:14 +0400 Subject: [PATCH 12/26] Add Ubuntu --- .github/workflows/distro-ci.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index ee90d827..db7d5818 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -147,3 +147,24 @@ jobs: cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j4 cmake --build build --target default -j4 + + ubuntu: + runs-on: self-hosted + continue-on-error: true + name: Build-Ubuntu + + steps: + - uses: addnab/docker-run-action@v3 + with: + image: hcpu-ci:ubuntu + shell: bash + run: | + set -e + git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU + cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j4 + cmake --build build --target default -j4 + rm -rf build + cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j4 + cmake --build build --target default -j4 From 19d2351d598aeee77cfc59258893fa3615b32dda Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Sat, 5 Apr 2025 14:09:34 +0400 Subject: [PATCH 13/26] Fix CI --- .github/workflows/distro-ci.yml | 1 - a.out | Bin 6096 -> 0 bytes cmake/Variables.cmake | 4 ++-- dist/googletest | 2 +- dist/pog | 2 +- src/Emulator/Core/CPU/IO/Simple.cpp | 2 +- test.cpp | 12 ------------ 7 files changed, 5 insertions(+), 18 deletions(-) delete mode 100755 a.out delete mode 100644 test.cpp diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index db7d5818..0af5f61e 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -137,7 +137,6 @@ jobs: - uses: addnab/docker-run-action@v3 with: image: hcpu-ci:alpine - shell: bash run: | git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release diff --git a/a.out b/a.out deleted file mode 100755 index ef3e4e00ed4fe5b4944078b7dafc9fe7add2c233..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6096 zcmbtYU2Ggz6+XM`)Z5xM+txrtns^n0a7a5|ukF}wLA4z_b-+!jsY(ICcy?#(-DdwZ zGj44XsG&iPC=#}khdj{o`w&M|$^$>Ks7TcCP?aL3rHRS|)rKD_2p(K1pjgOV&bjv- zdpz~FQMmTZx#zp*@7}pT=kC)ZWBa3#2uO*+uYtJgevJ%p!^Jzef@A>tpb6hw;UjPh z@(l{p?E{)%t1h|dMjB^4hLrS9aeJ74nB{~@ghWZNUa3+*ScFO-q_-u2OaFu>I1Zsf zJufiE9JhIpYISfWwmVZG{Y8n3>(k#1%2Bva9&Fy7DKJo^(W<2n9!-==Z7(Ky)* ze4h0#(%@hT(@$#{gv!`If_gmEEOBFm^yxWI9o>YU)G!DYe;wYe=R3uYOup1n$d?W| z?%r+^rT!nqhx#*EvfXmt#(4?grhBtUZn|`)yLIcQPp_pbNpUIl}Qr-vC%+6S* z?&$UW6s23?3UKz#?4DEvs+wv{_%9e`;suibaIwtc4 z$LpB(T$}(IAcZ}9OfP4-j!l{f*afZ>iK;U9T}@*$kvQOEb@2HRUVTt2T;=sEcD~2> z8J3TteOXhaaW;VSR9A-12XNX0rMwcrgP~pw;JieY%3A?ExDF%RV)xTpC2ZFqz@tcy zAoY>XBc*NY=SY8m^d+QckS2z3zeGw!zI){B;}AKrBeJcz4emyq*3>Hl0FNVu;d_T$ z21c8=Ctip?kHM0TS}16*mD;foHbxc1NS_K}6Zpgt6F)SMDYgd0C{|@ViMEr+qbC|( zxaIk{-`tiQZ9)8xZ@&F!Xh)Hs;nR-tN0odFNvlYr1ucqVYvqT#VwbkV+#5Uasm5R- zf+0Te@z|wWEb{v5;n?Ep1z13v^SkkZzd<=ZII^;PWMrj1690YM7I>%n47^y4&3)!M z46iL2yL4=OL*i-^tn5VjzoNY>v9{Agqa!Qh04GfJH39I87){JGXG@cQm=nb(t%2QFWYwVw8CwO?L)cyMv`@XM#pp)K-Xdj_zdXm1}ZoV(C= zwuBpzq1WUL#oTxU!($%JcrGGRIEX5m`cEldUhcY0MS1i8NSpj#!^;ZSa^bti`v1Mako6;W^!kg!TOoNmXK5t1%EDxY z7W@FwXfurI0a-gYKgsw6<8pQyh)1I9<0JdVD9ayV`2^d?{d?2z`zzIs-?!)>GIOPJ4Az$le{$B^}(x1Ev?hCN&IW{Y4< zm8K2ehc+;#tJ$38<+QYqi0c$AQsr8ufR>z`Iq6zO$IRI%Ask>XJ%g=E1U0N;K8qI1 z2;ob^Xw5B~70b5sr73iRsW=!J&jZ?*iYiQu(YG>Scsb8^bxl*qx_$;T{gRP|T{A`} zn4WLBzFEYL3?}hjU|Ozg&6-c;{haBct$fKTc#yRU1#`U_cG*UnUS0I+rdJQpaG5+@ zrXDWDQyN!6Dhce8qcI1s7A5%yhnBo2BVu#&N-SJm1JxDi|rcpnuccKR)=- zh&gg_*fhzlbO2k{!_$4*2$3_@$&FVaef=?W7l4*X>^~oIm(!s%p4(yX>I+Hq_ali7yT*3C?@e=@Ao7&FP}wNm=5X7`6BecnO)R%j}N!A|~L8f8-AG1yIU!@LVk>4?sazW6rij}L1oWXa{ zzvOwM|3UFnenK&cf5`{0bNu0W!~Ad9e+p@^i2juzh;@pUiqPL-UFNQ8;1}MLRhj3& t=pIIQKk+a9dJQp&T`BOZ@*!P$I|yQ3{0dB$<<0aD@&x&INFl_+{{T-q`_=#e diff --git a/cmake/Variables.cmake b/cmake/Variables.cmake index 06c849a9..572f87b6 100644 --- a/cmake/Variables.cmake +++ b/cmake/Variables.cmake @@ -3,5 +3,5 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set(LTO_FLAG "-flto") endif() -set(DEBUG_COMPILE_FLAGS -Wall -Wextra -Werror -Wno-pointer-arith -O0 -ggdb3 -Wno-unused-const-variable -Wno-missing-field-initializers) -set(FAST_COMPILE_FLAGS -Wall -Wextra -Werror -Wno-pointer-arith -O3 -Wno-unused-const-variable -Wno-missing-field-initializers) +set(DEBUG_COMPILE_FLAGS -Wall -Wextra -Werror -Wno-pointer-arith -O0 -ggdb3 -Wno-unused-const-variable -Wno-missing-field-initializers -Wno-stringop-overflow) +set(FAST_COMPILE_FLAGS -Wall -Wextra -Werror -Wno-pointer-arith -O3 -Wno-unused-const-variable -Wno-missing-field-initializers -Wno-stringop-overflow) diff --git a/dist/googletest b/dist/googletest index 3fbe4db9..2b6b042a 160000 --- a/dist/googletest +++ b/dist/googletest @@ -1 +1 @@ -Subproject commit 3fbe4db9a39291ae8d7a9c5f1d75896bb4c5a18f +Subproject commit 2b6b042a77446ff322cd7522ca068d9f2a21c1d1 diff --git a/dist/pog b/dist/pog index d62f0d05..d2673b7a 160000 --- a/dist/pog +++ b/dist/pog @@ -1 +1 @@ -Subproject commit d62f0d05c1cbb638ef2d4d37084ab8b54e3bfc29 +Subproject commit d2673b7a269bc37db1810726466de0d6294ba911 diff --git a/src/Emulator/Core/CPU/IO/Simple.cpp b/src/Emulator/Core/CPU/IO/Simple.cpp index a48e533b..a1cbb195 100644 --- a/src/Emulator/Core/CPU/IO/Simple.cpp +++ b/src/Emulator/Core/CPU/IO/Simple.cpp @@ -53,7 +53,7 @@ void HyperCPU::SimpleIOImpl::Putchar(std::uint8_t c) { std::uint8_t HyperCPU::SimpleIOImpl::Getchar() { char c; - read(STDIN_FILENO, &c, 1); + [[maybe_unused]] auto t = read(STDIN_FILENO, &c, 1); return c; } diff --git a/test.cpp b/test.cpp deleted file mode 100644 index 7559add8..00000000 --- a/test.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include -#include - -int main() { - srand(time(0)); - int a = rand(); - int b = rand(); - - if (a > b) return 1; - else if (a < b) return 2; - else return 0; -} From a7d075dbd2b420ca718bd0993c164d34bc35e53d Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Sat, 5 Apr 2025 20:58:58 +0400 Subject: [PATCH 14/26] Update --- .github/workflows/distro-ci.yml | 219 +++++++++++++++----------------- cmake/Variables.cmake | 4 +- 2 files changed, 104 insertions(+), 119 deletions(-) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index 0af5f61e..6acb36cd 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -4,166 +4,151 @@ on: [push] jobs: fedora: - runs-on: self-hosted + runs-on: ubuntu-latest + container: hyperwin/hcpu-ci:fedora continue-on-error: true name: Build-Fedora steps: - - uses: addnab/docker-run-action@v3 - with: - image: hcpu-ci:fedora - shell: bash - run: | - set -e - git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU - cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j4 - cmake --build build --target default -j4 - rm -rf build - cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j4 - cmake --build build --target default -j4 + - run: | + set -e + git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU + git switch ${{ github.ref_name }} + cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j8 + cmake --build build --target default -j8 + rm -rf build + cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j8 + cmake --build build --target default -j8 debian-stable: - runs-on: self-hosted + runs-on: ubuntu-latest + container: hyperwin/hcpu-ci:debian-stable continue-on-error: true name: Build-Debian-Stable steps: - - uses: addnab/docker-run-action@v3 - with: - image: hcpu-ci:debian-stable - shell: bash - run: | - set -e - git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU - cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j4 - cmake --build build --target default -j4 - rm -rf build - cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j4 - cmake --build build --target default -j4 + - run: | + set -e + git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU + git switch ${{ github.ref_name }} + cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j8 + cmake --build build --target default -j8 + rm -rf build + cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j8 + cmake --build build --target default -j8 debian-unstable: - runs-on: self-hosted + runs-on: ubuntu-latest + container: hyperwin/hcpu-ci:debian-unstable continue-on-error: true name: Build-Debian-Unstable steps: - - uses: addnab/docker-run-action@v3 - with: - image: hcpu-ci:debian-stable - shell: bash - run: | - set -e - git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU - cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j4 - cmake --build build --target default -j4 - rm -rf build - cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j4 - cmake --build build --target default -j4 + - run: | + set -e + git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU + git switch ${{ github.ref_name }} + cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j8 + cmake --build build --target default -j8 + rm -rf build + cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j8 + cmake --build build --target default -j8 archlinux: - runs-on: self-hosted + runs-on: ubuntu-latest + container: hyperwin/hcpu-ci:archlinux continue-on-error: true name: Build-Arch-Linux steps: - - uses: addnab/docker-run-action@v3 - with: - image: hcpu-ci:archlinux - shell: bash - run: | - git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU - cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j4 - cmake --build build --target default -j4 - rm -rf build - cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j4 - cmake --build build --target default -j4 + - run: | + git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU + git switch ${{ github.ref_name }} + cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j8 + cmake --build build --target default -j8 + rm -rf build + cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j8 + cmake --build build --target default -j8 gentoo-glibc: - runs-on: self-hosted + runs-on: ubuntu-latest + container: hyperwin/hcpu-ci:gentoo-glibc continue-on-error: true name: Build-Gentoo-Glibc steps: - - uses: addnab/docker-run-action@v3 - with: - image: hcpu-ci:gentoo-glibc - shell: bash - run: | - source /etc/profile - git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU - cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j4 - cmake --build build --target default -j4 - rm -rf build - cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j4 - cmake --build build --target default -j4 + - run: | + source /etc/profile + git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU + git switch ${{ github.ref_name }} + cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j8 + cmake --build build --target default -j8 + rm -rf build + cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j8 + cmake --build build --target default -j8 gentoo-musl: - runs-on: self-hosted + runs-on: ubuntu-latest + container: hyperwin/hcpu-ci:gentoo-musl continue-on-error: true name: Build-Gentoo-Musl steps: - - uses: addnab/docker-run-action@v3 - with: - image: hcpu-ci:gentoo-musl - shell: bash - run: | - source /etc/profile - git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU - cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j4 - cmake --build build --target default -j4 - rm -rf build - cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j4 - cmake --build build --target default -j4 + - run: | + source /etc/profile + git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU + git switch ${{ github.ref_name }} + cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j8 + cmake --build build --target default -j8 + rm -rf build + cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j8 + cmake --build build --target default -j8 alpine: - runs-on: self-hosted + runs-on: ubuntu-latest + container: hyperwin/hcpu-ci:alpine continue-on-error: true name: Build-Alpine steps: - - uses: addnab/docker-run-action@v3 - with: - image: hcpu-ci:alpine - run: | - git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU - cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j4 - cmake --build build --target default -j4 - rm -rf build - cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j4 - cmake --build build --target default -j4 + - run: | + git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU + git switch ${{ github.ref_name }} + cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j8 + cmake --build build --target default -j8 + rm -rf build + cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j8 + cmake --build build --target default -j8 ubuntu: - runs-on: self-hosted + runs-on: ubuntu-latest + container: hyperwin/hcpu-ci:ubuntu continue-on-error: true name: Build-Ubuntu steps: - - uses: addnab/docker-run-action@v3 - with: - image: hcpu-ci:ubuntu - shell: bash - run: | - set -e - git clone https://github.com/HyperWinX/HyperCPU.git --recursive --depth=1 && cd HyperCPU - cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j4 - cmake --build build --target default -j4 - rm -rf build - cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j4 - cmake --build build --target default -j4 + - run: | + set -e + git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU + git switch ${{ github.ref_name }} + cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j8 + cmake --build build --target default -j8 + rm -rf build + cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build --target run-all-tests-github -j8 + cmake --build build --target default -j8 diff --git a/cmake/Variables.cmake b/cmake/Variables.cmake index 572f87b6..01f0aec8 100644 --- a/cmake/Variables.cmake +++ b/cmake/Variables.cmake @@ -3,5 +3,5 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set(LTO_FLAG "-flto") endif() -set(DEBUG_COMPILE_FLAGS -Wall -Wextra -Werror -Wno-pointer-arith -O0 -ggdb3 -Wno-unused-const-variable -Wno-missing-field-initializers -Wno-stringop-overflow) -set(FAST_COMPILE_FLAGS -Wall -Wextra -Werror -Wno-pointer-arith -O3 -Wno-unused-const-variable -Wno-missing-field-initializers -Wno-stringop-overflow) +set(DEBUG_COMPILE_FLAGS -Wall -Wextra -Werror -Wno-pointer-arith -O0 -ggdb3 -Wno-unused-const-variable -Wno-missing-field-initializers -Wno-stringop-overflow -Wno-unknown-warning-option) +set(FAST_COMPILE_FLAGS -Wall -Wextra -Werror -Wno-pointer-arith -O3 -Wno-unused-const-variable -Wno-missing-field-initializers -Wno-stringop-overflow -Wno-unknown-warning-option) From 7844537e891a98878b5c98bac75c41b5a1ca1710 Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Sat, 5 Apr 2025 21:11:28 +0400 Subject: [PATCH 15/26] Fix -Wstringop-overflow --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index c2b401b2..45a811a0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,6 +12,7 @@ set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(ROOT_DIR ${HyperCPU_SOURCE_DIR}) set(BENCHMARK_ENABLE_GTEST_TESTS OFF) # Disable gtest requirement for google/benchmark +set(FMT_SYSTEM_HEADER ON) # Fix -Wstrinop-overflow warning set_compile_flags() From 13aa998f16995ac7971f47d51049d1503d6a9bfb Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Sat, 5 Apr 2025 22:13:25 +0400 Subject: [PATCH 16/26] Update pog submodule --- dist/pog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/pog b/dist/pog index d2673b7a..d62f0d05 160000 --- a/dist/pog +++ b/dist/pog @@ -1 +1 @@ -Subproject commit d2673b7a269bc37db1810726466de0d6294ba911 +Subproject commit d62f0d05c1cbb638ef2d4d37084ab8b54e3bfc29 From da08642aa5c46545a24530ff713483697da30f33 Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Sat, 5 Apr 2025 23:34:13 +0400 Subject: [PATCH 17/26] Update workflow --- .github/workflows/distro-ci.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index 6acb36cd..6dff7423 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -14,6 +14,7 @@ jobs: set -e git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU git switch ${{ github.ref_name }} + cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 cmake --build build --target default -j8 @@ -33,6 +34,7 @@ jobs: set -e git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU git switch ${{ github.ref_name }} + cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 cmake --build build --target default -j8 @@ -52,6 +54,7 @@ jobs: set -e git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU git switch ${{ github.ref_name }} + cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 cmake --build build --target default -j8 @@ -70,6 +73,7 @@ jobs: - run: | git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU git switch ${{ github.ref_name }} + cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 cmake --build build --target default -j8 @@ -89,6 +93,7 @@ jobs: source /etc/profile git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU git switch ${{ github.ref_name }} + cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 cmake --build build --target default -j8 @@ -108,6 +113,7 @@ jobs: source /etc/profile git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU git switch ${{ github.ref_name }} + cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 cmake --build build --target default -j8 @@ -126,6 +132,7 @@ jobs: - run: | git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU git switch ${{ github.ref_name }} + cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 cmake --build build --target default -j8 @@ -145,6 +152,7 @@ jobs: set -e git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU git switch ${{ github.ref_name }} + cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 cmake --build build --target default -j8 From 1b3d852f2cd9d3f3e139457ec0e1684933698a7d Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Sat, 5 Apr 2025 23:50:52 +0400 Subject: [PATCH 18/26] Fix Gentoo-Glibc build --- test/fixtures.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/fixtures.hpp b/test/fixtures.hpp index dbeacb7c..17a6dcad 100644 --- a/test/fixtures.hpp +++ b/test/fixtures.hpp @@ -27,11 +27,11 @@ class TempDir { dir_name = "test_"; dir_name += test_name; std::filesystem::create_directory(dir_name); - chdir(dir_name.c_str()); + [[maybe_unused]] auto t = chdir(dir_name.c_str()); } ~TempDir() { - chdir(".."); + [[maybe_unused]] auto t = chdir(".."); try { std::filesystem::remove_all(dir_name); } catch (std::filesystem::filesystem_error&) { } From 59d24fbb890733a47fdc0e8852084fd2c6d820f0 Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Sun, 6 Apr 2025 00:12:03 +0400 Subject: [PATCH 19/26] Adapt workflow for running on PR to master --- .github/workflows/distro-ci.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index 6dff7423..4365e19b 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -1,6 +1,9 @@ name: HyperCPU CI/CD Pipeline (build HyperCPU on different platforms) -on: [push] +on: + pull_request: + branches: + - master jobs: fedora: From 388ae6833c6f1ca17d9c6a00c44eba8b58db2c3a Mon Sep 17 00:00:00 2001 From: HyperWin <92534013+HyperWinX@users.noreply.github.com> Date: Sun, 6 Apr 2025 09:18:49 +0400 Subject: [PATCH 20/26] Update distro-ci.yml --- .github/workflows/distro-ci.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index 4365e19b..52a5df1d 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -16,7 +16,7 @@ jobs: - run: | set -e git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch ${{ github.ref_name }} + git switch ${{ github.head_ref }} cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 @@ -36,7 +36,7 @@ jobs: - run: | set -e git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch ${{ github.ref_name }} + git switch ${{ github.head_ref }} cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 @@ -56,7 +56,7 @@ jobs: - run: | set -e git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch ${{ github.ref_name }} + git switch ${{ github.head_ref }} cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 @@ -75,7 +75,7 @@ jobs: steps: - run: | git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch ${{ github.ref_name }} + git switch ${{ github.head_ref }} cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 @@ -95,7 +95,7 @@ jobs: - run: | source /etc/profile git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch ${{ github.ref_name }} + git switch ${{ github.head_ref }} cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 @@ -115,7 +115,7 @@ jobs: - run: | source /etc/profile git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch ${{ github.ref_name }} + git switch ${{ github.head_ref }} cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 @@ -134,7 +134,7 @@ jobs: steps: - run: | git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch ${{ github.ref_name }} + git switch ${{ github.head_ref }} cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 @@ -154,7 +154,7 @@ jobs: - run: | set -e git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch ${{ github.ref_name }} + git switch ${{ github.head_ref }} cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 From 7f712d63ea66fe08fb0c82bb3c6a83070f1b7d6e Mon Sep 17 00:00:00 2001 From: HyperWin <92534013+HyperWinX@users.noreply.github.com> Date: Sun, 6 Apr 2025 10:22:11 +0400 Subject: [PATCH 21/26] Update distro-ci.yml --- .github/workflows/distro-ci.yml | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index 52a5df1d..ea862eee 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -9,14 +9,13 @@ jobs: fedora: runs-on: ubuntu-latest container: hyperwin/hcpu-ci:fedora - continue-on-error: true name: Build-Fedora steps: - run: | set -e git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch ${{ github.head_ref }} + git switch "${{ github.head_ref }}" cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 @@ -29,14 +28,13 @@ jobs: debian-stable: runs-on: ubuntu-latest container: hyperwin/hcpu-ci:debian-stable - continue-on-error: true name: Build-Debian-Stable steps: - run: | set -e git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch ${{ github.head_ref }} + git switch "${{ github.head_ref }}" cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 @@ -49,14 +47,13 @@ jobs: debian-unstable: runs-on: ubuntu-latest container: hyperwin/hcpu-ci:debian-unstable - continue-on-error: true name: Build-Debian-Unstable steps: - run: | set -e git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch ${{ github.head_ref }} + git switch "${{ github.head_ref }}" cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 @@ -69,13 +66,13 @@ jobs: archlinux: runs-on: ubuntu-latest container: hyperwin/hcpu-ci:archlinux - continue-on-error: true name: Build-Arch-Linux steps: - run: | + set -e git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch ${{ github.head_ref }} + git switch "${{ github.head_ref }}" cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 @@ -88,14 +85,14 @@ jobs: gentoo-glibc: runs-on: ubuntu-latest container: hyperwin/hcpu-ci:gentoo-glibc - continue-on-error: true name: Build-Gentoo-Glibc steps: - run: | + set -e source /etc/profile git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch ${{ github.head_ref }} + git switch "${{ github.head_ref }}" cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 @@ -108,14 +105,14 @@ jobs: gentoo-musl: runs-on: ubuntu-latest container: hyperwin/hcpu-ci:gentoo-musl - continue-on-error: true name: Build-Gentoo-Musl steps: - run: | + set -e source /etc/profile git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch ${{ github.head_ref }} + git switch "${{ github.head_ref }}" cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 @@ -128,13 +125,13 @@ jobs: alpine: runs-on: ubuntu-latest container: hyperwin/hcpu-ci:alpine - continue-on-error: true name: Build-Alpine steps: - run: | + set -e git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch ${{ github.head_ref }} + git switch "${{ github.head_ref }}" cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 @@ -147,14 +144,13 @@ jobs: ubuntu: runs-on: ubuntu-latest container: hyperwin/hcpu-ci:ubuntu - continue-on-error: true name: Build-Ubuntu steps: - run: | set -e git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch ${{ github.head_ref }} + git switch "${{ github.head_ref }}" cd dist/pog && git pull origin master && cd ../.. cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release cmake --build build --target run-all-tests-github -j8 From 54409fd9d07e548db008039e576c84d5af22c10f Mon Sep 17 00:00:00 2001 From: HyperWin <92534013+HyperWinX@users.noreply.github.com> Date: Sun, 6 Apr 2025 10:23:26 +0400 Subject: [PATCH 22/26] Update permissions --- .github/workflows/distro-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index ea862eee..9faef367 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -5,6 +5,9 @@ on: branches: - master +permissions: + contents: read + jobs: fedora: runs-on: ubuntu-latest From 839c6944492f3dad8d1b5390f5ee35deecd1c459 Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Sun, 6 Apr 2025 11:04:43 +0400 Subject: [PATCH 23/26] Use matrices for workflows --- .github/workflows/distro-ci.yml | 164 +++++--------------------------- 1 file changed, 24 insertions(+), 140 deletions(-) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index 9faef367..7290885d 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -9,146 +9,30 @@ permissions: contents: read jobs: - fedora: - runs-on: ubuntu-latest - container: hyperwin/hcpu-ci:fedora - name: Build-Fedora - - steps: - - run: | - set -e - git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch "${{ github.head_ref }}" - cd dist/pog && git pull origin master && cd ../.. - cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j8 - cmake --build build --target default -j8 - rm -rf build - cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j8 - cmake --build build --target default -j8 - - debian-stable: - runs-on: ubuntu-latest - container: hyperwin/hcpu-ci:debian-stable - name: Build-Debian-Stable - - steps: - - run: | - set -e - git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch "${{ github.head_ref }}" - cd dist/pog && git pull origin master && cd ../.. - cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j8 - cmake --build build --target default -j8 - rm -rf build - cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j8 - cmake --build build --target default -j8 - - debian-unstable: - runs-on: ubuntu-latest - container: hyperwin/hcpu-ci:debian-unstable - name: Build-Debian-Unstable - - steps: - - run: | - set -e - git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch "${{ github.head_ref }}" - cd dist/pog && git pull origin master && cd ../.. - cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j8 - cmake --build build --target default -j8 - rm -rf build - cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j8 - cmake --build build --target default -j8 - - archlinux: - runs-on: ubuntu-latest - container: hyperwin/hcpu-ci:archlinux - name: Build-Arch-Linux - - steps: - - run: | - set -e - git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch "${{ github.head_ref }}" - cd dist/pog && git pull origin master && cd ../.. - cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j8 - cmake --build build --target default -j8 - rm -rf build - cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j8 - cmake --build build --target default -j8 - - gentoo-glibc: - runs-on: ubuntu-latest - container: hyperwin/hcpu-ci:gentoo-glibc - name: Build-Gentoo-Glibc - - steps: - - run: | - set -e - source /etc/profile - git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch "${{ github.head_ref }}" - cd dist/pog && git pull origin master && cd ../.. - cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j8 - cmake --build build --target default -j8 - rm -rf build - cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j8 - cmake --build build --target default -j8 - - gentoo-musl: - runs-on: ubuntu-latest - container: hyperwin/hcpu-ci:gentoo-musl - name: Build-Gentoo-Musl - - steps: - - run: | - set -e - source /etc/profile - git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch "${{ github.head_ref }}" - cd dist/pog && git pull origin master && cd ../.. - cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j8 - cmake --build build --target default -j8 - rm -rf build - cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j8 - cmake --build build --target default -j8 - - alpine: - runs-on: ubuntu-latest - container: hyperwin/hcpu-ci:alpine - name: Build-Alpine - - steps: - - run: | - set -e - git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU - git switch "${{ github.head_ref }}" - cd dist/pog && git pull origin master && cd ../.. - cmake -S. -Bbuild -DHCPU_COMPILER=clang -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j8 - cmake --build build --target default -j8 - rm -rf build - cmake -S. -Bbuild -DHCPU_COMPILER=gcc -DHCPU_LTO=ON -DHCPU_SANITIZERS=OFF -DCMAKE_BUILD_TYPE=Release - cmake --build build --target run-all-tests-github -j8 - cmake --build build --target default -j8 - - ubuntu: - runs-on: ubuntu-latest - container: hyperwin/hcpu-ci:ubuntu - name: Build-Ubuntu - + build: + runs-on: ubuntu-latest + container: hyperwin/hcpu-ci:${{ matrix.config.tag }} + name: "Build on ${{matrix.config.name}}" + strategy: + matrix: + config: + - tag: fedora + name: Fedora + - tag: debian-stable + name: Debian Stable + - tag: debian-unstable + name: Debian Unstable + - tag: archlinux + name: Arch Linux + - tag: gentoo-glibc + name: Gentoo GLibc + - tag: gentoo-musl + name: Gentoo Musl + - tag: alpine + name: Alpine + - tag: ubuntu + name: Ubuntu + steps: - run: | set -e From 82198216d83b5de49ce0d5242ec13b63a7fc40c9 Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Sun, 6 Apr 2025 11:19:36 +0400 Subject: [PATCH 24/26] Fix matrix workflow --- .github/workflows/distro-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index 7290885d..8ea71613 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -36,6 +36,7 @@ jobs: steps: - run: | set -e + source /etc/profile git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU git switch "${{ github.head_ref }}" cd dist/pog && git pull origin master && cd ../.. From ff2daa66cc17d2e9359a2f40295f3db24942e966 Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Sun, 6 Apr 2025 11:34:03 +0400 Subject: [PATCH 25/26] Fix workflow --- .github/workflows/distro-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index 8ea71613..695dd44f 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -36,7 +36,8 @@ jobs: steps: - run: | set -e - source /etc/profile + DISTRO=$( cat /etc/*-release | tr [:upper:] [:lower:] | grep -Poi '(debian|ubuntu|fedora|gentoo|alpine)' | uniq ) + if [ "$DISTRO" == "Gentoo" ]; then source /etc/profile; fi git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU git switch "${{ github.head_ref }}" cd dist/pog && git pull origin master && cd ../.. From 7a72038ba3786ce061fe0834a7578be2a91a7e4b Mon Sep 17 00:00:00 2001 From: HyperWinX Date: Sun, 6 Apr 2025 11:37:00 +0400 Subject: [PATCH 26/26] Fix workflow --- .github/workflows/distro-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/distro-ci.yml b/.github/workflows/distro-ci.yml index 695dd44f..75c6c769 100644 --- a/.github/workflows/distro-ci.yml +++ b/.github/workflows/distro-ci.yml @@ -37,7 +37,7 @@ jobs: - run: | set -e DISTRO=$( cat /etc/*-release | tr [:upper:] [:lower:] | grep -Poi '(debian|ubuntu|fedora|gentoo|alpine)' | uniq ) - if [ "$DISTRO" == "Gentoo" ]; then source /etc/profile; fi + if [ "$DISTRO" == "gentoo" ]; then source /etc/profile; fi git clone https://github.com/HyperWinX/HyperCPU.git --recursive && cd HyperCPU git switch "${{ github.head_ref }}" cd dist/pog && git pull origin master && cd ../..