Skip to content

Commit

Permalink
ci,macos: use conda for all deps
Browse files Browse the repository at this point in the history
  • Loading branch information
vicentebolea committed Jul 27, 2024
1 parent c75e1c5 commit e406a23
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 42 deletions.
27 changes: 16 additions & 11 deletions .github/workflows/everything.yml
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ jobs:

ubuntu:
needs: [format, git_checks]
if: needs.git_checks.outputs.num_code_changes > 0
if: false

runs-on: ubuntu-20.04
container:
Expand Down Expand Up @@ -208,7 +208,7 @@ jobs:

el8:
needs: [format, git_checks]
if: needs.git_checks.outputs.num_code_changes > 0
if: false

runs-on: ubuntu-latest
container:
Expand Down Expand Up @@ -281,6 +281,7 @@ jobs:
GH_YML_MATRIX_OS: ${{ matrix.image }}
GH_YML_MATRIX_COMPILER: ${{ matrix.compiler }}
GH_YML_MATRIX_PARALLEL: ${{ matrix.parallel }}
GH_YML_MATRIX_ARCH : ${{ matrix.arch}}
CCACHE_BASEDIR: "${GITHUB_WORKSPACE}"
CCACHE_DIR: "${GITHUB_WORKSPACE}/.ccache"
CCACHE_COMPRESS: true
Expand All @@ -292,6 +293,10 @@ jobs:
image: [macos-13, macos-14]
shared: [static, shared]
include:
- image: macos-13
arch: x64
- image: macos-14
arch: arm64
- parallel: serial
- image: macos-13
compiler: xcode14_2
Expand All @@ -300,6 +305,9 @@ jobs:
exclude:
- image: macos-13
shared: static
defaults:
run:
shell: bash --rcfile /Users/runner/.bash_profile -e {0}

steps:
- uses: actions/checkout@v4
Expand All @@ -320,15 +328,15 @@ jobs:
restore-keys: |
ccache-${{ matrix.image }}-${{ matrix.compiler }}-${{ matrix.parallel }}
- name: Configure cache
run: ccache -z
run: conda activate adios2; ccache -z
- name: Update
run: gha/scripts/ci/gh-actions/run.sh update
- name: Configure
run: gha/scripts/ci/gh-actions/run.sh configure
- name: Build
run: gha/scripts/ci/gh-actions/run.sh build
- name: Print ccache statistics
run: ccache -s
run: conda activate adios2; ccache -s
- name: Save cache
uses: actions/cache/save@v3
if: ${{ github.ref_name == 'master' && steps.restore-cache.outputs.cache-hit != 'true' }}
Expand All @@ -341,7 +349,7 @@ jobs:

windows:
needs: [format, git_checks]
if: needs.git_checks.outputs.num_code_changes > 0
if: false

runs-on: ${{ matrix.image }}
env:
Expand Down Expand Up @@ -370,10 +378,6 @@ jobs:
compiler: vs2022
parallel: serial

defaults:
run:
shell: bash

steps:
- uses: actions/checkout@v4
with:
Expand All @@ -400,7 +404,7 @@ jobs:

docker:
needs: [format, git_checks]
if: needs.git_checks.outputs.num_code_changes > 0
if: false

runs-on: ubuntu-latest
strategy:
Expand Down Expand Up @@ -465,7 +469,7 @@ jobs:
# standard container job.
contract:
needs: [format, git_checks, docker]
if: needs.git_checks.outputs.num_code_changes > 0
if: false

runs-on: ubuntu-latest
strategy:
Expand Down Expand Up @@ -521,6 +525,7 @@ jobs:

analyze:
needs: [format, git_checks]
if: false
name: CodeQL
runs-on: ubuntu-latest
container:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/pypackaging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ env:
jobs:
make_sdist:
name: Make SDist
if: false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -41,6 +42,7 @@ jobs:
build_wheels:
name: Wheel on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
if: false
strategy:
fail-fast: false
matrix:
Expand Down
55 changes: 24 additions & 31 deletions scripts/ci/gh-actions/macos-setup.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash

set -e
set -xe

echo "Setting up default XCode version"
if [ -z "${GH_YML_MATRIX_COMPILER}" ]
Expand All @@ -16,39 +16,32 @@ then
fi
sudo xcode-select --switch "/Applications/Xcode_${XCODE_VER}.app"

echo "Installing CMake"
echo "Installing Miniconda"

{
readonly version="3.24.2"
readonly checksum="efb11a78c064dd7c54a50b8da247254d252112c402c6e48cb7db3f9c84a4e5ad"
readonly pkg="cmake-${version}-macos-universal.tar.gz"
echo "${checksum} ${pkg}" > cmake.sha256sum

curl -OL "https://github.com/Kitware/CMake/releases/download/v${version}/${pkg}"
shasum -a 256 --check cmake.sha256sum

sudo tar -xvzf ${pkg} --strip-components 1 -C /Applications/
}
if [ "${RUNNER_ARCH}" = "X64" ]
then
readonly checksum="6d7c1cc138adfc4bb2ccbb8a22eb8e9eb13a366b6af0d63245b643e6c3a3c708"
readonly pkg="Miniconda3-py310_24.5.0-0-MacOSX-x86_64.sh"
elif [ "${RUNNER_ARCH}" = "ARM64" ]
then
readonly checksum="e422602aa19140c600b5889e5b41a0d7187640107ea82fcb5da857dd25330148"
readonly pkg="Miniconda3-py310_24.5.0-0-MacOSX-arm64.sh"
else
echo "Error: unknown platform: ${RUNNER_ARCH} "
exit 3
fi
echo "${checksum} ${pkg}" > miniconda.sha256sum

curl -OL "https://repo.anaconda.com/miniconda/${pkg}"
shasum -a 256 --check miniconda.sha256sum
bash "./${pkg}" -b

echo "Installing Ninja"
brew install ninja
# shellcheck source=/dev/null
source "/Users/runner/miniconda3/bin/activate"
conda init --all
conda update --all -y

echo "Installing GCC"
brew install gcc
conda create -n adios2 -c conda-forge -y ninja c-blosc2 numpy ccache openmpi mpi4py
sudo ln -v -s "$(which gfortran-11)" /usr/local/bin/gfortran

echo "Installing blosc compression"
brew install c-blosc

echo "Installing python3"
brew install python numpy

echo "Installing ccache"
brew install ccache

if [[ "$GH_YML_JOBNAME" =~ -ompi ]]
then
echo "Installing OpenMPI"
brew install openmpi mpi4py
fi
conda info --verbose
6 changes: 6 additions & 0 deletions scripts/ci/setup-run/ci-macOS.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash
set +u
# We do not use conda cmake, thus we have to hint cmake where is
# conda root dir.
export CMAKE_PREFIX_PATH="/Users/runner/miniconda3/Library:$CMAKE_PREFIX_PATH"
conda activate adios2

0 comments on commit e406a23

Please sign in to comment.