diff --git a/.github/workflows/01-basic.yaml b/.github/workflows/01-basic.yaml new file mode 100644 index 00000000..04b5aea1 --- /dev/null +++ b/.github/workflows/01-basic.yaml @@ -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 diff --git a/ci/01-install-shell-only.sh b/ci/01-install-shell-only.sh new file mode 100755 index 00000000..343122ea --- /dev/null +++ b/ci/01-install-shell-only.sh @@ -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" diff --git a/ci/02-install-openmpi.sh b/ci/02-install-openmpi.sh new file mode 100644 index 00000000..9e7f6839 --- /dev/null +++ b/ci/02-install-openmpi.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +./init-asgs.sh -b -x "--run-steps openmpi" diff --git a/ci/03-install-hdf5.sh b/ci/03-install-hdf5.sh new file mode 100644 index 00000000..3d5c221d --- /dev/null +++ b/ci/03-install-hdf5.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +./init-asgs.sh -b -x "--run-steps hdf5" diff --git a/ci/04-install-netcdf4.sh b/ci/04-install-netcdf4.sh new file mode 100644 index 00000000..bd01a31e --- /dev/null +++ b/ci/04-install-netcdf4.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +./init-asgs.sh -b -x "--run-steps netcdf4"