Update order of versions in documentation #47
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: CD Build | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
build: | |
name: ${{ format('Nightly ({0})', matrix.config.name) }} | |
runs-on: ${{ matrix.config.os }} | |
timeout-minutes: 30 | |
env: | |
CC: ${{ matrix.config.cc }} | |
CXX: ${{ matrix.config.cxx }} | |
FC: ${{ matrix.config.fc }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- { | |
name: "Linux-x86_64", | |
os: ubuntu-20.04, | |
cc: "gcc-10", cxx: "g++-10", fc: "gfortran-10", python: "python" | |
} | |
- { | |
name: "macOS-x86_64", | |
os: macos-12, | |
cc: "gcc-12", cxx: "g++-12", fc: "gfortran-12", python: "python3", xcode_path: "/Applications/Xcode_14.2.app/Contents/Developer" | |
} | |
- { | |
name: "macOS-arm64", | |
os: macos-14, | |
cc: "gcc-13", cxx: "g++-13", fc: "gfortran-13", python: "python3", xcode_path: "/Applications/Xcode_15.4.app/Contents/Developer" | |
} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Cache external libraries | |
id: cache-ext-libs | |
uses: actions/cache@v4 | |
with: | |
path: libs | |
key: ${{ matrix.config.os }}-nightly-${{ hashFiles('src/utilities/build_libs.py') }} | |
- name: Get OS version (Linux) | |
if: startsWith(matrix.config.os, 'ubuntu') | |
run: lsb_release -d | |
- name: Get OS version (macOS) | |
if: startsWith(matrix.config.os, 'macos') | |
run: | | |
sw_vers -productVersion | |
pkgutil --pkg-info=com.apple.pkg.CLTools_Executables | |
sudo xcode-select -s ${{ matrix.config.xcode_path }} | |
xcode-select -p | |
- name: Check compilers | |
run: | | |
$CC --version | |
$CXX --version | |
$FC --version | |
- name: Create build dir | |
if: ${{ steps.cache-ext-libs.outputs.cache-hit != 'true' }} | |
run: mkdir libs | |
- name: Build external (Linux) | |
if: startsWith(matrix.config.os, 'ubuntu') | |
shell: bash | |
working-directory: libs | |
run: > | |
${{ matrix.config.python }} ../src/utilities/build_libs.py --no_dl_progress --nthread=2 | |
--build_umfpack=1 --build_arpack=1 --oblas_dynamic_arch --oft_package | |
- name: Build external (macOS) | |
if: startsWith(matrix.config.os, 'macos') | |
shell: bash | |
working-directory: libs | |
run: > | |
${{ matrix.config.python }} ../src/utilities/build_libs.py --no_dl_progress --nthread=2 | |
--build_umfpack=1 --build_arpack=1 --oft_package | |
- name: Upload library failure log | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: Library failure log | |
path: libs/build/build_error.log | |
- name: Remove external build directory | |
shell: bash | |
working-directory: libs | |
run: rm -rf build | |
- name: Configure OFT | |
shell: bash | |
working-directory: libs | |
run: bash config_cmake.sh | |
- name: Build OFT | |
shell: bash | |
working-directory: libs/build_release | |
run: make | |
- name: Install OFT | |
shell: bash | |
working-directory: libs/build_release | |
run: make install | |
- name: Package OFT | |
shell: bash | |
working-directory: libs/build_release | |
run: make package | |
- name: Upload package artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.config.name }}-${{ github.sha }} | |
path: libs/build_release/OpenFUSIONToolkit_* | |
overwrite: true |