Files
cpu-check/.github/workflows/build.yml
Eric Liu a933bcfd7a
All checks were successful
Build / build (push) Successful in 2m4s
Simplify static linking configuration in build workflow
- Remove redundant static linking CMake flags
- Streamline build configuration for Clang compilation
- Reduce complexity of static build settings
2025-01-28 07:57:51 +00:00

85 lines
2.5 KiB
YAML

name: Build
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
PKG_VERSION: "2.1.0"
PKG_RELEASE: "1"
ABSEIL_VERSION: "20230125.3"
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
submodules: recursive
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential cmake clang checkinstall zlib1g-dev musl-tools libstdc++-11-dev libgcc-11-dev libc6-dev
- name: Build Static Abseil
run: |
git clone https://github.com/abseil/abseil-cpp.git
cd abseil-cpp
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DABSL_BUILD_TESTING=OFF \
-DABSL_USE_GOOGLETEST_HEAD=OFF \
-DCMAKE_CXX_STANDARD=17 \
-DBUILD_SHARED_LIBS=OFF \
..
make -j$(nproc)
make install
ldconfig
- name: Configure the project
run: |
mkdir build; cd build
CC=clang CXX=clang++ cmake -DCMAKE_BUILD_TYPE=Release \
-DUSE_CLANG=ON \
-DBUILD_STATIC=ON \
..
- name: Build the project
run: |
cd build
make
- name: Create Debian Package
run: |
cd build
sudo checkinstall --pkgname=cpu-check \
--pkgversion=${{ env.PKG_VERSION }} \
--pkgrelease=${{ env.PKG_RELEASE }} \
--maintainer="maintainer@example.com" \
--requires="" \
--default \
--pakdir=. \
--backup=no \
--deldoc=yes \
--deldesc=yes \
--delspec=yes \
make install
- name: Upload Debian Package
uses: actions/upload-artifact@v3
with:
name: cpu-check-deb
path: build/*.deb
- name: Upload to Gitea Package Registry
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
run: |
curl --user "eric:df299a6e592a8bd829d018b7816e76d03756408d" \
--upload-file build/cpu-check_${{ env.PKG_VERSION }}-${{ env.PKG_RELEASE }}_amd64.deb \
"https://git.ericxliu.me/api/packages/eric/debian/pool/bionic/main/upload"