Fix docs landing page #716
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
env: | |
BUILD_TYPE: Release | |
jobs: | |
build: | |
name: ${{matrix.config.name}} | |
runs-on: ${{matrix.config.os}} | |
permissions: | |
contents: write | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- { | |
name: "Ubuntu GCC", artifact: "riesling-linux.tar.gz", | |
os: ubuntu-22.04, | |
cc: "gcc-12", cxx: "g++-12" | |
} | |
- { | |
name: "macOS", artifact: "riesling-macos.tar.gz", | |
os: macos-12, | |
cc: "clang", cxx: "clang++" | |
} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: 'recursive' | |
- name: Install GNU tar | |
shell: bash | |
run: | | |
if [ "${{runner.os}}" == "macOS" ]; then | |
brew install gnu-tar | |
fi | |
- name: Restore vcpkg binary cache | |
id: cache | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cache/vcpkg/ | |
key: ${{runner.os}}-${{hashFiles( 'vcpkg.json' ) }}-${{hashFiles( '.git/modules/cmake/HEAD' )}}-vcpkg-cache | |
- name: Build | |
shell: bash | |
env: | |
CC: ${{matrix.config.cc}} | |
CXX: ${{matrix.config.cxx}} | |
run: | | |
TC="${{github.workspace}}/cmake/toolchain.cmake" | |
export VCPKG_OVERLAY_TRIPLETS="${{github.workspace}}/cmake/triplets" | |
export FLAGS="ci" | |
cd ${{github.workspace}} | |
cmake -B build -S . \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_TOOLCHAIN_FILE="$TC" | |
cmake --build build | |
- name: Setup python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
- name: Install python package | |
run: | | |
python -m pip install --upgrade pip | |
cd ${{github.workspace}}/python | |
python -m pip install . | |
- name: Tests | |
shell: bash | |
run: | | |
if [ "${{runner.os}}" != "macOS" ]; then # MacOS runners do not have AVX2, python tests do also only work under Ubuntu (unknown why) | |
cd ${{github.workspace}}/build | |
./riesling-tests | |
cd ${{github.workspace}}/python | |
export PATH="${{github.workspace}}/build/:$PATH" | |
python -m unittest | |
fi | |
- name: Tarball | |
run: | | |
cd ${{github.workspace}} | |
mv ./build/riesling ./ | |
ALL="riesling" | |
if [ "${{runner.os}}" == "macOS" ]; then | |
echo "Using GNU tar" | |
gtar -cvzf ${{matrix.config.artifact}} $ALL | |
else | |
echo "Using system tar" | |
tar -cvzf ${{matrix.config.artifact}} $ALL | |
fi | |
shell: bash | |
- name: Release | |
if: contains(github.ref, 'tags/v') | |
uses: ncipollo/release-action@v1 | |
with: | |
allowUpdates: true | |
artifacts: ${{github.workspace}}/${{matrix.config.artifact}} | |
artifactErrorsFailBuild: true | |
bodyFile: CHANGES.md | |
draft: true |