74 lines
2.4 KiB
YAML
74 lines
2.4 KiB
YAML
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 libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libwayland-dev libxkbcommon-dev ninja-build g++ clang pkg-config cmake vulkan-tools vulkan-validationlayers glslc libglfw3 libglfw3-dev libtbb-dev -y;
|
|
|
|
- name: Cache CPM
|
|
uses: actions/cache@v5
|
|
with:
|
|
path: "~/.cache/CPM/"
|
|
key: ${{ runner.os }}-CPM
|
|
|
|
- name: Install Vulkan SDK
|
|
uses: jakoch/install-vulkan-sdk-action@v1
|
|
|
|
- name: Configure debug
|
|
run: cd scripts; CPM_SOURCE_CACHE="~/.cache/CPM/" ./configure-debug.sh
|
|
|
|
- name: Configure release
|
|
run: cd scripts; CPM_SOURCE_CACHE="~/.cache/CPM/" ./configure-release.sh
|
|
|
|
- name: Configure RelWithDeb
|
|
run: cd scripts; CPM_SOURCE_CACHE="~/.cache/CPM/" ./configure-relwithdeb.sh
|
|
|
|
- name: Build debug
|
|
run: cd scripts; ./build-debug.sh
|
|
|
|
- name: Build release
|
|
run: cd scripts; ./build-release.sh
|
|
|
|
- name: Build Release with debug info
|
|
run: cd scripts; ./build-relwithdeb.sh
|
|
|
|
- name: Copy assets
|
|
run: |-
|
|
cp -r build/debug/assets bin/Debug;
|
|
cp -r build/release/assets bin/Release;
|
|
cp -r build/relwithdeb/assets bin/RelWithDeb;
|
|
|
|
- name: Packaging
|
|
run: |-
|
|
tar -I 'pigz -9' -cf oatmeal-debug-amd64.tar.gz bin/Debug;
|
|
tar -I 'pigz -9' -cf oatmeal-rel-amd64.tar.gz bin/Release;
|
|
tar -I 'pigz -9' -cf oatmeal-relwithdeb-amd64.tar.gz bin/Relwithdeb;
|
|
|
|
- uses: akkuman/gitea-release-action@v1
|
|
with:
|
|
files: |-
|
|
oatmeal-debug-amd64.tar.gz
|
|
oatmeal-rel-amd64.tar.gz
|
|
oatmeal-relwithdeb-amd64.tar.gz
|