Add CUDA workflow and proof of concept #1
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
# Copyright 2020 Evan Miller | |
# Copyright 2020 Matt Borland | |
# Distributed under the Boost Software License, Version 1.0. | |
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) | |
name: CUDA | |
on: | |
push: | |
branches: | |
- master | |
- develop | |
- feature/** | |
pull_request: | |
release: | |
types: [published, created, edited] | |
concurrency: | |
group: ${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
ubuntu-noble: | |
runs-on: gpu-runner-1 | |
strategy: | |
fail-fast: false | |
matrix: | |
compiler: [ cuda ] | |
standard: [ c++17 ] | |
suite: [ github_ci_block_1, github_ci_block_2 ] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: '0' | |
- name: Set TOOLSET | |
run: echo ${{ matrix.compiler }} | awk '/^g/ { print "TOOLSET=gcc" } /^clang/ { print "TOOLSET=clang" }' >> $GITHUB_ENV | |
- name: Add repository | |
continue-on-error: true | |
id: addrepo | |
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test" | |
- name: Retry Add Repo | |
continue-on-error: true | |
id: retry1 | |
if: steps.addrepo.outcome=='failure' | |
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test" | |
- name: Retry Add Repo 2 | |
continue-on-error: true | |
id: retry2 | |
if: steps.retry1.outcome=='failure' | |
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test" | |
- name: Install packages | |
run: sudo apt-get install -y libgmp-dev libmpfr-dev libfftw3-dev | |
- name: Checkout main boost | |
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root | |
- name: Update tools/boostdep | |
run: git submodule update --init tools/boostdep | |
working-directory: ../boost-root | |
- name: Copy files | |
run: cp -r $GITHUB_WORKSPACE/* libs/math | |
working-directory: ../boost-root | |
- name: Install deps | |
run: python tools/boostdep/depinst/depinst.py math -I example -I tools | |
working-directory: ../boost-root | |
- name: Bootstrap | |
run: ./bootstrap.sh | |
working-directory: ../boost-root | |
- name: Generate headers | |
run: ./b2 headers | |
working-directory: ../boost-root | |
- name: Generate user config | |
run: 'echo "using $TOOLSET : : ${{ matrix.compiler }} : <cxxflags>-std=${{ matrix.standard }} ;" > ~/user-config.jam' | |
working-directory: ../boost-root | |
- name: Config info install | |
run: ../../../b2 config_info_travis_install toolset=$TOOLSET | |
working-directory: ../boost-root/libs/config/test | |
- name: Config info | |
run: ./config_info_travis | |
working-directory: ../boost-root/libs/config/test | |
- name: Test | |
run: ../../../b2 toolset=$TOOLSET ${{ matrix.suite }} define=CI_SUPPRESS_KNOWN_ISSUES define=SLOW_COMPILER define=BOOST_MATH_RUN_MP_TESTS | |
working-directory: ../boost-root/libs/math/test |