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

Updates for Focal (Ubuntu 20.04) including gcc10 and updated CI #311

Merged
merged 45 commits into from
May 7, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
181c881
Fixes to deal with gcc10 argument checking
stephankramer Mar 29, 2021
5c0c1ce
Patch h5hut for gcc10
stephankramer Mar 30, 2021
2ded1cb
Selectively add -fallow-interface-mismatch
stephankramer Mar 30, 2021
fcbafe9
Use mpi_interfaces to avoid gfortran10 argument mismatch failure
stephankramer Mar 30, 2021
ee707fa
Adding initial CI support for GitHub Actions
tmbgreaves Mar 31, 2021
3af336e
DROP WHEN FIXED: explicitly set FCFLAGS
tmbgreaves Apr 2, 2021
b44dc99
DOCKER: Explicitly allow core oversubscription
tmbgreaves Apr 7, 2021
a6d6bab
DOCKER: Add local install of GMSH v2
tmbgreaves Apr 7, 2021
8b2577a
Fixes for h5hut when HDF5 >1.12
tmbgreaves Apr 7, 2021
94ffacc
CI/Actions: Fix ordering of Ubuntu testing
tmbgreaves Apr 7, 2021
61e0cdd
Fix use statement ordering
stephankramer Apr 8, 2021
b76f1e0
Fix this test random failures
stephankramer Apr 9, 2021
022919a
EXAMPLES: Switching example to long
tmbgreaves Apr 9, 2021
756adac
TESTS: Reassign test lengths by current runtime
tmbgreaves Apr 9, 2021
f8a5877
CI/Actions: Remove self-hosted runner dependency
tmbgreaves Apr 9, 2021
b48edeb
Merge branch 'gcc10-fixes' of github.com:FluidityProject/fluidity int…
tmbgreaves Apr 9, 2021
2ea2f4c
CI/Actions: Remove unneeded cleanup steps
tmbgreaves Apr 9, 2021
c820767
TESTS: Changing ownership from cmath to drhodrid
tmbgreaves Apr 19, 2021
83a6cdd
EXAMPLES: Changing ownership from cmath to drhodrid
tmbgreaves Apr 19, 2021
ac194df
CI/Actions: Adding make makefiles and manual
tmbgreaves Apr 21, 2021
7101d10
Makefiles: Updating makefile dependencies
tmbgreaves Apr 21, 2021
0fb06e0
CI/Actions: Switch actions target to master
tmbgreaves Apr 22, 2021
66875b3
Merge remote-tracking branch 'origin/master' into gcc10-fixes
tmbgreaves Apr 23, 2021
f908386
DOCKER: Update gmsh to v4 in baseimages
tmbgreaves Apr 23, 2021
3f57d07
CI/Actions: Separate out test reports
tmbgreaves Apr 23, 2021
ba7d798
CI/Actions: Make step names clearer/unique
tmbgreaves Apr 23, 2021
ef3a9ba
CI/Actions: Add useful name to artifact
tmbgreaves Apr 27, 2021
45327d8
CI/Actions: Add some longtesting
tmbgreaves Apr 30, 2021
6ab2c45
Remove spurious Makefiles
stephankramer Apr 30, 2021
341dc9d
CI/Actions: Adding next suite of passing longtests
tmbgreaves Apr 30, 2021
4f14ede
EXAMPLES: Fixing python3 syntax error in driven_cavity
tmbgreaves May 3, 2021
145b4dc
EXAMPLES: Fixing python3 csvreader changes
tmbgreaves May 3, 2021
40f579c
EXAMPLES: Changing example lengths to vlong
tmbgreaves May 3, 2021
84a240e
CI/Actions: Bugfixing longtesting command line
tmbgreaves May 4, 2021
c4f6d83
CI/Actions: Adding more passing tests
tmbgreaves May 4, 2021
c68de70
Merge remote-tracking branch 'origin/master' into gcc10-fixes
tmbgreaves May 4, 2021
452f693
EXAMPLES: More fixing of deprecated zip.sort() in BFS2D
tmbgreaves May 4, 2021
6b155a7
CI/Actions: Fix typo in test name
tmbgreaves May 4, 2021
e779592
EXAMPLES: Fixing python3 syntax in driven_cavity
tmbgreaves May 4, 2021
a048c5d
EXAMPLES: Another attempt at fixing lock_exchange
tmbgreaves May 4, 2021
a2ea4ce
EXAMPLES: More python3 fixes in BFS2D
tmbgreaves May 4, 2021
36dc92d
TESTS: Relaxing tolerance slightly in particle_prescribed_vortex_flow
tmbgreaves May 5, 2021
8c84823
CI/Actions: Reinstating more passing longtests
tmbgreaves May 5, 2021
7b84b6f
EXAMPLES: Python3 zip fixes in BFS3D example
tmbgreaves May 5, 2021
48e1d2a
CI/Actions: Adding sudo in actions containers
tmbgreaves May 5, 2021
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
264 changes: 264 additions & 0 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,264 @@
name: Build and Test

