add capstone builds to self-hosted CI/CD #141
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: simmetrx_enabled_pr_comment_trigger_self_hosted | |
# Controls when the workflow will run | |
on: | |
issue_comment: | |
types: [created] | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
jobs: | |
build_and_test: | |
permissions: | |
contents: read | |
# The type of runner that the job will run on | |
runs-on: self-hosted | |
if: | | |
github.event.issue.pull_request && | |
contains(github.event.comment.body, '/runtests') && | |
((github.event.comment.user.login == 'cwsmith') || | |
(github.event.comment.user.login == 'jacobmerson')) | |
steps: | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- uses: actions/checkout@v4 | |
with: | |
ref: refs/pull/${{ github.event.issue.number }}/head | |
submodules: recursive | |
path: 'core_${{ github.event.issue.number }}' | |
- name: build_sim | |
id: build_sim | |
shell: bash | |
run: | | |
set +e #avoid exiting when lua modules return non-zero on 'warning' messages | |
source /etc/profile #provides module command | |
module use /opt/scorec/spack/rhel9/v0201_4/lmod/linux-rhel9-x86_64/Core/ | |
module load gcc/12.3.0-iil3lno | |
module load mpich/4.1.1-xpoyz4t | |
module load simmetrix-simmodsuite/2024.0-240119dev-7abimo4 | |
module load zoltan/3.83-hap4ggo | |
module load cmake/3.26.3-2duxfcd | |
set -e | |
cmake -S core_${{ github.event.issue.number }} \ | |
-B ${RUNNER_TEMP}/buildSim \ | |
-DCMAKE_CXX_COMPILER=mpicxx \ | |
-DCMAKE_C_COMPILER=mpicc \ | |
-DCMAKE_VERBOSE_MAKEFILE=ON \ | |
-DENABLE_ZOLTAN=ON \ | |
-DENABLE_SIMMETRIX=ON \ | |
-DSIM_MPI=mpich4.1.1 \ | |
-DSIM_PARASOLID=ON \ | |
-DSIM_ACIS=ON \ | |
-DSKIP_SIMMETRIX_VERSION_CHECK=ON \ | |
-DMESHES=${{github.workspace}}/core_${{ github.event.issue.number }}/pumi-meshes \ | |
-DIS_TESTING=ON \ | |
-DSCOREC_CXX_WARNINGS=ON \ | |
-DCMAKE_BUILD_TYPE=Release | |
cmake --build ${RUNNER_TEMP}/buildSim -j 4 | |
ctest --test-dir ${RUNNER_TEMP}/buildSim --output-on-failure | |
- name: build_sim_cgns | |
id: build_sim_cgns | |
shell: bash | |
run: | | |
set +e #avoid exiting when lua modules return non-zero on 'warning' messages | |
source /etc/profile #provides module command | |
module use /opt/scorec/spack/rhel9/v0201_4/lmod/linux-rhel9-x86_64/Core/ | |
module load gcc/12.3.0-iil3lno | |
module load mpich/4.1.1-xpoyz4t | |
module load simmetrix-simmodsuite/2024.0-240119dev-7abimo4 | |
module load zoltan/3.83-hap4ggo | |
module load cmake/3.26.3-2duxfcd | |
module load cgns/develop-cc4dfwp | |
set -e | |
cmake -S core_${{ github.event.issue.number }} \ | |
-B ${RUNNER_TEMP}/buildSimCgns\ | |
-DCMAKE_CXX_COMPILER=mpicxx \ | |
-DCMAKE_C_COMPILER=mpicc \ | |
-DCMAKE_VERBOSE_MAKEFILE=ON \ | |
-DENABLE_ZOLTAN=ON \ | |
-DENABLE_SIMMETRIX=ON \ | |
-DSIM_MPI=mpich4.1.1 \ | |
-DSIM_PARASOLID=ON \ | |
-DENABLE_CGNS=on \ | |
-DSIM_ACIS=ON \ | |
-DSKIP_SIMMETRIX_VERSION_CHECK=ON \ | |
-DMESHES=${{github.workspace}}/core_${{ github.event.issue.number }}/pumi-meshes \ | |
-DIS_TESTING=ON \ | |
-DSCOREC_CXX_WARNINGS=ON \ | |
-DCMAKE_BUILD_TYPE=Release | |
cmake --build ${RUNNER_TEMP}/buildSimCgns -j 4 | |
ctest --test-dir ${RUNNER_TEMP}/buildSimCgns --output-on-failure | |
- name: Save Result Link | |
if: ${{ !cancelled() }} #prepare report unless the job was cancelled | |
run: | | |
mkdir -p ./pr | |
echo "${{ github.event.issue.number }}" > ./pr/issueNumber | |
message=$(cat << HEREDOC | |
[Build Log](https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}) | |
Simmetrix Test Result: ${{steps.build_sim.outcome}} | |
Simmetrix + CGNS Test Result: ${{steps.build_sim_cgns.outcome}} | |
HEREDOC | |
) | |
echo "$message" > ./pr/message | |
- name: Upload result | |
if: ${{ !cancelled() }} #upload unless the job was cancelled | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pr | |
path: pr/ |