Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Github Actions Testing #347

Merged
merged 8 commits into from
Jan 20, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
133 changes: 133 additions & 0 deletions .github/workflows/test-icepack.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
name: GHActions

# This workflow is triggered on pushes, pull-requeust, and releases
# ghactions* branch names will trigger this to support development testing
# To Do: get it working with bash and ubuntu

on:
push:
branches:
- master
- 'Icepack*'
- 'ghactions*'
pull_request:
release:
types:
- created

defaults:
run:
shell: /bin/csh {0}

jobs:
build:
name: "IcepackTesting"
runs-on: ${{ matrix.os }}
strategy:
matrix:
# os: [macos-latest, ubuntu-latest]
os: [macos-latest]
# os: [ubuntu-latest]
include:
- os: macos-latest
envdef: macos
minicond: Miniconda3-latest-MacOSX-x86_64.sh
# - os: ubuntu-latest
# envdef: linux
# minicond: Miniconda3-latest-Linux-x86_64.sh
steps:
- name: reset macos toolchain to commandlinetools
shell: /bin/bash {0}
if: contains( matrix.envdef, 'macos')
run: |
sudo xcode-select -r
sudo xcode-select -s /Library/Developer/CommandLineTools
echo "xcrun --show-sdk-path: $(xcrun --show-sdk-path)"
echo "xcode-select -p: $(xcode-select -p)"
- name: system info
shell: /bin/bash {0}
run: |
type wget
type curl
type csh
echo "readlink \$(which csh): $(python -c 'import os, sys; print os.path.realpath(sys.argv[1])' $(which csh))"
echo "csh --version: $(csh --version)"
echo "uname -a: $(uname -a)"
echo "sw_vers: $(sw_vers)"
echo "HOME: $HOME"
echo "GITHUB_WORKSPACE: $GITHUB_WORKSPACE"
echo "OS: ${{ matrix.os }}"
echo "ENVDEF: ${{ matrix.envdef }}"
echo "MINICOND: ${{ matrix.minicond }}"
- name : install miniconda
shell: /bin/bash {0}
run: |
wget https://repo.anaconda.com/miniconda/${{ matrix.minicond }} -O ~/miniconda.sh
bash ~/miniconda.sh -b -p $HOME/miniconda
- name: clone
uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: link
run: |
ln -s ${GITHUB_WORKSPACE}/../Icepack ${HOME}/icepack
# ls -al ${HOME}/
# ls -al ${GITHUB_WORKSPACE}/
- name: setup conda env
shell: /bin/bash {0}
run: |
cd $HOME && mkdir -p icepack-dirs/runs icepack-dirs/baseline icepack-dirs/input
source $HOME/miniconda/bin/activate
conda init tcsh
cd $HOME/icepack
conda env create -f configuration/scripts/machines/environment.yml
- name: check conda env
run: |
conda activate icepack && which mpicc && which mpifort && which make
mpifort --version
mpicc --version
make --version
- name: check setup case
run: |
cd $HOME/icepack
./icepack.setup -m conda -e ${{ matrix.envdef }} -c case0 --pes 1x1 -s diag1
- name: check setup test
run: |
cd $HOME/icepack
./icepack.setup -m conda -e ${{ matrix.envdef }} --test smoke --testid c0
# - name: compile case
# run: |
# cd $HOME/icepack
# ./icepack.setup -m conda -e ${{ matrix.envdef }} -c case1
# cd case1
# ./icepack.build
- name: download input data
run: |
cd $HOME/icepack-dirs/input
wget https://zenodo.org/record/3728287/files/Icepack_data-20200326.tar.gz && tar xvfz ICEPACK_data-20200326.tar.gz
pwd
ls -alR
# - name: run case
# run: |
# cd $HOME/icepack
# cd case1
# ./icepack.run
- name: run suite
run: |
cd $HOME/icepack
./icepack.setup -m conda -e ${{ matrix.envdef }} --suite travis_suite --testid ${{ matrix.os }}
- name: write output
run: |
cd $HOME/icepack
./.github/workflows/write_logfiles.csh
cd testsuite.${{ matrix.os }}
./results.csh
- name: successful run
if: ${{ success() }}
run: |
echo "${{ job.name }} PASSED"
- name: trap failure
if: ${{ failure() }}
run: |
echo "${{ job.name }} FAILED"
exit 99
10 changes: 10 additions & 0 deletions .github/workflows/write_logfiles.csh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/csh

#echo "hello"

foreach logfile (case*/logs/icepack.runlog* testsuite.*/*/logs/icepack.runlog*)
echo "### ${logfile} ###"
tail -20 $logfile
echo " "
end

3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
[![Build Status](https://travis-ci.org/CICE-Consortium/Icepack.svg?branch=master)](https://travis-ci.org/CICE-Consortium/Icepack)
[![Travis-CI](https://travis-ci.com/CICE-Consortium/Icepack.svg?branch=master)](https://travis-ci.com/CICE-Consortium/Icepack)
[![GHActions](https://github.com/CICE-Consortium/Icepack/workflows/GHActions/badge.svg)](https://github.com/CICE-Consortium/Icepack/actions)
[![Documentation Status](https://readthedocs.org/projects/cice-consortium-icepack/badge/?version=master)](http://cice-consortium-icepack.readthedocs.io/en/master/?badge=master)
[![lcov](https://img.shields.io/endpoint?url=https://apcraig.github.io/coverage_icepack.json)](https://apcraig.github.io)

Expand Down