on:
push:
branches:
- master
pull_request:
branches:
- master

jobs:

build:
name: ${{ matrix.name }}
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
name: [ "Build Bionic", "Build Focal", "Build Groovy" ]
include:

- name: "Build Bionic"
release: bionic

- name: "Build Focal"
release: focal

- name: "Build Groovy"
release: groovy

steps:

- name: Check Out Repo
uses: actions/checkout@v2

- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_TOKEN }}

- name: Build and push
id: docker_build
uses: docker/build-push-action@v2
with:
context: .
file: docker/actions/Dockerfile.actions.${{ matrix.release }}
push: true
tags: fluidity/actions:${{ matrix.release }}-${{ github.sha }}

testing:

name: ${{ matrix.name }}
runs-on: ubuntu-latest
needs: build
if: always()

strategy:
fail-fast: false
matrix:
name: [ "Unit Bionic", "Short Bionic", "Medium Bionic", "Unit Focal", "Short Focal", "Medium Focal", "Unit Groovy", "Short Groovy", "Medium Groovy" ]
include:

- name: "Unit Bionic"
release: bionic
command: "make unittest"
output: "test_results_unittests.xml"

- name: "Short Bionic"
release: bionic
command: "make THREADS=2 test"
output: "test_results.xml"

- name: "Medium Bionic"
release: bionic
command: "make THREADS=2 mediumtest"
output: "test_results_medium.xml"

- name: "Unit Focal"
release: focal
command: "make unittest"
output: "test_results_unittests.xml"

- name: "Short Focal"
release: focal
command: "make THREADS=2 test"
output: "test_results.xml"

- name: "Medium Focal"
release: focal
command: "make THREADS=2 mediumtest"
output: "test_results_medium.xml"

- name: "Unit Groovy"
release: groovy
command: "make unittest"
output: "test_results_unittests.xml"

- name: "Short Groovy"
release: groovy
command: "make THREADS=2 test"
output: "test_results.xml"

- name: "Medium Groovy"
release: groovy
command: "make THREADS=2 mediumtest"
output: "test_results_medium.xml"

steps:

- name: ${{ matrix.name }} Testing
run: |
chmod 777 .
docker pull fluidity/actions:${{ matrix.release }}-${{ github.sha }}
docker run -v $PWD:/host fluidity/actions:${{ matrix.release }}-${{ github.sha }} /bin/bash -c "${{ matrix.command }} && cp -v tests/${{ matrix.output }} /host/${{ matrix.release }}-${{ matrix.output}}"

- uses: actions/upload-artifact@v2
with:
path: ${{ matrix.release }}-${{ matrix.output }}
tmbgreaves marked this conversation as resolved.
Show resolved Hide resolved
name: tests_xml_outputs

- name: ${{ matrix.name }} JUnit
uses: mikepenz/action-junit-report@v2
with:
report_paths: ${{ matrix.release }}-${{ matrix.output }}
github_token: ${{ secrets.GITHUB_TOKEN }}
check_name: Test report ${{ matrix.name }}
fail_on_failure: true

longtesting:

name: longtest-${{ matrix.name }}
runs-on: ubuntu-latest
needs: build
if: always()

