From 9b53fd76b1c7fc7602a858738b8ab194ac00ec73 Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Sun, 23 Aug 2026 00:22:01 +0800 Subject: [PATCH] CI: Replace setup-miniconda with setup-micromamba on macOS --- .github/workflows/build.yml | 4 ++-- .github/workflows/docs.yml | 4 ++-- .github/workflows/tests.yml | 4 ++-- ci/install-dependencies-macos.sh | 21 +++++++++++---------- 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0fed49b6c3f..ca46d046f9d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -71,8 +71,8 @@ jobs: env: GH_TOKEN: ${{ github.token }} - - name: Setup conda (macOS) - uses: conda-incubator/setup-miniconda@v4 + - name: Setup micromamba (macOS) + uses: mamba-org/setup-micromamba@v3.1.0 if: runner.os == 'macOS' - name: Install GMT dependencies diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 91122978b62..f5f8f4b5e5b 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -65,8 +65,8 @@ jobs: env: GH_TOKEN: ${{ github.token }} - - name: Setup conda (macOS) - uses: conda-incubator/setup-miniconda@v4 + - name: Setup micromamba (macOS) + uses: mamba-org/setup-micromamba@v3.1.0 if: runner.os == 'macOS' - name: Install GMT dependencies diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 74ad4e1dd0f..3d055dbb5d0 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -69,8 +69,8 @@ jobs: env: GH_TOKEN: ${{ github.token }} - - name: Setup conda - uses: conda-incubator/setup-miniconda@v4 + - name: Setup micromamba + uses: mamba-org/setup-micromamba@v3.1.0 if: runner.os == 'macOS' - name: Install GMT dependencies diff --git a/ci/install-dependencies-macos.sh b/ci/install-dependencies-macos.sh index cc92e9b6652..999f3e75710 100755 --- a/ci/install-dependencies-macos.sh +++ b/ci/install-dependencies-macos.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# Bash script to install GMT dependencies on macOS via Homebrew and conda +# Bash script to install GMT dependencies on macOS via Homebrew and micromamba # # Environmental variables that can control the installation: # @@ -18,18 +18,18 @@ PACKAGE="${PACKAGE:-false}" # packages for compiling GMT # cmake is pre-installed on GitHub Actions packages="ninja curl pcre2 netcdf gdal geos fftw libomp" -conda_packages="ghostscript=10.03.0" +mamba_packages="ghostscript=10.03.0" # packages for build documentation if [ "$BUILD_DOCS" = "true" ]; then packages+=" pngquant" - conda_packages+=" sphinx dvc" + mamba_packages+=" sphinx dvc" fi # packages for running GMT tests if [ "$RUN_TESTS" = "true" ]; then packages+=" graphicsmagick" - conda_packages+=" dvc" + mamba_packages+=" dvc" fi if [ "$PACKAGE" = "true" ]; then @@ -41,16 +41,17 @@ fi #brew update brew install ${packages} -# Install packages via conda -conda install ${conda_packages} -c conda-forge -echo "${CONDA}/bin" >> $GITHUB_PATH +# Install packages via micromamba into a dedicated environment +micromamba create --yes --name gmt ${mamba_packages} -c conda-forge +MAMBA_PREFIX="${MAMBA_ROOT_PREFIX}/envs/gmt" +echo "${MAMBA_PREFIX}/bin" >> $GITHUB_PATH -# Remove pcre-config from conda's path so cmake won't find the conda's one -rm -f ${CONDA}/bin/pcre-config ${CONDA}/bin/pcre2-config +# Remove pcre-config from micromamba's path so cmake won't find the micromamba's one +rm -f ${MAMBA_PREFIX}/bin/pcre-config ${MAMBA_PREFIX}/bin/pcre2-config # Install Sphinx extensions if [ "$BUILD_DOCS" = "true" ]; then - ${CONDA}/bin/python -m pip install --user -r doc/rst/requirements.txt + ${MAMBA_PREFIX}/bin/python -m pip install --user -r doc/rst/requirements.txt fi set +x +e