Skip to content

Commit

Permalink
ALP CLI
Browse files Browse the repository at this point in the history
  • Loading branch information
azimafroozeh committed Dec 10, 2024
1 parent 3b6af7f commit 1148d3f
Showing 1 changed file with 40 additions and 75 deletions.
115 changes: 40 additions & 75 deletions .github/workflows/CI.yaml
Original file line number Diff line number Diff line change
@@ -1,123 +1,88 @@
name: CI
name: ALP CI
run-name: ${{ github.actor }} is running the ALP CI

on: push

jobs:
# Format Check Job
check-format:
runs-on: ubuntu-latest
steps:
- name: Echo Build
run: echo "todo"

build:
needs:
- check-format
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: true
matrix:
platform: [ubuntu-latest, macos-latest]
BUILD_TYPE: [Debug, Release]
cxx: [clang++]

steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4

- name: Make Build Directory
run: mkdir ${{ github.workspace }}/build

- name: Configure CMake
run: cmake -S ${{ github.workspace }} -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ matrix.BUILD_TYPE }}
env:
CXX: ${{ matrix.cxx }}

- name: Build
run: cmake --build ${{ github.workspace }}/build -j 16
- name: Check Code Format
run: echo "TODO: Add code formatting check (e.g., clang-format)"

test:
needs:
- build
# Build and Test Job
build-and-test:
needs: check-format
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: true
matrix:
platform: [ubuntu-latest, macos-latest]
BUILD_TYPE: [Debug, Release]
build_type: [Debug, Release]
cxx: [clang++]

steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4

- name: Make Build Directory
run: mkdir ${{ github.workspace }}/build
- name: Set Up CMake
run: mkdir build

- name: Configure CMake
run: cmake -DALP_BUILD_TESTING=ON -DALP_ENABLE_VERBOSE_OUTPUT=ON -S ${{ github.workspace }} -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ matrix.BUILD_TYPE }}
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
env:
CXX: ${{ matrix.cxx }}

- name: Build
run: cmake --build ${{ github.workspace }}/build -j 16
- name: Build Project
run: cmake --build build -j 16

- name: Test
working-directory: ${{ github.workspace }}/build
run: ctest -j 4 --rerun-failed --output-on-failure
- name: Run Tests
working-directory: build
run: ctest --output-on-failure -j 16

build_benchmark:
needs:
- test
# Benchmarking Job
build-benchmark:
needs: build-and-test
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: true
matrix:
platform: [ubuntu-latest, macos-latest]
BUILD_TYPE: [Release]
build_type: [Release]
cxx: [clang++]

steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4

- name: Make Build Directory
run: mkdir ${{ github.workspace }}/build
- name: Set Up CMake
run: mkdir build

- name: Configure CMake
run: cmake -DALP_BUILD_BENCHMARKING=ON -S ${{ github.workspace }} -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ matrix.BUILD_TYPE }}
- name: Configure CMake with Benchmarking
run: cmake -S . -B build -DALP_BUILD_BENCHMARKING=ON -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
env:
CXX: ${{ matrix.cxx }}

- name: Build
run: cmake --build ${{ github.workspace }}/build -j 16

- name: Test
working-directory: ${{ github.workspace }}/build
run: ctest -j 4

build_full_dataset:
needs:
- test
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: true
matrix:
platform: [ubuntu-latest, macos-latest]
BUILD_TYPE: [Release]
cxx: [clang++]
- name: Build Project
run: cmake --build build -j 16

# Publication Job
build-publication:
needs: build-and-test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4

- name: Make Build Directory
run: mkdir ${{ github.workspace }}/build
- name: Set Up CMake
run: mkdir build

- name: Configure CMake
run: cmake -DALP_BUILD_BENCHMARKING=ON -S ${{ github.workspace }} -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ matrix.BUILD_TYPE }}
env:
CXX: ${{ matrix.cxx }}
- name: Configure CMake with Publication
run: cmake -S . -B build -DALP_BUILD_PUBLICATION=ON -DCMAKE_BUILD_TYPE=Release

- name: Build Publication
run: cmake --build build -j 16

- name: Build
run: cmake --build ${{ github.workspace }}/build -j 16
- name: Run Publication Tests
working-directory: build
run: ./publication/run_all_publication_tests

0 comments on commit 1148d3f

Please sign in to comment.