chore: add github action workflows
This commit is contained in:
18
.github/macos_build.sh
vendored
Normal file
18
.github/macos_build.sh
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Create build directory and enter it
|
||||
mkdir bin
|
||||
cd bin
|
||||
# Create internal build and install directory, then enter it
|
||||
mkdir build
|
||||
mkdir install
|
||||
cd build
|
||||
|
||||
# Build in Release mode
|
||||
cmake -DCMAKE_BUILD_TYPE=Release ../..
|
||||
cmake --build .
|
||||
cmake --install . --prefix=../install
|
||||
|
||||
# Back to root directory
|
||||
cd ..
|
||||
cd ..
|
||||
2
.github/windows_build.bat
vendored
2
.github/windows_build.bat
vendored
@@ -11,7 +11,7 @@ CD build
|
||||
:: Build with x64 architecture in Release mode
|
||||
cmake -A x64 ../..
|
||||
cmake --build . --config Release
|
||||
cmake --install . --prefix=../install --config Relese
|
||||
cmake --install . --prefix=../install --config Release
|
||||
|
||||
:: Back to root directory
|
||||
CD ..
|
||||
|
||||
46
.github/workflows/linux.yml
vendored
Normal file
46
.github/workflows/linux.yml
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
name: YYCC Linux Build
|
||||
|
||||
on: [workflow_dispatch]
|
||||
|
||||
jobs:
|
||||
linux-build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y build-essential cmake git
|
||||
# - name: Setup Google Test and Google Benchmark
|
||||
# run: |
|
||||
# # Setup Google Test
|
||||
# git clone -b v1.17.0 https://github.com/google/googletest.git external/googletest
|
||||
# cd external/googletest
|
||||
# mkdir build install
|
||||
# cd build
|
||||
# cmake -DCMAKE_CXX_STANDARD=23 -Dgtest_force_shared_crt=ON -DCMAKE_BUILD_TYPE=Release ..
|
||||
# cmake --build .
|
||||
# cmake --install . --prefix=../install
|
||||
# cd ../..
|
||||
# # Setup Google Benchmark
|
||||
# git clone -b v1.9.4 https://github.com/google/benchmark.git external/benchmark
|
||||
# cd external/benchmark
|
||||
# # Create symlink to googletest as required by benchmark
|
||||
# ln -s ../googletest googletest
|
||||
# mkdir build install
|
||||
# cd build
|
||||
# cmake -DCMAKE_CXX_STANDARD=23 -DBENCHMARK_ENABLE_TESTING=OFF -DCMAKE_BUILD_TYPE=Release ..
|
||||
# cmake --build .
|
||||
# cmake --install . --prefix=../install
|
||||
# cd ../..
|
||||
- name: Build YYCC
|
||||
run: |
|
||||
./.github/linux_build.sh
|
||||
- name: Upload Built Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: YYCC-linux-build
|
||||
path: bin/install/*
|
||||
retention-days: 30
|
||||
42
.github/workflows/macos.yml
vendored
Normal file
42
.github/workflows/macos.yml
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
name: YYCC macOS Build
|
||||
|
||||
on: [workflow_dispatch]
|
||||
|
||||
jobs:
|
||||
macos-build:
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
# - name: Setup Google Test and Google Benchmark
|
||||
# run: |
|
||||
# # Setup Google Test
|
||||
# git clone -b v1.17.0 https://github.com/google/googletest.git external/googletest
|
||||
# cd external/googletest
|
||||
# mkdir build install
|
||||
# cd build
|
||||
# cmake -DCMAKE_CXX_STANDARD=23 -Dgtest_force_shared_crt=ON -DCMAKE_BUILD_TYPE=Release ..
|
||||
# cmake --build .
|
||||
# cmake --install . --prefix=../install
|
||||
# cd ../..
|
||||
# # Setup Google Benchmark
|
||||
# git clone -b v1.9.4 https://github.com/google/benchmark.git external/benchmark
|
||||
# cd external/benchmark
|
||||
# # Create symlink to googletest as required by benchmark
|
||||
# ln -s ../googletest googletest
|
||||
# mkdir build install
|
||||
# cd build
|
||||
# cmake -DCMAKE_CXX_STANDARD=23 -DBENCHMARK_ENABLE_TESTING=OFF -DCMAKE_BUILD_TYPE=Release ..
|
||||
# cmake --build .
|
||||
# cmake --install . --prefix=../install
|
||||
# cd ../..
|
||||
- name: Build YYCC
|
||||
run: |
|
||||
./.github/macos_build.sh
|
||||
- name: Upload Built Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: YYCC-macos-build
|
||||
path: bin/install/*
|
||||
retention-days: 30
|
||||
35
.github/workflows/nightly.yml.disabled
vendored
35
.github/workflows/nightly.yml.disabled
vendored
@@ -1,35 +0,0 @@
|
||||
name: YYCC Nightly Build
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
msvc-build:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
vs: ['2019']
|
||||
msvc_arch: ['x86']
|
||||
|
||||
runs-on: windows-2019
|
||||
|
||||
steps:
|
||||
- name: Fetching Repository
|
||||
uses: actions/checkout@v3
|
||||
- name: Building YYCC
|
||||
shell: cmd
|
||||
run: |
|
||||
set VS=${{ matrix.vs }}
|
||||
set VCVARS="C:\Program Files (x86)\Microsoft Visual Studio\%VS%\Enterprise\VC\Auxiliary\Build\vcvarsall.bat"
|
||||
if not exist %VCVARS% set VCVARS="C:\Program Files\Microsoft Visual Studio\%VS%\Enterprise\VC\Auxiliary\Build\vcvarsall.bat"
|
||||
call %VCVARS% ${{ matrix.msvc_arch }}
|
||||
.\script\build.bat
|
||||
- name: Uploading Nightly Build
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: YYCC-windows-nightly
|
||||
path: bin/install/*
|
||||
retention-days: 30
|
||||
55
.github/workflows/windows.yml
vendored
Normal file
55
.github/workflows/windows.yml
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
name: YYCC Windows Build
|
||||
|
||||
on: [workflow_dispatch]
|
||||
|
||||
jobs:
|
||||
windows-build:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- vs: '2022'
|
||||
msvc_arch: 'x64'
|
||||
|
||||
runs-on: windows-2022
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
# - name: Setup Google Test and Google Benchmark
|
||||
# run: |
|
||||
# # Setup Google Test
|
||||
# git clone -b v1.17.0 https://github.com/google/googletest.git external/googletest
|
||||
# cd external/googletest
|
||||
# mkdir build install
|
||||
# cd build
|
||||
# cmake -DCMAKE_CXX_STANDARD=23 -Dgtest_force_shared_crt=ON -DCMAKE_BUILD_TYPE=Release ..
|
||||
# cmake --build . --config Release
|
||||
# cmake --install . --prefix=../install --config Release
|
||||
# cd ../..
|
||||
# # Setup Google Benchmark
|
||||
# git clone -b v1.9.4 https://github.com/google/benchmark.git external/benchmark
|
||||
# cd external/benchmark
|
||||
# # Create symlink to googletest as required by benchmark
|
||||
# mklink /D googletest ../googletest
|
||||
# mkdir build install
|
||||
# cd build
|
||||
# cmake -DCMAKE_CXX_STANDARD=23 -DBENCHMARK_ENABLE_TESTING=OFF -DCMAKE_BUILD_TYPE=Release ..
|
||||
# cmake --build . --config Release
|
||||
# cmake --install . --prefix=../install --config Release
|
||||
# cd ../..
|
||||
- name: Build YYCC
|
||||
shell: cmd
|
||||
run: |
|
||||
set VS=${{ matrix.vs }}
|
||||
set VCVARS="C:\Program Files (x86)\Microsoft Visual Studio\%VS%\Enterprise\VC\Auxiliary\Build\vcvarsall.bat"
|
||||
if not exist %VCVARS% set VCVARS="C:\Program Files\Microsoft Visual Studio\%VS%\Enterprise\VC\Auxiliary\Build\vcvarsall.bat"
|
||||
call %VCVARS% ${{ matrix.msvc_arch }}
|
||||
.\.github\windows_build.bat
|
||||
- name: Upload Built Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: YYCC-windows-build
|
||||
path: bin/install/*
|
||||
retention-days: 30
|
||||
|
||||
Reference in New Issue
Block a user