strategy:
fail-fast: false
matrix:
name: [
"mphase_tephra_settling_2d_adaptive",
"gyre_parallel",
"Stokes_square_convection_1e4_vv_p1p1",
"Stokes_square_convection_1e4_p1p1_Ra_Test",
"Stokes_square_convection_1e4_vv_gauss_p2p1",
"viscous_fs_drunkensailor",
"cylinder-3d-drag",
"viscosity_2d_p0_adaptive_parallel",
"circle-2d-drag",
"mphase_tephra_settling_3d",
"tidal_diagnostics",
"mms_burgers_dg_steady",
"mms_ns_p1bp1_steady",
"mms_ns_dg_steady_parallel",
"mms_burgers_cg_steady",
"mms_burgers_cg_structured_steady",
"mms_ns_cg_steady_full",
"foam_2d_p1dgp2_convergence",
"circular_duct_from_rest",
"mms_tracer_P1dg_cdg_diff_steady",
"mms_tracer_cg_supg_advdiff_steady",
"para_eddy",
"mms_ns_p1p1stabilised_steady",
"lock_exchange_3d",
"mms_tracer_p0_adv_steady_conservative",
"mms_tracer_cg_advdiff_steady",
"gls-MixedLayer",
"sphere-3D-drag-Re100",
"mms_ns_cg_steady",
"mms_tracer_P1dg_br_diff_steady",
"mphase_mms_p1dgp2_br",
"mphase_mms_p2p1_compressible_ie_heat_transfer",
"mphase_mms_p2p1_compressible_ie",
"mms_ns_p0p1_steady_periodic",
"mms_tracer_cv_advdiff_eg_steady",
"mms_ns_p1p1stabilised_supg_steady",
"sphere-3D-drag-Re1",
"mms_tracer_cv_diff_eg_steady",
"mms_tracer_cv_diff_steady_structured",
"mms_ns_p1lp1cv_steady_compressible",
"mphase_mms_p1dgp2_cdg",
"mms_tracer_cv_diff_steady",
"mms_tracer_p0_adv_steady",
"mms_ns_p0p1cv_steady_periodic",
"mphase_mms_p2p1_no_interactions",
"mms_ns_dg_steady",
"mphase_mms_p1dgp2_fpdrag",
"mms_tracer_cv_advdiff_steady",
"sphere-3D-drag-Re10",
"wetting_and_drying_thacker_dg_parallel",
"flow_past_sphere_Re1",
"flow_past_sphere_Re10",
"flow_past_sphere_Re100",
"particle_rayleigh_taylor_mu10",
"rotating_channel",
"tephra_settling",
"top_hat",
"water_collapse",
"stagnant_conical_island",
"lituya_bay_pseudo2dadapt",
"pseudo2dadapt_parallel_galerkinproj",
"mms_rans_p2p1_keps_linearmomentum_cv",
"mms_rans_p2p1_keps_lowRe",
"mphase_mms_p2p1_compressible_ie_p1cv_heat_transfer",
"mms_ns_p2lp1_steady_compressible",
"mphase_mms_p2p1_vfrac",
"lock_exchange_3d_dg",
"mms_rans_p1dgp2_upw_keps",
"mphase_mms_p2p1_compressible_ie_p1cv",
"mms_rans_p1dgp2_keps",
"open_ocean_deep_convection-parallel",
"mms_rans_p2p1_keps_linearmomentum",
"Stommel_tracer_advection",
"particle_stratified_stable_layer",
"spherical_benchmark_free_slip",
"spherical_benchmark_free_slip_p2bp1dg",
"spherical_benchmark_no_slip",
"spherical_benchmark_no_slip_p2bp1dg",
"spherical_benchmark_smooth_free_slip",
"spherical_benchmark_smooth_no_slip",
"backward_facing_step_2d",
"explicit-hyperc-shear",
"explicit-hyperc-shear-adapt",
"explicit-hyperc-superman"
## Tests still failing and in need of fixing
#"Stokes_mms_p1dg_p2",
#"Stokes_subduction_zone_vanKeken2008_OneA",
#"Stokes_subduction_zone_vanKeken2008_TwoB",
#"coarse-corner",
#"gls-StationPapa",
#"lagrangian_detectors_3d_2e5",
#"lock_exchange",
#"lock_exchange_2d_Lagrangian_paths",
#"lock_exchange_3d_parallel",
#"medp1dgp2",
#"particle_entrainment_of_dense_layer",
#"saltfinger2d_adaptive",
#"square-convection-1e6",
#"wetting_and_drying_balzano1_dg_parallel"
#"hokkaido-nansei-oki_tsunami"
#"driven_cavity",
]

steps:

- name: ${{ matrix.name }} Longtesting
run: |
chmod 777 .
docker pull fluidity/actions:focal-${{ github.sha }}
docker run -v $PWD:/host fluidity/actions:focal-${{ github.sha }} /bin/bash -c "git clone https://github.com/fluidityproject/longtests && bin/testharness -x test_results_${{ matrix.name }}.xml -f ${{ matrix.name }}.xml && cp -v test_results_${{ matrix.name }}.xml /host"

- uses: actions/upload-artifact@v2
with:
path: test_results_${{ matrix.name }}.xml
name: tests_xml_outputs

- name: ${{ matrix.name }} JUnit
uses: mikepenz/action-junit-report@v2
with:
report_paths: test_results_${{ matrix.name }}.xml
github_token: ${{ secrets.GITHUB_TOKEN }}
check_name: Longtest report ${{ matrix.name }}
fail_on_failure: true
Loading