101 lines
2.6 KiB
YAML
101 lines
2.6 KiB
YAML
# Copyright (c) 2010-2025, Lawrence Livermore National Security, LLC. Produced
|
|
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
|
|
# LICENSE and NOTICE for details. LLNL-CODE-806117.
|
|
#
|
|
# This file is part of the MFEM library. For more information and source code
|
|
# availability visit https://mfem.org.
|
|
#
|
|
# MFEM is free software; you can redistribute it and/or modify it under the
|
|
# terms of the BSD-3 license. We welcome feedback and contributions, see file
|
|
# CONTRIBUTING.md for details.
|
|
|
|
name: "Build Analysis"
|
|
|
|
permissions:
|
|
actions: write
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
- next
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
env:
|
|
HYPRE_ARCHIVE: v2.19.0.tar.gz
|
|
HYPRE_TOP_DIR: hypre-2.19.0
|
|
METIS_ARCHIVE: metis-4.0.3.tar.gz
|
|
METIS_TOP_DIR: metis-4.0.3
|
|
COVERAGE_ENV: mfem-coverage
|
|
|
|
jobs:
|
|
gitignore:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: checkout MFEM
|
|
uses: actions/checkout@v4
|
|
with:
|
|
path: mfem
|
|
|
|
- name: Get MPI (Linux)
|
|
run: |
|
|
sudo apt-get install openmpi-bin libopenmpi-dev
|
|
export OMPI_MCA_rmaps_base_oversubscribe=1
|
|
|
|
- name: Cache Hypre Install
|
|
id: hypre-cache
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ${{ env.HYPRE_TOP_DIR }}
|
|
key: ${{ runner.os }}-ompi-build-${{ env.HYPRE_TOP_DIR }}-v2.5
|
|
|
|
- name: Get Hypre
|
|
if: steps.hypre-cache.outputs.cache-hit != 'true'
|
|
uses: mfem/github-actions/build-hypre@v2.5
|
|
with:
|
|
archive: ${{ env.HYPRE_ARCHIVE }}
|
|
dir: ${{ env.HYPRE_TOP_DIR }}
|
|
target: int32
|
|
|
|
- name: Cache Metis Install
|
|
id: metis-cache
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ${{ env.METIS_TOP_DIR }}
|
|
key: ${{ runner.os }}-build-${{ env.METIS_TOP_DIR }}-v2.5
|
|
|
|
- name: Install Metis
|
|
if: steps.metis-cache.outputs.cache-hit != 'true'
|
|
uses: mfem/github-actions/build-metis@v2.5
|
|
with:
|
|
archive: ${{ env.METIS_ARCHIVE }}
|
|
dir: ${{ env.METIS_TOP_DIR }}
|
|
|
|
# MFEM build and test
|
|
- name: build-mfem
|
|
uses: mfem/github-actions/build-mfem@v2.5
|
|
with:
|
|
os: ${{ runner.os }}
|
|
target: opt
|
|
codecov: NO
|
|
mpi: par
|
|
build-system: make
|
|
hypre-dir: ${{ env.HYPRE_TOP_DIR }}
|
|
metis-dir: ${{ env.METIS_TOP_DIR }}
|
|
mfem-dir: mfem
|
|
|
|
- name: test (no clean)
|
|
run: |
|
|
cd mfem && make test-noclean
|
|
|
|
- name: gitignore
|
|
run: |
|
|
cd mfem/tests/scripts
|
|
./runtest gitignore
|