This commit is contained in:
77
.gitea/workflows/build.yml
Normal file
77
.gitea/workflows/build.yml
Normal file
@@ -0,0 +1,77 @@
|
||||
on: [push, pull_request]
|
||||
|
||||
name: Build
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
persist-credentials: true
|
||||
|
||||
- name: Checkout lfs
|
||||
run: |
|
||||
git lfs install --local
|
||||
AUTH=$(git config --local http.${{ github.server_url }}/.extraheader)
|
||||
git config --local --unset http.${{ github.server_url }}/.extraheader
|
||||
git config --local http.${{ github.server_url }}/${{ github.repository }}.git/info/lfs/objects/batch.extraheader "$AUTH"
|
||||
git lfs pull
|
||||
|
||||
- name: Apt update
|
||||
run: sudo apt update
|
||||
|
||||
- name: Installing build chain
|
||||
run: sudo apt-get install pigz ninja-build g++ clang pkg-config cmake libtbb-dev
|
||||
-y;
|
||||
|
||||
- name: Cache CPM
|
||||
uses: actions/cache@v5
|
||||
with:
|
||||
path: "~/.cache/CPM/"
|
||||
key: ${{ runner.os }}-CPM
|
||||
|
||||
- name: Configure debug
|
||||
run: mkdir -p build; mkdir -p build/debug; cd build/debug; cmake ../../ -G Ninja
|
||||
-DCMAKE_BUILD_TYPE=Debug;
|
||||
|
||||
- name: Configure Release
|
||||
run: mkdir -p build; mkdir -p build/Release; cd build/Release; cmake ../../ -G
|
||||
Ninja -DCMAKE_BUILD_TYPE=Release;
|
||||
|
||||
- name: Configure MinSizeRel
|
||||
run: mkdir -p build; mkdir -p build/minsizerel; cd build/minsizerel; cmake
|
||||
../../ -G Ninja -DCMAKE_BUILD_TYPE=MinSizeRel;
|
||||
|
||||
- name: Configure RelWithDeb
|
||||
run: mkdir -p build; mkdir -p build/relwithdeb; cd build/relwithdeb; cmake
|
||||
../../ -G Ninja -DCMAKE_BUILD_TYPE=RelWithDeb;
|
||||
|
||||
- name: Build debug
|
||||
run: cd build/debug; ninja;
|
||||
|
||||
- name: Build Release
|
||||
run: cd build/release; ninja;
|
||||
|
||||
- name: Build RelWithDeb
|
||||
run: cd build/relwithdeb; ninja;
|
||||
|
||||
- name: Build MinSizeRel
|
||||
run: cd build/MinSizeRel; ninja;
|
||||
|
||||
- name: Packaging
|
||||
run: |-
|
||||
tar -I 'pigz -9' -cf buildscript-debug-amd64.tar.gz --transform 's,^,build-script/,' build/debug LICENSE;
|
||||
tar -I 'pigz -9' -cf buildscript-release-amd64.tar.gz --transform 's,^,build-script/,' build/release LICENSE;
|
||||
tar -I 'pigz -9' -cf buildscript-relwithdeb-amd64.tar.gz --transform 's,^,build-script/,' build/relwithdeb LICENSE;
|
||||
tar -I 'pigz -9' -cf buildscript-minsizerel-amd64.tar.gz --transform 's,^,build-script/,' build/minsizerel LICENSE;
|
||||
|
||||
- uses: akkuman/gitea-release-action@v1
|
||||
with:
|
||||
files: |-
|
||||
buildscript-debug-amd64.tar.gz
|
||||
buildscript-release-amd64.tar.gz
|
||||
buildscript-relwithdeb-amd64.tar.gz
|
||||
buildscript-minsizerel-amd64.tar.gz
|
||||
Reference in New Issue
Block a user