Skip to content

Merge pull request #669 from lukemartinlogan/dev #2029

Merge pull request #669 from lukemartinlogan/dev

Merge pull request #669 from lukemartinlogan/dev #2029

Workflow file for this run

# CodeCoverage result can be found at https://coveralls.io/github/HDFGroup/hermes
name: GitHub Actions
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
pull_request:
branches: [ master ]
workflow_dispatch:
inputs:
debug_enabled:
description: 'Run the build with tmate debugging enabled'
required: false
default: false
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Debug
LOCAL: local
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
build:
# The type of runner that the job will run on
runs-on: ubuntu-20.04
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v4
- name: Run cpplint
run: pip install cpplint==1.5.4 && bash ci/lint.sh `pwd`
- name: Cache Spack packages
uses: actions/cache@v3
id: spack-cache
with:
path: |
~/spack
~/.spack
key: ${{ runner.os }}-${{ hashFiles('ci/install_deps.sh') }}
- name: Cache Hermes
uses: actions/cache@v3
id: hermes-cache
with:
path: |
~/build
key: ${{ runner.os }}-${{ hashFiles('wrapper', 'test', 'tasks', 'src', 'include', 'hrun', 'hermes_adapters', 'benchmark') }}
- name: Install APT Dependencies
run: |
sudo apt update
sudo apt-get install -y docker
- name: Build And Install Dependencies
# if: steps.spack-cache.outputs.cache-hit != 'true'
run: ci/install_deps.sh
- name: Build and Test
# if: steps.hermes-cache.outputs.cache-hit != 'true'
run: docker exec /hermes_deps_c bash hermes/ci/build_hermes.sh
# - name: Test
# run: bash ci/test_hermes.sh
#
# Enable tmate debugging of manually-triggered workflows if the input option was provided
# - name: Setup tmate session
# uses: mxschmitt/action-tmate@v3
# if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled && (failure() || !failure()) }}
# - name: Multi-node Test
# run: pushd ci/cluster && ./multi_node_ci_test.sh
- name: Generate coverage file
run: docker exec /hermes_deps_c bash hermes/ci/coverage.sh "hermes/coverage" "hermes/build"
# - name: Coveralls
# uses: coverallsapp/github-action@master
# with:
# path-to-lcov: coverage/lcov.info
# github-token: ${{ secrets.GITHUB_TOKEN }}