eccodes/.github/workflows/ci.yml

81 lines
2.1 KiB
YAML

name: ci
# Controls when the action will run
on:
# Trigger the workflow on all pushes, except on tag creation
push:
branches:
- '**'
tags-ignore:
- '**'
# Trigger the workflow on all pull requests
pull_request: ~
# Allow workflow to be dispatched on demand
workflow_dispatch: ~
jobs:
ci:
name: ci
strategy:
matrix:
name:
- gnu-10@ubuntu-20.04
- clang-12@ubuntu-20.04
- gnu-10@ubuntu-18.04
- clang-9@ubuntu-18.04
- gnu-10@macos-10.15
- clang-12@macos-10.15
include:
- name: gnu-10@ubuntu-20.04
os: ubuntu-20.04
compiler: gnu-10
compiler_cc: gcc-10
compiler_fc: gfortran-10
- name: clang-12@ubuntu-20.04
os: ubuntu-20.04
compiler: clang-12
compiler_cc: clang-12
compiler_fc: gfortran-10
- name: gnu-10@ubuntu-18.04
os: ubuntu-18.04
compiler: gnu-10
compiler_cc: gcc-10
compiler_fc: gfortran-10
- name: clang-9@ubuntu-18.04
os: ubuntu-18.04
compiler: clang-9
compiler_cc: clang-9
compiler_fc: gfortran-9
- name: gnu-10@macos-10.15
os: macos-10.15
compiler: gnu-10
compiler_cc: gcc-10
compiler_fc: gfortran-10
- name: clang-12@macos-10.15
os: macos-10.15
compiler: clang-12
compiler_cc: ~
compiler_cxx: ~
compiler_fc: gfortran-10
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Build & Test
id: build-test
uses: ecmwf-actions/build-package@v1
with:
self_coverage: true
dependencies: ecmwf/ecbuild
dependency_branch: develop
- name: Codecov Upload
if: steps.build-test.outputs.coverage_file && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/develop')
uses: codecov/codecov-action@v2
with:
files: ${{ steps.build-test.outputs.coverage_file }}