Skip to content

Commit

Permalink
Adding a very basic CI test that installs through netCDF4
Browse files Browse the repository at this point in the history
Issue 458: Adding initial CI

ASGS can take a long time to build everything, so this is a very short
test that makes sure that the shell can be installed via:

  ./init-asgs.sh -b -x "--update-shell"

This will generate ./asgsh and ./update-asgs.

Also adding installation checks for each step, one per script.

Resolves #458
  • Loading branch information
wwlwpd committed Sep 14, 2024
1 parent 6db239c commit 22a272d
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 0 deletions.
56 changes: 56 additions & 0 deletions .github/workflows/01-basic.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Run Install Scripts on ci-test Branch

on:
push:
branches:
- ci-test
pull_request:
branches:
- ci-test

jobs:
run-scripts:
runs-on: ubuntu-22.04

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Install Ubuntu packages
run: |
sudo apt-get -y update
sudo apt-get install -y build-essential checkinstall
sudo apt-get install -y libssl-dev libexpat1-dev
sudo apt-get install -y gfortran wget curl vim screen htop tmux git bc
sudo apt-get install -y zip flex gawk procps
sudo apt-get install -y zlib1g-dev
# Install the older GCCs we want, set them to system defaults
sudo apt-get install -y gcc-9 g++-9 gfortran-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 9
sudo update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-9 9
- name: Set TERM and run install script with --update-shell
run: |
export TERM=xterm
chmod +x ./ci/01-install-shell-only.sh
./ci/01-install-shell-only.sh
- name: Run OpenMPI installation script
run: |
chmod +x ./ci/02-install-openmpi.sh
./ci/02-install-openmpi.sh
timeout-minutes: 120

- name: Run HDF5 installation script
run: |
chmod +x ./ci/03-install-hdf5.sh
./ci/03-install-hdf5.sh
timeout-minutes: 120

- name: Run netCDF4 installation script
run: |
chmod +x ./ci/04-install-netcdf4.sh
./ci/04-install-netcdf4.sh
timeout-minutes: 120
17 changes: 17 additions & 0 deletions ci/01-install-shell-only.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/usr/bin/env bash

./init-asgs.sh -b -x "--update-shell"

if [ ! -e ./asgsh ]; then
echo "01 not ok - can't find ./asgsh" >&2
exit 1
fi

echo "01 ok - found ./asgsh"

if [ ! -e ./update-asgs ]; then
echo "02 not ok - can't find ./update-asgs" >&2
exit 1
fi

echo "02 ok - found ./update-asgs"
3 changes: 3 additions & 0 deletions ci/02-install-openmpi.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/usr/bin/env bash

./init-asgs.sh -b -x "--run-steps openmpi"
3 changes: 3 additions & 0 deletions ci/03-install-hdf5.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/usr/bin/env bash

./init-asgs.sh -b -x "--run-steps hdf5"
3 changes: 3 additions & 0 deletions ci/04-install-netcdf4.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/usr/bin/env bash

./init-asgs.sh -b -x "--run-steps netcdf4"

0 comments on commit 22a272d

Please sign in to comment.