1
0
Files
YYCCommonplace/.github/workflows/linux.yml

66 lines
1.8 KiB
YAML

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
shell: bash
run: |
sudo apt update
sudo apt install -y build-essential cmake git
- name: Fetch Google Test
uses: actions/checkout@v4
with:
repository: 'google/googletest'
ref: 'v1.17.0'
path: 'extern/googletest'
- name: Build Google Test
shell: bash
run: |
cd extern/googletest
# Build Google Test
source ../../.github/scripts/gtest/linux.sh
# Record environment variable
echo "GTest_ROOT=$GTest_ROOT" >> "$GITHUB_ENV"
cd ../..
- name: Fetch Google Benchmark
uses: actions/checkout@v4
with:
repository: 'google/benchmark'
ref: 'v1.9.4'
path: 'extern/benchmark'
- name: Build Google Benchmark
shell: bash
run: |
cd extern/benchmark
# Create symlink to googletest as required by benchmark
ln -s ../googletest googletest
# Build Google Benchmark
source ../../.github/scripts/gbenchmark/linux.sh
# Record environment variable
echo "benchmark_ROOT=$benchmark_ROOT" >> "$GITHUB_ENV"
cd ../..
- name: Build YYCC
shell: bash
run: |
source ./.github/scripts/linux.sh
- name: Run YYCC Test
shell: bash
run: |
./bin/install/bin/YYCCTest
- name: Run YYCC Benchmark
shell: bash
run: |
./bin/install/bin/YYCCBenchmark
- name: Upload Built Artifact
uses: actions/upload-artifact@v4
with:
name: YYCC-linux-build
path: bin/install/*
retention-days: 30