From 91c017d136053ec592739b7a78e5d906db2f1eca Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Mon, 9 Aug 2021 14:44:09 +0100 Subject: [PATCH 01/23] isolated mac build --- .github/workflows/unix_mac.yml | 139 +++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 .github/workflows/unix_mac.yml diff --git a/.github/workflows/unix_mac.yml b/.github/workflows/unix_mac.yml new file mode 100644 index 000000000..effa78043 --- /dev/null +++ b/.github/workflows/unix_mac.yml @@ -0,0 +1,139 @@ +name: Unix + +on: + # allows us to run workflows manually + workflow_dispatch: + pull_request: + branches: + - develop + - master + push: + branches: + - develop + - master + release: + types: # This configuration does not affect the page_build event above + - created +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +jobs: + main: + runs-on: ${{ matrix.os }} + strategy: + matrix: + cubit: [17.1.0, 2021.4, 2021.5] + os: [macos] + os_version: [10.15] + + name: 'Cubit Svalinn Plugin ${{ matrix.cubit }} Build for ${{ matrix.os }} ${{ matrix.os_version }}' + + + steps: + - uses: actions/checkout@v2 + + - name: Environment Variables + shell: bash -l {0} + run: | + COREFORM_BASE_URL=https://f002.backblazeb2.com/file/cubit-downloads/Coreform-Cubit/Releases + + if [ "${{ matrix.cubit }}" == "17.1.0" ]; then + BASE=Trelis-17.1.0 + BASESDK=Trelis-SDK-17.1.0 + CUBIT_BASE_NAME=Trelis-17.1 + HDF5_PATH=/usr/lib/x86_64-linux-gnu/hdf5/serial + elif [ "${{ matrix.cubit }}" == "2021.4" ]; then + BASE=Coreform-Cubit-2021.4%2B15017_05893177 + CUBIT_BASE_NAME=Coreform-Cubit-2021.4 + HDF5_PATH=/usr/local/HDF_Group/HDF5/1.12.0 + elif [ "${{ matrix.cubit }}" == "2021.5" ]; then + BASE=Coreform-Cubit-2021.5%2B15962_5043ef39 + CUBIT_BASE_NAME=Coreform-Cubit-2021.5 + HDF5_PATH=/usr/local/HDF_Group/HDF5/1.12.0 + fi + + SUFFIX=Mac64 + EXT=dmg + echo "SED=gsed" >> $GITHUB_ENV + echo "BUILD_SHARED_LIBS=OFF" >> $GITHUB_ENV + echo "BUILD_STATIC_LIBS=ON" >> $GITHUB_ENV + echo "system=mac" >> $GITHUB_ENV + echo "CUBIT_PATH=/Applications/${CUBIT_BASE_NAME}.app/Contents" >> $GITHUB_ENV + echo "COREFORM_BASE_URL=${COREFORM_BASE_URL}/MacOS/" >> $GITHUB_ENV + + echo "OS=${{ matrix.os }}" >> $GITHUB_ENV + echo "CMAKE_ADDITIONAL_FLAGS=-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0" >> $GITHUB_ENV + + echo "CUBIT_PKG=${BASE}-${SUFFIX}.${EXT}" >> $GITHUB_ENV + echo "CUBIT_SDK_PKG=${BASESDK}-${SUFFIX}.tar.gz" >> $GITHUB_ENV + echo "CUBIT_BASE_NAME=${CUBIT_BASE_NAME}" >> $GITHUB_ENV + + echo "CURRENT=$(pwd)" >> $GITHUB_ENV + echo "SCRIPTPATH=$GITHUB_WORKSPACE" >> $GITHUB_ENV + echo "PLUGIN_ABS_PATH=$GITHUB_WORKSPACE/.." >> $GITHUB_ENV + echo "FOLDER_PKG=$GITHUB_WORKSPACE/pkg" >> $GITHUB_ENV + + echo "" >> ${HOME}/.bash_profile + echo "source $GITHUB_WORKSPACE/scripts/unix_share_build.sh" >> $HOME/.bash_profile + + - name: Initial setup + shell: bash -l {0} + run: | + ${system}_install_prerequisites + + - name: Downloading packages + shell: bash -l {0} + run: | + mkdir -p $FOLDER_PKG + cd ${FOLDER_PKG} + curl -L ${COREFORM_BASE_URL}${CUBIT_PKG} --output ${CUBIT_PKG} + if [ "${{ matrix.cubit }}" = "17.1.0" ]; then + curl -L ${COREFORM_BASE_URL}${CUBIT_SDK_PKG} --output ${CUBIT_SDK_PKG} + fi + mkdir ${SCRIPTPATH}/release + + - name: Cubit setup + shell: bash -l {0} + run: | + ${system}_setup_cubit ${{ matrix.cubit }} + + - name: Build HDF5 + shell: bash -l {0} + run: | + ${system}_build_hdf5 + + - name: Build MOAB + shell: bash -l {0} + run: | + build_moab + + - name: Build DAGMC + shell: bash -l {0} + run: | + build_dagmc + + - name: Build plugin + shell: bash -l {0} + run: | + build_plugin + + - name: Prepare package + shell: bash -l {0} + run: | + ${system}_build_plugin_pkg ${{ matrix.cubit }} + + - if: github.event_name != 'release' + name: Upload artifact for CI + uses: actions/upload-artifact@v2 + with: + name: svalinn-plugin_${{ matrix.os }}-${{ matrix.os_version }}_cubit_${{ matrix.cubit }}.tgz + path: ${{ github.workspace }}/release/svalinn-plugin_${{ matrix.os }}-${{ matrix.os_version }}_cubit_${{ matrix.cubit }}.tgz + + - if: github.event_name == 'release' + name: Upload binaries into the release + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: ${{ github.workspace }}/release/svalinn-plugin_${{ matrix.os }}-${{ matrix.os_version }}_cubit_${{ matrix.cubit }}.tgz + asset_name: svalinn-plugin_${{ matrix.os }}-${{ matrix.os_version }}_cubit_${{ matrix.cubit }}.tgz + tag: ${{ github.ref }} From 7e8acb058d569dacafdd090f8d13577bc8435da7 Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Mon, 9 Aug 2021 14:45:24 +0100 Subject: [PATCH 02/23] isolated ubuntu and debian builds --- .github/workflows/unix_linux.yml | 183 +++++++++++++++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 .github/workflows/unix_linux.yml diff --git a/.github/workflows/unix_linux.yml b/.github/workflows/unix_linux.yml new file mode 100644 index 000000000..a839e20c4 --- /dev/null +++ b/.github/workflows/unix_linux.yml @@ -0,0 +1,183 @@ +name: Unix builds using Docker + +on: + # allows us to run workflows manually + workflow_dispatch: + pull_request: + branches: + - develop + - master + push: + branches: + - develop + - master + release: + types: # This configuration does not affect the page_build event above + - created +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +jobs: + main: + runs-on: ubuntu-latest + strategy: + matrix: + cubit: [2021.5] + os: [ubuntu] + os_version: [21.04] + include: + + # this combination is in the inital matrix + # - os: ubuntu + # os_version: 21.04 + # cubit: 2021.5 + + - os: ubuntu + os_version: 20.04 + cubit: 2021.5 + + - os: debian + os_version: 10.10 + cubit: 2021.5 + + name: 'Cubit Svalinn Plugin ${{ matrix.cubit }} Build for ${{ matrix.os }} ${{ matrix.os_version }}' + + container: + image: ${{ matrix.os }}:${{ matrix.os_version }} + + steps: + - name: install new git + shell: bash -l {0} + run: | + if [ "${{ matrix.os }}" == "ubuntu" ]; then + apt-get update + apt-get install -y software-properties-common + add-apt-repository ppa:git-core/ppa + apt-get update + apt-get install -y git + elif [ "${{ matrix.os }}" == "debian" ]; then + apt update + apt-get install -y software-properties-common + apt update + apt install -y git + fi + - uses: actions/checkout@v2 + + - name: Environment Variables + shell: bash -l {0} + run: | + COREFORM_BASE_URL=https://f002.backblazeb2.com/file/cubit-downloads/Coreform-Cubit/Releases + + if [ "${{ matrix.cubit }}" == "17.1.0" ]; then + BASE=Trelis-17.1.0 + BASESDK=Trelis-SDK-17.1.0 + CUBIT_BASE_NAME=Trelis-17.1 + HDF5_PATH=/usr/lib/x86_64-linux-gnu/hdf5/serial + elif [ "${{ matrix.cubit }}" == "2021.4" ]; then + BASE=Coreform-Cubit-2021.4%2B15017_05893177 + CUBIT_BASE_NAME=Coreform-Cubit-2021.4 + HDF5_PATH=/usr/local/HDF_Group/HDF5/1.12.0 + elif [ "${{ matrix.cubit }}" == "2021.5" ]; then + BASE=Coreform-Cubit-2021.5%2B15962_5043ef39 + CUBIT_BASE_NAME=Coreform-Cubit-2021.5 + HDF5_PATH=/usr/local/HDF_Group/HDF5/1.12.0 + fi + + if [ "${{ matrix.os }}" == "debian" ] || [ "${{ matrix.os }}" == "ubuntu" ]; then + SUFFIX=Lin64 + EXT=deb + echo "SED=sed" >> $GITHUB_ENV + echo "BUILD_SHARED_LIBS=ON" >> $GITHUB_ENV + echo "BUILD_STATIC_LIBS=OFF" >> $GITHUB_ENV + echo "system=linux" >> $GITHUB_ENV + echo "CUBIT_PATH=/opt/${CUBIT_BASE_NAME}" >> $GITHUB_ENV + echo "COREFORM_BASE_URL=${COREFORM_BASE_URL}/Linux/" >> $GITHUB_ENV + echo "HDF5_PATH=${HDF5_PATH}" >> $GITHUB_ENV + elif [ "${{ matrix.os }}" == "mac" ]; then + SUFFIX=Mac64 + EXT=dmg + echo "SED=gsed" >> $GITHUB_ENV + echo "BUILD_SHARED_LIBS=OFF" >> $GITHUB_ENV + echo "BUILD_STATIC_LIBS=ON" >> $GITHUB_ENV + echo "system=mac" >> $GITHUB_ENV + echo "CUBIT_PATH=/Applications/${CUBIT_BASE_NAME}.app/Contents" >> $GITHUB_ENV + echo "COREFORM_BASE_URL=${COREFORM_BASE_URL}/MacOS/" >> $GITHUB_ENV + fi + + echo "OS=${{ matrix.os }}" >> $GITHUB_ENV + echo "CMAKE_ADDITIONAL_FLAGS=-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0" >> $GITHUB_ENV + + echo "CUBIT_PKG=${BASE}-${SUFFIX}.${EXT}" >> $GITHUB_ENV + echo "CUBIT_SDK_PKG=${BASESDK}-${SUFFIX}.tar.gz" >> $GITHUB_ENV + echo "CUBIT_BASE_NAME=${CUBIT_BASE_NAME}" >> $GITHUB_ENV + + echo "CURRENT=$(pwd)" >> $GITHUB_ENV + echo "SCRIPTPATH=$GITHUB_WORKSPACE" >> $GITHUB_ENV + echo "PLUGIN_ABS_PATH=$GITHUB_WORKSPACE/.." >> $GITHUB_ENV + echo "FOLDER_PKG=$GITHUB_WORKSPACE/pkg" >> $GITHUB_ENV + + echo "" >> ${HOME}/.bash_profile + echo "source $GITHUB_WORKSPACE/scripts/unix_share_build.sh" >> $HOME/.bash_profile + + - name: Initial setup + shell: bash -l {0} + run: | + ${system}_install_prerequisites + + - name: Downloading packages + shell: bash -l {0} + run: | + mkdir -p $FOLDER_PKG + cd ${FOLDER_PKG} + apt-get install -y curl + curl -L ${COREFORM_BASE_URL}${CUBIT_PKG} --output ${CUBIT_PKG} + if [ "${{ matrix.cubit }}" = "17.1.0" ]; then + curl -L ${COREFORM_BASE_URL}${CUBIT_SDK_PKG} --output ${CUBIT_SDK_PKG} + fi + mkdir ${SCRIPTPATH}/release + + - name: Cubit setup + shell: bash -l {0} + run: | + ${system}_setup_cubit ${{ matrix.cubit }} + + - name: Build HDF5 + shell: bash -l {0} + run: | + ${system}_build_hdf5 + + - name: Build MOAB + shell: bash -l {0} + run: | + build_moab + + - name: Build DAGMC + shell: bash -l {0} + run: | + build_dagmc + + - name: Build plugin + shell: bash -l {0} + run: | + build_plugin + + - name: Prepare package + shell: bash -l {0} + run: | + ${system}_build_plugin_pkg ${{ matrix.cubit }} + + - if: github.event_name != 'release' + name: Upload artifact for CI + uses: actions/upload-artifact@v2 + with: + name: svalinn-plugin_${{ matrix.os }}-${{ matrix.os_version }}_cubit_${{ matrix.cubit }}.tgz + path: ${{ github.workspace }}/release/svalinn-plugin_${{ matrix.os }}-${{ matrix.os_version }}_cubit_${{ matrix.cubit }}.tgz + + - if: github.event_name == 'release' + name: Upload binaries into the release + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: ${{ github.workspace }}/release/svalinn-plugin_${{ matrix.os }}-${{ matrix.os_version }}_cubit_${{ matrix.cubit }}.tgz + asset_name: svalinn-plugin_${{ matrix.os }}-${{ matrix.os_version }}_cubit_${{ matrix.cubit }}.tgz + tag: ${{ github.ref }} From add0e6dde0a3b692f0bb6a947965f03dfabf9a5e Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Mon, 9 Aug 2021 14:47:26 +0100 Subject: [PATCH 03/23] split into two scripts --- .github/workflows/unix.yml | 157 ------------------------------------- 1 file changed, 157 deletions(-) delete mode 100644 .github/workflows/unix.yml diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml deleted file mode 100644 index 4bd938eea..000000000 --- a/.github/workflows/unix.yml +++ /dev/null @@ -1,157 +0,0 @@ -name: Unix - -on: - # allows us to run workflows manually - workflow_dispatch: - pull_request: - branches: - - develop - - master - push: - branches: - - develop - - master - release: - types: # This configuration does not affect the page_build event above - - created -env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - -jobs: - main: - runs-on: ${{ matrix.os }} - strategy: - matrix: - cubit: [17.1.0, 2021.4, 2021.5] - os: [ubuntu-20.04, macos-10.15] - include: - - cubit: 17.1.0 - os: ubuntu-18.04 - exclude: - - cubit: 17.1.0 - os: ubuntu-20.04 - - name: 'Cubit Svalinn Plugin ${{ matrix.cubit }} Build for ${{ matrix.os }}' - - - steps: - - uses: actions/checkout@v2 - - - name: Environment Variables - shell: bash -l {0} - run: | - COREFORM_BASE_URL=https://f002.backblazeb2.com/file/cubit-downloads/Coreform-Cubit/Releases - - if [ "${{ matrix.cubit }}" == "17.1.0" ]; then - BASE=Trelis-17.1.0 - BASESDK=Trelis-SDK-17.1.0 - CUBIT_BASE_NAME=Trelis-17.1 - HDF5_PATH=/usr/lib/x86_64-linux-gnu/hdf5/serial - elif [ "${{ matrix.cubit }}" == "2021.4" ]; then - BASE=Coreform-Cubit-2021.4%2B15017_05893177 - CUBIT_BASE_NAME=Coreform-Cubit-2021.4 - HDF5_PATH=/usr/local/HDF_Group/HDF5/1.12.0 - elif [ "${{ matrix.cubit }}" == "2021.5" ]; then - BASE=Coreform-Cubit-2021.5%2B15962_5043ef39 - CUBIT_BASE_NAME=Coreform-Cubit-2021.5 - HDF5_PATH=/usr/local/HDF_Group/HDF5/1.12.0 - fi - - if [[ "${{ matrix.os }}" == "ubuntu"* ]]; then - SUFFIX=Lin64 - EXT=deb - echo "SED=sed" >> $GITHUB_ENV - echo "SUDO=sudo " >> $GITHUB_ENV - echo "BUILD_SHARED_LIBS=ON" >> $GITHUB_ENV - echo "BUILD_STATIC_LIBS=OFF" >> $GITHUB_ENV - echo "system=linux" >> $GITHUB_ENV - echo "CUBIT_PATH=/opt/${CUBIT_BASE_NAME}" >> $GITHUB_ENV - echo "COREFORM_BASE_URL=${COREFORM_BASE_URL}/Linux/" >> $GITHUB_ENV - echo "HDF5_PATH=${HDF5_PATH}" >> $GITHUB_ENV - elif [[ "${{ matrix.os }}" == "mac"* ]]; then - SUFFIX=Mac64 - EXT=dmg - echo "SED=gsed" >> $GITHUB_ENV - echo "BUILD_SHARED_LIBS=OFF" >> $GITHUB_ENV - echo "BUILD_STATIC_LIBS=ON" >> $GITHUB_ENV - echo "system=mac" >> $GITHUB_ENV - echo "CUBIT_PATH=/Applications/${CUBIT_BASE_NAME}.app/Contents" >> $GITHUB_ENV - echo "COREFORM_BASE_URL=${COREFORM_BASE_URL}/MacOS/" >> $GITHUB_ENV - fi - - echo "OS=${{ matrix.os }}" >> $GITHUB_ENV - echo "CMAKE_ADDITIONAL_FLAGS=-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0" >> $GITHUB_ENV - - echo "CUBIT_PKG=${BASE}-${SUFFIX}.${EXT}" >> $GITHUB_ENV - echo "CUBIT_SDK_PKG=${BASESDK}-${SUFFIX}.tar.gz" >> $GITHUB_ENV - echo "CUBIT_BASE_NAME=${CUBIT_BASE_NAME}" >> $GITHUB_ENV - - echo "CURRENT=$(pwd)" >> $GITHUB_ENV - echo "SCRIPTPATH=$GITHUB_WORKSPACE" >> $GITHUB_ENV - echo "PLUGIN_ABS_PATH=$GITHUB_WORKSPACE/.." >> $GITHUB_ENV - echo "FOLDER_PKG=$GITHUB_WORKSPACE/pkg" >> $GITHUB_ENV - - echo "" >> ${HOME}/.bash_profile - echo "source $GITHUB_WORKSPACE/scripts/unix_share_build.sh" >> $HOME/.bash_profile - - - name: Initial setup - shell: bash -l {0} - run: | - ${system}_install_prerequisites - - - name: Downloading packages - shell: bash -l {0} - run: | - mkdir -p $FOLDER_PKG - cd ${FOLDER_PKG} - curl -L ${COREFORM_BASE_URL}${CUBIT_PKG} --output ${CUBIT_PKG} - if [ "${{ matrix.cubit }}" = "17.1.0" ]; then - curl -L ${COREFORM_BASE_URL}${CUBIT_SDK_PKG} --output ${CUBIT_SDK_PKG} - fi - mkdir ${SCRIPTPATH}/release - - - name: Cubit setup - shell: bash -l {0} - run: | - ${system}_setup_cubit ${{ matrix.cubit }} - - - name: Build HDF5 - shell: bash -l {0} - run: | - ${system}_build_hdf5 - - - name: Build MOAB - shell: bash -l {0} - run: | - build_moab - - - name: Build DAGMC - shell: bash -l {0} - run: | - build_dagmc - - - name: Build plugin - shell: bash -l {0} - run: | - build_plugin - - - name: Prepare package - shell: bash -l {0} - run: | - ${system}_build_plugin_pkg ${{ matrix.cubit }} - - - if: github.event_name != 'release' - name: Upload artifact for CI - uses: actions/upload-artifact@v2 - with: - name: svalinn-plugin_${{ matrix.os }}_cubit_${{ matrix.cubit }}.tgz - path: ${{ github.workspace }}/release/svalinn-plugin_${{ matrix.os }}_cubit_${{ matrix.cubit }}.tgz - - - if: github.event_name == 'release' - name: Upload binaries into the release - uses: svenstaro/upload-release-action@v2 - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ github.workspace }}/release/svalinn-plugin_${{ matrix.os }}_cubit_${{ matrix.cubit }}.tgz - asset_name: svalinn-plugin_${{ matrix.os }}_cubit_${{ matrix.cubit }}.tgz - tag: ${{ github.ref }} From 5fa323654e06fc15249020296c5fd3413f32fd3c Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Mon, 9 Aug 2021 14:48:00 +0100 Subject: [PATCH 04/23] accomdated os version and os debian --- scripts/unix_share_build.sh | 48 ++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/scripts/unix_share_build.sh b/scripts/unix_share_build.sh index f8ee9619e..0c555b388 100644 --- a/scripts/unix_share_build.sh +++ b/scripts/unix_share_build.sh @@ -13,7 +13,6 @@ # - SED : command to run sed (usually sed for linux, gsed for mac) # - OS : reference to the Operating system, used to name the plugin tarball (and when using setup_var() function) - set -ex @@ -25,9 +24,9 @@ function mac_install_prerequisites() { brew install eigen gcc@6 gsed } -function ubuntu_version() { - export UBUNTU_VERSION=$(lsb_release -rs |cut -d"." -f1) - echo "Ubuntu Version: " $UBUNTU_VERSION +function unix_version() { + export LINUX_VERSION=$(lsb_release -rs |cut -d"." -f1) + echo "Unix Version: " $LINUX_VERSION } function linux_install_prerequisites() { @@ -35,9 +34,17 @@ function linux_install_prerequisites() { $SUDO ln -snf /usr/share/zoneinfo/$TZ /etc/localtime $SUDO sh -c 'echo $TZ > /etc/timezone' $SUDO apt-get update -y - $SUDO apt-get install -y g++ libeigen3-dev patchelf git cmake curl lsb-release python3 lsb-core + if [ "$OS" == "ubuntu" ]; then + $SUDO apt-get install -y g++ libeigen3-dev patchelf git cmake curl lsb-release python3 lsb-core + fi + if [ "$OS" == "debian" ]; then + $SUDO apt-get install -y g++ libeigen3-dev patchelf git cmake curl lsb-release python3 + fi $SUDO update-alternatives --install /usr/bin/python python /usr/bin/python3 10; \ + unix_version + if [ $LINUX_VERSION -lt 21 ] && [ "$OS" == "ubuntu" ]; then $SUDO update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 10; \ + fi } function setup() { @@ -72,28 +79,31 @@ function setup_var() { return 1 fi - if [ "OS" == "MAC" ]; then + if [ "$OS" == "MAC" ]; then BUILD_SHARED_LIBS="OFF" BUILD_STATIC_LIBS="ON" - elif [ "OS" == "UBUNTU"]; then + elif [ "$OS" == "ubuntu"]; then + BUILD_SHARED_LIBS="ON" + BUILD_STATIC_LIBS="OFF" + elif [ "$OS" == "debian"]; then BUILD_SHARED_LIBS="ON" BUILD_STATIC_LIBS="OFF" else - echo "OS ENV variable needs to be defined to either UBUNTU or MAC" + echo "OS ENV variable needs to be defined to either UBUNTU, DEBIAN or MAC" return 1 fi } function linux_build_hdf5() { # if ubuntu 18.04 or lower rely on apt-get hdf5 - ubuntu_version - if [ $UBUNTU_VERSION -lt 20 ]; then + unix_version + if [ $LINUX_VERSION -lt 20 ] && [ "$OS" == "ubuntu" ]; then $SUDO apt-get install -y libhdf5-serial-dev else cd ${PLUGIN_ABS_PATH} mkdir -p hdf5/bld cd hdf5 - git clone https://github.com/HDFGroup/hdf5.git -b hdf5-1_12_0 + git clone https://github.com/HDFGroup/hdf5.git -b hdf5-1_12_0 --depth 1 cd bld cmake ../hdf5 -DBUILD_SHARED_LIBS:BOOL=ON make @@ -110,7 +120,8 @@ function build_moab() { cd ${PLUGIN_ABS_PATH} mkdir -pv moab/bld cd moab - git clone https://bitbucket.org/fathomteam/moab -b 5.3.0 + # TODO change to 5.3.0 + git clone https://bitbucket.org/fathomteam/moab -b Version5.1.0 --depth 1 cd moab # patching MOAB CMakeLists.txt to use default find(HDF5) $SED -i "s/HDF5_MOAB/HDF5/" CMakeLists.txt @@ -134,7 +145,7 @@ function build_dagmc(){ cd ${PLUGIN_ABS_PATH} mkdir -pv DAGMC/bld cd DAGMC - git clone https://github.com/svalinn/DAGMC -b develop + git clone https://github.com/svalinn/DAGMC -b develop --depth 1 cd bld cmake ../DAGMC -DMOAB_DIR=${PLUGIN_ABS_PATH}/moab \ -DBUILD_UWUW=ON \ @@ -277,17 +288,6 @@ function mac_build_plugin_pkg(){ cp /usr/local/opt/szip/lib/libsz.2.dylib . install_name_tool -change /usr/local/opt/szip/lib/libsz.2.dylib @rpath/libsz.2.dylib libsvalinn_plugin.so - # restoring correct RPATH for 17.1 (bin does not exist as it is not shipped with SDK) - if [ "$1" == "17.1.0" ] ; then - install_name_tool -rpath ${CUBIT_PATH}/bin/plugins/svalinn ${CUBIT_PATH}/MacOS/plugins/svalinn libsvalinn_plugin.so - install_name_tool -rpath ${CUBIT_PATH}/bin/plugins/svalinn ${CUBIT_PATH}/MacOS/plugins/svalinn libiGeom.dylib - install_name_tool -rpath ${CUBIT_PATH}/bin/plugins/svalinn ${CUBIT_PATH}/MacOS/plugins/svalinn libmcnp2cad.dylib - install_name_tool -rpath ${CUBIT_PATH}/bin ${CUBIT_PATH}/MacOS libmcnp2cad.dylib - install_name_tool -rpath ${CUBIT_PATH}/bin ${CUBIT_PATH}/MacOS libiGeom.dylib - install_name_tool -rpath ${CUBIT_PATH}/bin ${CUBIT_PATH}/MacOS libsvalinn_plugin.so - fi - - # Create the Svalinn plugin tarball cd .. ln -sv svalinn/libsvalinn_plugin.so . From df9f99401dffa14d4f10d3dcb1800558711837f0 Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Mon, 9 Aug 2021 15:01:09 +0100 Subject: [PATCH 05/23] changed run-on cmd to include mac version --- .github/workflows/unix_mac.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unix_mac.yml b/.github/workflows/unix_mac.yml index effa78043..8d6e81c91 100644 --- a/.github/workflows/unix_mac.yml +++ b/.github/workflows/unix_mac.yml @@ -19,7 +19,7 @@ env: jobs: main: - runs-on: ${{ matrix.os }} + runs-on: ${{ matrix.os }}-${{ matrix.os_version }} strategy: matrix: cubit: [17.1.0, 2021.4, 2021.5] From ee908bbdc6a96deb029fc4f4c27f5e8704bf8751 Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Mon, 9 Aug 2021 15:43:57 +0100 Subject: [PATCH 06/23] adding RPATH back in --- scripts/unix_share_build.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/scripts/unix_share_build.sh b/scripts/unix_share_build.sh index 0c555b388..db6f1a253 100644 --- a/scripts/unix_share_build.sh +++ b/scripts/unix_share_build.sh @@ -26,7 +26,7 @@ function mac_install_prerequisites() { function unix_version() { export LINUX_VERSION=$(lsb_release -rs |cut -d"." -f1) - echo "Unix Version: " $LINUX_VERSION + echo "Linux Version: " $LINUX_VERSION } function linux_install_prerequisites() { @@ -41,7 +41,6 @@ function linux_install_prerequisites() { $SUDO apt-get install -y g++ libeigen3-dev patchelf git cmake curl lsb-release python3 fi $SUDO update-alternatives --install /usr/bin/python python /usr/bin/python3 10; \ - unix_version if [ $LINUX_VERSION -lt 21 ] && [ "$OS" == "ubuntu" ]; then $SUDO update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 10; \ fi @@ -288,6 +287,16 @@ function mac_build_plugin_pkg(){ cp /usr/local/opt/szip/lib/libsz.2.dylib . install_name_tool -change /usr/local/opt/szip/lib/libsz.2.dylib @rpath/libsz.2.dylib libsvalinn_plugin.so + # restoring correct RPATH for 17.1 (bin does not exist as it is not shipped with SDK) + if [ "$1" == "17.1.0" ] ; then + install_name_tool -rpath ${CUBIT_PATH}/bin/plugins/svalinn ${CUBIT_PATH}/MacOS/plugins/svalinn libsvalinn_plugin.so + install_name_tool -rpath ${CUBIT_PATH}/bin/plugins/svalinn ${CUBIT_PATH}/MacOS/plugins/svalinn libiGeom.dylib + install_name_tool -rpath ${CUBIT_PATH}/bin/plugins/svalinn ${CUBIT_PATH}/MacOS/plugins/svalinn libmcnp2cad.dylib + install_name_tool -rpath ${CUBIT_PATH}/bin ${CUBIT_PATH}/MacOS libmcnp2cad.dylib + install_name_tool -rpath ${CUBIT_PATH}/bin ${CUBIT_PATH}/MacOS libiGeom.dylib + install_name_tool -rpath ${CUBIT_PATH}/bin ${CUBIT_PATH}/MacOS libsvalinn_plugin.so + fi + # Create the Svalinn plugin tarball cd .. ln -sv svalinn/libsvalinn_plugin.so . From 74a9fc980ddd574cd2021dafb6961abd9be3959b Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Mon, 9 Aug 2021 15:44:25 +0100 Subject: [PATCH 07/23] renamed actions --- .github/workflows/unix_linux.yml | 2 +- .github/workflows/unix_mac.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/unix_linux.yml b/.github/workflows/unix_linux.yml index a839e20c4..80c287768 100644 --- a/.github/workflows/unix_linux.yml +++ b/.github/workflows/unix_linux.yml @@ -1,4 +1,4 @@ -name: Unix builds using Docker +name: Linux builds on: # allows us to run workflows manually diff --git a/.github/workflows/unix_mac.yml b/.github/workflows/unix_mac.yml index 8d6e81c91..5b73935e4 100644 --- a/.github/workflows/unix_mac.yml +++ b/.github/workflows/unix_mac.yml @@ -1,4 +1,4 @@ -name: Unix +name: Mac builds on: # allows us to run workflows manually From 11004ffd750b4730f30a1a7e24a52dd312f81b28 Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Mon, 9 Aug 2021 15:46:37 +0100 Subject: [PATCH 08/23] updated to moab 5.3.0 version --- scripts/unix_share_build.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/unix_share_build.sh b/scripts/unix_share_build.sh index db6f1a253..88974b016 100644 --- a/scripts/unix_share_build.sh +++ b/scripts/unix_share_build.sh @@ -119,8 +119,7 @@ function build_moab() { cd ${PLUGIN_ABS_PATH} mkdir -pv moab/bld cd moab - # TODO change to 5.3.0 - git clone https://bitbucket.org/fathomteam/moab -b Version5.1.0 --depth 1 + git clone https://bitbucket.org/fathomteam/moab -b 5.3.0 --depth 1 cd moab # patching MOAB CMakeLists.txt to use default find(HDF5) $SED -i "s/HDF5_MOAB/HDF5/" CMakeLists.txt From 61cfc42dc557fb114140d206caa72eab79d5c23f Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Mon, 9 Aug 2021 16:40:47 +0100 Subject: [PATCH 09/23] shallow clone of submodules for speedy download --- scripts/unix_share_build.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/unix_share_build.sh b/scripts/unix_share_build.sh index 88974b016..03c070198 100644 --- a/scripts/unix_share_build.sh +++ b/scripts/unix_share_build.sh @@ -102,7 +102,7 @@ function linux_build_hdf5() { cd ${PLUGIN_ABS_PATH} mkdir -p hdf5/bld cd hdf5 - git clone https://github.com/HDFGroup/hdf5.git -b hdf5-1_12_0 --depth 1 + git clone https://github.com/HDFGroup/hdf5.git -b hdf5-1_12_0 --depth 1 --shallow-submodules cd bld cmake ../hdf5 -DBUILD_SHARED_LIBS:BOOL=ON make @@ -119,7 +119,7 @@ function build_moab() { cd ${PLUGIN_ABS_PATH} mkdir -pv moab/bld cd moab - git clone https://bitbucket.org/fathomteam/moab -b 5.3.0 --depth 1 + git clone https://bitbucket.org/fathomteam/moab -b 5.3.0 --depth 1 --shallow-submodules cd moab # patching MOAB CMakeLists.txt to use default find(HDF5) $SED -i "s/HDF5_MOAB/HDF5/" CMakeLists.txt @@ -143,7 +143,7 @@ function build_dagmc(){ cd ${PLUGIN_ABS_PATH} mkdir -pv DAGMC/bld cd DAGMC - git clone https://github.com/svalinn/DAGMC -b develop --depth 1 + git clone https://github.com/svalinn/DAGMC -b develop --depth 1 --shallow-submodules cd bld cmake ../DAGMC -DMOAB_DIR=${PLUGIN_ABS_PATH}/moab \ -DBUILD_UWUW=ON \ From e3d1603831f55d3172a5c820f33e5986a2ca5c23 Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Mon, 9 Aug 2021 17:30:58 +0100 Subject: [PATCH 10/23] removed some mac specific code --- .github/workflows/unix_linux.yml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/.github/workflows/unix_linux.yml b/.github/workflows/unix_linux.yml index 80c287768..fc00fa58e 100644 --- a/.github/workflows/unix_linux.yml +++ b/.github/workflows/unix_linux.yml @@ -18,7 +18,7 @@ env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} jobs: - main: + building-plugin: runs-on: ubuntu-latest strategy: matrix: @@ -93,15 +93,6 @@ jobs: echo "CUBIT_PATH=/opt/${CUBIT_BASE_NAME}" >> $GITHUB_ENV echo "COREFORM_BASE_URL=${COREFORM_BASE_URL}/Linux/" >> $GITHUB_ENV echo "HDF5_PATH=${HDF5_PATH}" >> $GITHUB_ENV - elif [ "${{ matrix.os }}" == "mac" ]; then - SUFFIX=Mac64 - EXT=dmg - echo "SED=gsed" >> $GITHUB_ENV - echo "BUILD_SHARED_LIBS=OFF" >> $GITHUB_ENV - echo "BUILD_STATIC_LIBS=ON" >> $GITHUB_ENV - echo "system=mac" >> $GITHUB_ENV - echo "CUBIT_PATH=/Applications/${CUBIT_BASE_NAME}.app/Contents" >> $GITHUB_ENV - echo "COREFORM_BASE_URL=${COREFORM_BASE_URL}/MacOS/" >> $GITHUB_ENV fi echo "OS=${{ matrix.os }}" >> $GITHUB_ENV From c2409979203bfe2227899ec7a5ba22cad50d4e7b Mon Sep 17 00:00:00 2001 From: Jonathan Date: Mon, 9 Aug 2021 20:03:05 +0100 Subject: [PATCH 11/23] comment from review --- .github/workflows/unix_linux.yml | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/.github/workflows/unix_linux.yml b/.github/workflows/unix_linux.yml index fc00fa58e..712aca657 100644 --- a/.github/workflows/unix_linux.yml +++ b/.github/workflows/unix_linux.yml @@ -49,18 +49,13 @@ jobs: - name: install new git shell: bash -l {0} run: | + apt-get update + apt-get install -y software-properties-common curl if [ "${{ matrix.os }}" == "ubuntu" ]; then - apt-get update - apt-get install -y software-properties-common add-apt-repository ppa:git-core/ppa apt-get update - apt-get install -y git - elif [ "${{ matrix.os }}" == "debian" ]; then - apt update - apt-get install -y software-properties-common - apt update - apt install -y git fi + apt-get install -y git - uses: actions/checkout@v2 - name: Environment Variables @@ -83,17 +78,15 @@ jobs: HDF5_PATH=/usr/local/HDF_Group/HDF5/1.12.0 fi - if [ "${{ matrix.os }}" == "debian" ] || [ "${{ matrix.os }}" == "ubuntu" ]; then - SUFFIX=Lin64 - EXT=deb - echo "SED=sed" >> $GITHUB_ENV - echo "BUILD_SHARED_LIBS=ON" >> $GITHUB_ENV - echo "BUILD_STATIC_LIBS=OFF" >> $GITHUB_ENV - echo "system=linux" >> $GITHUB_ENV - echo "CUBIT_PATH=/opt/${CUBIT_BASE_NAME}" >> $GITHUB_ENV - echo "COREFORM_BASE_URL=${COREFORM_BASE_URL}/Linux/" >> $GITHUB_ENV - echo "HDF5_PATH=${HDF5_PATH}" >> $GITHUB_ENV - fi + SUFFIX=Lin64 + EXT=deb + echo "SED=sed" >> $GITHUB_ENV + echo "BUILD_SHARED_LIBS=ON" >> $GITHUB_ENV + echo "BUILD_STATIC_LIBS=OFF" >> $GITHUB_ENV + echo "system=linux" >> $GITHUB_ENV + echo "CUBIT_PATH=/opt/${CUBIT_BASE_NAME}" >> $GITHUB_ENV + echo "COREFORM_BASE_URL=${COREFORM_BASE_URL}/Linux/" >> $GITHUB_ENV + echo "HDF5_PATH=${HDF5_PATH}" >> $GITHUB_ENV echo "OS=${{ matrix.os }}" >> $GITHUB_ENV echo "CMAKE_ADDITIONAL_FLAGS=-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0" >> $GITHUB_ENV @@ -120,7 +113,6 @@ jobs: run: | mkdir -p $FOLDER_PKG cd ${FOLDER_PKG} - apt-get install -y curl curl -L ${COREFORM_BASE_URL}${CUBIT_PKG} --output ${CUBIT_PKG} if [ "${{ matrix.cubit }}" = "17.1.0" ]; then curl -L ${COREFORM_BASE_URL}${CUBIT_SDK_PKG} --output ${CUBIT_SDK_PKG} From ea85835e947dc70b0937317d4bf11875250a2493 Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Tue, 10 Aug 2021 10:23:04 +0100 Subject: [PATCH 12/23] trigger error when no asset file found Co-authored-by: Baptiste Mouginot <15145274+bam241@users.noreply.github.com> --- .github/workflows/unix_linux.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/unix_linux.yml b/.github/workflows/unix_linux.yml index 712aca657..3db933b2a 100644 --- a/.github/workflows/unix_linux.yml +++ b/.github/workflows/unix_linux.yml @@ -155,6 +155,7 @@ jobs: with: name: svalinn-plugin_${{ matrix.os }}-${{ matrix.os_version }}_cubit_${{ matrix.cubit }}.tgz path: ${{ github.workspace }}/release/svalinn-plugin_${{ matrix.os }}-${{ matrix.os_version }}_cubit_${{ matrix.cubit }}.tgz + if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` - if: github.event_name == 'release' name: Upload binaries into the release From e634ff86d6501daaea2a69c4a627710fd5f76a62 Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Tue, 10 Aug 2021 10:54:34 +0100 Subject: [PATCH 13/23] added os_version to unix build macro --- .github/workflows/unix_linux.yml | 1 + scripts/unix_share_build.sh | 13 +++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/unix_linux.yml b/.github/workflows/unix_linux.yml index 3db933b2a..4e43d5760 100644 --- a/.github/workflows/unix_linux.yml +++ b/.github/workflows/unix_linux.yml @@ -89,6 +89,7 @@ jobs: echo "HDF5_PATH=${HDF5_PATH}" >> $GITHUB_ENV echo "OS=${{ matrix.os }}" >> $GITHUB_ENV + echo "OS_VERSION=${{ matrix.os_version }}" >> $GITHUB_ENV echo "CMAKE_ADDITIONAL_FLAGS=-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0" >> $GITHUB_ENV echo "CUBIT_PKG=${BASE}-${SUFFIX}.${EXT}" >> $GITHUB_ENV diff --git a/scripts/unix_share_build.sh b/scripts/unix_share_build.sh index 03c070198..b953a862e 100644 --- a/scripts/unix_share_build.sh +++ b/scripts/unix_share_build.sh @@ -12,6 +12,7 @@ # - SUDO : specify the command prefix to run as root (if any) # - SED : command to run sed (usually sed for linux, gsed for mac) # - OS : reference to the Operating system, used to name the plugin tarball (and when using setup_var() function) +# - OS_VERSION : reference to the Operating system version, used to name the plugin tarball (and when using setup_var() function) set -ex @@ -271,9 +272,9 @@ function linux_build_plugin_pkg(){ cd .. ln -sv svalinn/libsvalinn_plugin.so . cd ../.. - tar --sort=name -czvf svalinn-plugin_${OS}_cubit_$1.tgz bin - chmod 666 svalinn-plugin_${OS}_cubit_$1.tgz - cp svalinn-plugin_${OS}_cubit_$1.tgz $SCRIPTPATH/release/ + tar --sort=name -czvf svalinn-plugin_${OS}-${OS_VERSION}_cubit_$1.tgz bin + chmod 666 svalinn-plugin_${OS}-${OS_VERSION}_cubit_$1.tgz + cp svalinn-plugin_${OS}-${OS_VERSION}_cubit_$1.tgz $SCRIPTPATH/release/ } function mac_build_plugin_pkg(){ @@ -300,7 +301,7 @@ function mac_build_plugin_pkg(){ cd .. ln -sv svalinn/libsvalinn_plugin.so . cd ../.. - tar -czvf svalinn-plugin_${OS}_cubit_${1}.tgz MacOS - chmod 666 svalinn-plugin_${OS}_cubit_$1.tgz - cp svalinn-plugin_${OS}_cubit_$1.tgz $SCRIPTPATH/release/ + tar -czvf svalinn-plugin_${OS}-${OS_VERSION}_cubit_${1}.tgz MacOS + chmod 666 svalinn-plugin_${OS}-${OS_VERSION}_cubit_$1.tgz + cp svalinn-plugin_${OS}-${OS_VERSION}_cubit_$1.tgz $SCRIPTPATH/release/ } From 63cd0ae68f3f7e42e41681c25da87ee629e18032 Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Tue, 10 Aug 2021 12:48:17 +0100 Subject: [PATCH 14/23] using varible for filename --- scripts/unix_share_build.sh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/scripts/unix_share_build.sh b/scripts/unix_share_build.sh index b953a862e..c3fbe86c8 100644 --- a/scripts/unix_share_build.sh +++ b/scripts/unix_share_build.sh @@ -272,9 +272,10 @@ function linux_build_plugin_pkg(){ cd .. ln -sv svalinn/libsvalinn_plugin.so . cd ../.. - tar --sort=name -czvf svalinn-plugin_${OS}-${OS_VERSION}_cubit_$1.tgz bin - chmod 666 svalinn-plugin_${OS}-${OS_VERSION}_cubit_$1.tgz - cp svalinn-plugin_${OS}-${OS_VERSION}_cubit_$1.tgz $SCRIPTPATH/release/ + PLUGIN_FILENAME=svalinn-plugin_${OS}-${OS_VERSION}_cubit_$1.tgz + tar --sort=name -czvf ${PLUGIN_FILENAME} bin + chmod 666 ${PLUGIN_FILENAME} + cp ${PLUGIN_FILENAME} $SCRIPTPATH/release/ } function mac_build_plugin_pkg(){ @@ -301,7 +302,8 @@ function mac_build_plugin_pkg(){ cd .. ln -sv svalinn/libsvalinn_plugin.so . cd ../.. - tar -czvf svalinn-plugin_${OS}-${OS_VERSION}_cubit_${1}.tgz MacOS - chmod 666 svalinn-plugin_${OS}-${OS_VERSION}_cubit_$1.tgz - cp svalinn-plugin_${OS}-${OS_VERSION}_cubit_$1.tgz $SCRIPTPATH/release/ + PLUGIN_FILENAME=svalinn-plugin_${OS}-${OS_VERSION}_cubit_$1.tgz + tar -czvf ${PLUGIN_FILENAME} MacOS + chmod 666 ${PLUGIN_FILENAME} + cp ${PLUGIN_FILENAME} $SCRIPTPATH/release/ } From 06ce7c63c03bb644b852dc17d287dad85ad3fbe8 Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Tue, 10 Aug 2021 13:08:02 +0100 Subject: [PATCH 15/23] raise error if mac of build doesn't make a file Co-authored-by: Baptiste Mouginot <15145274+bam241@users.noreply.github.com> --- .github/workflows/unix_mac.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/unix_mac.yml b/.github/workflows/unix_mac.yml index 5b73935e4..1efecea1a 100644 --- a/.github/workflows/unix_mac.yml +++ b/.github/workflows/unix_mac.yml @@ -128,6 +128,7 @@ jobs: with: name: svalinn-plugin_${{ matrix.os }}-${{ matrix.os_version }}_cubit_${{ matrix.cubit }}.tgz path: ${{ github.workspace }}/release/svalinn-plugin_${{ matrix.os }}-${{ matrix.os_version }}_cubit_${{ matrix.cubit }}.tgz + if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` - if: github.event_name == 'release' name: Upload binaries into the release From 6dc6a66c19c8799746fce1dda092a2e821794614 Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Tue, 10 Aug 2021 13:14:45 +0100 Subject: [PATCH 16/23] sudo and os_version set as enviromental varibles --- .github/workflows/unix_linux.yml | 1 + .github/workflows/unix_mac.yml | 2 ++ 2 files changed, 3 insertions(+) diff --git a/.github/workflows/unix_linux.yml b/.github/workflows/unix_linux.yml index 4e43d5760..f8d18f10d 100644 --- a/.github/workflows/unix_linux.yml +++ b/.github/workflows/unix_linux.yml @@ -88,6 +88,7 @@ jobs: echo "COREFORM_BASE_URL=${COREFORM_BASE_URL}/Linux/" >> $GITHUB_ENV echo "HDF5_PATH=${HDF5_PATH}" >> $GITHUB_ENV + echo "SUDO=''" >> $GITHUB_ENV echo "OS=${{ matrix.os }}" >> $GITHUB_ENV echo "OS_VERSION=${{ matrix.os_version }}" >> $GITHUB_ENV echo "CMAKE_ADDITIONAL_FLAGS=-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0" >> $GITHUB_ENV diff --git a/.github/workflows/unix_mac.yml b/.github/workflows/unix_mac.yml index 1efecea1a..608e6ab9e 100644 --- a/.github/workflows/unix_mac.yml +++ b/.github/workflows/unix_mac.yml @@ -61,7 +61,9 @@ jobs: echo "CUBIT_PATH=/Applications/${CUBIT_BASE_NAME}.app/Contents" >> $GITHUB_ENV echo "COREFORM_BASE_URL=${COREFORM_BASE_URL}/MacOS/" >> $GITHUB_ENV + echo "SUDO=''" >> $GITHUB_ENV echo "OS=${{ matrix.os }}" >> $GITHUB_ENV + echo "OS_VERSION=${{ matrix.os_version }}" >> $GITHUB_ENV echo "CMAKE_ADDITIONAL_FLAGS=-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0" >> $GITHUB_ENV echo "CUBIT_PKG=${BASE}-${SUFFIX}.${EXT}" >> $GITHUB_ENV From 1eb87394eea41cb8ece34084d8608edc0b0baeae Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Tue, 10 Aug 2021 13:23:36 +0100 Subject: [PATCH 17/23] no longer setting SUDO to empty string --- .github/workflows/unix_linux.yml | 1 - .github/workflows/unix_mac.yml | 1 - 2 files changed, 2 deletions(-) diff --git a/.github/workflows/unix_linux.yml b/.github/workflows/unix_linux.yml index f8d18f10d..4e43d5760 100644 --- a/.github/workflows/unix_linux.yml +++ b/.github/workflows/unix_linux.yml @@ -88,7 +88,6 @@ jobs: echo "COREFORM_BASE_URL=${COREFORM_BASE_URL}/Linux/" >> $GITHUB_ENV echo "HDF5_PATH=${HDF5_PATH}" >> $GITHUB_ENV - echo "SUDO=''" >> $GITHUB_ENV echo "OS=${{ matrix.os }}" >> $GITHUB_ENV echo "OS_VERSION=${{ matrix.os_version }}" >> $GITHUB_ENV echo "CMAKE_ADDITIONAL_FLAGS=-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0" >> $GITHUB_ENV diff --git a/.github/workflows/unix_mac.yml b/.github/workflows/unix_mac.yml index 608e6ab9e..51f409b9c 100644 --- a/.github/workflows/unix_mac.yml +++ b/.github/workflows/unix_mac.yml @@ -61,7 +61,6 @@ jobs: echo "CUBIT_PATH=/Applications/${CUBIT_BASE_NAME}.app/Contents" >> $GITHUB_ENV echo "COREFORM_BASE_URL=${COREFORM_BASE_URL}/MacOS/" >> $GITHUB_ENV - echo "SUDO=''" >> $GITHUB_ENV echo "OS=${{ matrix.os }}" >> $GITHUB_ENV echo "OS_VERSION=${{ matrix.os_version }}" >> $GITHUB_ENV echo "CMAKE_ADDITIONAL_FLAGS=-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0" >> $GITHUB_ENV From 8cb3fdc08a45e68bd9839146ffe3e4b499a463a8 Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Tue, 10 Aug 2021 13:25:39 +0100 Subject: [PATCH 18/23] using strings for os_version to avoid rounding --- .github/workflows/unix_linux.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/unix_linux.yml b/.github/workflows/unix_linux.yml index 4e43d5760..d248a670c 100644 --- a/.github/workflows/unix_linux.yml +++ b/.github/workflows/unix_linux.yml @@ -33,11 +33,11 @@ jobs: # cubit: 2021.5 - os: ubuntu - os_version: 20.04 + os_version: '20.04' cubit: 2021.5 - os: debian - os_version: 10.10 + os_version: '10.10' # using a 'string' here as the 0 gets removed otherwise cubit: 2021.5 name: 'Cubit Svalinn Plugin ${{ matrix.cubit }} Build for ${{ matrix.os }} ${{ matrix.os_version }}' From 90feb37df700f381a7c7e3adb4d9ca632770b5dd Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Tue, 10 Aug 2021 13:34:08 +0100 Subject: [PATCH 19/23] adding more combination of os and os version for builds --- .github/workflows/unix_linux.yml | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/.github/workflows/unix_linux.yml b/.github/workflows/unix_linux.yml index d248a670c..7d578e3a2 100644 --- a/.github/workflows/unix_linux.yml +++ b/.github/workflows/unix_linux.yml @@ -22,23 +22,22 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - cubit: [2021.5] + cubit: [17.1.0, 2021.4, 2021.5] os: [ubuntu] - os_version: [21.04] + os_version: [20.04, 21.04] include: - - # this combination is in the inital matrix - # - os: ubuntu - # os_version: 21.04 - # cubit: 2021.5 - - os: ubuntu - os_version: '20.04' - cubit: 2021.5 + os_version: 18.04 + cubit: 17.1.0 - os: debian - os_version: '10.10' # using a 'string' here as the 0 gets removed otherwise + os_version: '10.10' # using a 'string' here as the 0 gets rounded away otherwise cubit: 2021.5 + + exclude: + - os: ubuntu + os_version: 20.04 + cubit: 17.1.0 name: 'Cubit Svalinn Plugin ${{ matrix.cubit }} Build for ${{ matrix.os }} ${{ matrix.os_version }}' From 089a9ad2408a3e5c14a35e163e3b7879f5f2d54f Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Tue, 10 Aug 2021 13:38:00 +0100 Subject: [PATCH 20/23] reversed name to make jobs more readable --- .github/workflows/unix_linux.yml | 2 +- .github/workflows/unix_mac.yml | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/unix_linux.yml b/.github/workflows/unix_linux.yml index 7d578e3a2..9793ea3a7 100644 --- a/.github/workflows/unix_linux.yml +++ b/.github/workflows/unix_linux.yml @@ -39,7 +39,7 @@ jobs: os_version: 20.04 cubit: 17.1.0 - name: 'Cubit Svalinn Plugin ${{ matrix.cubit }} Build for ${{ matrix.os }} ${{ matrix.os_version }}' + name: 'Cubit ${{ matrix.cubit }} Build for ${{ matrix.os }} ${{ matrix.os_version }} of Svalinn Plugin' container: image: ${{ matrix.os }}:${{ matrix.os_version }} diff --git a/.github/workflows/unix_mac.yml b/.github/workflows/unix_mac.yml index 51f409b9c..409c02fcf 100644 --- a/.github/workflows/unix_mac.yml +++ b/.github/workflows/unix_mac.yml @@ -25,9 +25,8 @@ jobs: cubit: [17.1.0, 2021.4, 2021.5] os: [macos] os_version: [10.15] - - name: 'Cubit Svalinn Plugin ${{ matrix.cubit }} Build for ${{ matrix.os }} ${{ matrix.os_version }}' + name: 'Cubit ${{ matrix.cubit }} Build for ${{ matrix.os }} ${{ matrix.os_version }} of Svalinn Plugin' steps: - uses: actions/checkout@v2 From 631f97d8fb403860c1dc4353424d2e3a63480cf5 Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Tue, 10 Aug 2021 13:57:33 +0100 Subject: [PATCH 21/23] simplified build matrix with less cubit 17.0.1 builds --- .github/workflows/unix_linux.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/unix_linux.yml b/.github/workflows/unix_linux.yml index 9793ea3a7..020d3a739 100644 --- a/.github/workflows/unix_linux.yml +++ b/.github/workflows/unix_linux.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - cubit: [17.1.0, 2021.4, 2021.5] + cubit: [2021.4, 2021.5] os: [ubuntu] os_version: [20.04, 21.04] include: @@ -33,11 +33,7 @@ jobs: - os: debian os_version: '10.10' # using a 'string' here as the 0 gets rounded away otherwise cubit: 2021.5 - - exclude: - - os: ubuntu - os_version: 20.04 - cubit: 17.1.0 + name: 'Cubit ${{ matrix.cubit }} Build for ${{ matrix.os }} ${{ matrix.os_version }} of Svalinn Plugin' From c29347b3b61fe893db4547a2379023651d688596 Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Tue, 10 Aug 2021 15:21:47 +0100 Subject: [PATCH 22/23] adding ubuntu 18.04 to the matrix --- .github/workflows/unix_linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unix_linux.yml b/.github/workflows/unix_linux.yml index 020d3a739..970b13503 100644 --- a/.github/workflows/unix_linux.yml +++ b/.github/workflows/unix_linux.yml @@ -24,7 +24,7 @@ jobs: matrix: cubit: [2021.4, 2021.5] os: [ubuntu] - os_version: [20.04, 21.04] + os_version: [18.04, 20.04, 21.04] include: - os: ubuntu os_version: 18.04 From 9b5daa1ff8594cee7d831ffd558ab5a30f809b68 Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Tue, 10 Aug 2021 15:43:32 +0100 Subject: [PATCH 23/23] removing ubuntu 18.04 from matrix --- .github/workflows/unix_linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unix_linux.yml b/.github/workflows/unix_linux.yml index 970b13503..020d3a739 100644 --- a/.github/workflows/unix_linux.yml +++ b/.github/workflows/unix_linux.yml @@ -24,7 +24,7 @@ jobs: matrix: cubit: [2021.4, 2021.5] os: [ubuntu] - os_version: [18.04, 20.04, 21.04] + os_version: [20.04, 21.04] include: - os: ubuntu os_version: 18.04