name: Build Alpine Package on: push: branches: [ master ] pull_request: branches: [ master ] env: PKG_VERSION: "2.2.0" PKG_RELEASE: "1" ABSEIL_VERSION: "20230125.3" jobs: build-alpine: runs-on: ubuntu-latest container: node:current-alpine steps: - name: Install Git run: | apk add --no-cache git - name: Checkout repository uses: actions/checkout@v3 with: submodules: recursive - name: Install Alpine Packaging Dependencies run: | apk update apk add alpine-sdk cmake clang llvm linux-headers zlib-dev zlib-static openssl-dev openssl-libs-static musl-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 - name: Build cpu-check Alpine Package run: | mkdir -p alpine_build && cd alpine_build cmake -DCMAKE_BUILD_TYPE=Release \ -DUSE_CLANG=ON \ -DBUILD_STATIC=ON \ .. make # Create package metadata mkdir -p pkg/APKBUILD cat > pkg/APKBUILD/APKBUILD << EOF # Contributor: Maintainer # Maintainer: Maintainer pkgname=cpu-check pkgver=${{ env.PKG_VERSION }} pkgrel=${{ env.PKG_RELEASE }} pkgdesc="CPU validation and stress testing tool" url="https://github.com/google/cpu-check" arch="x86_64" license="Apache-2.0" depends="" makedepends="cmake clang llvm linux-headers zlib-dev zlib-static openssl-dev openssl-libs-static musl-dev" source="" options="!check" EOF make apk - name: Upload cpu-check Alpine Package uses: actions/upload-artifact@v3 with: name: cpu-check-alpine path: alpine_build/*.apk - name: Upload to Gitea Alpine Package Registry if: github.event_name == 'push' && github.ref == 'refs/heads/master' run: | apk add --no-cache curl curl --user "eric:df299a6e592a8bd829d018b7816e76d03756408d" \ --upload-file alpine_build/cpu-check-${{ env.PKG_VERSION }}-r${{ env.PKG_RELEASE }}.apk \ "https://git.ericxliu.me/api/packages/eric/alpine/v3.17/main"