Skip to content

Add warnings to deprecate Mambaforge #1050

Add warnings to deprecate Mambaforge

Add warnings to deprecate Mambaforge #1050

Workflow file for this run

name: Build miniforge
on: [ push, pull_request ]
jobs:
build:
name: ${{ matrix.MINIFORGE_NAME }}-${{ matrix.OS_NAME }}-${{ matrix.ARCH }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: windows-latest
ARCH: x86_64
TARGET_PLATFORM: win-64
MINIFORGE_NAME: "Miniforge3"
OS_NAME: "Windows"
- os: windows-latest
ARCH: x86_64
TARGET_PLATFORM: win-64
MINIFORGE_NAME: "Mambaforge"
OS_NAME: "Windows"
- os: windows-latest
ARCH: x86_64
TARGET_PLATFORM: win-64
MINIFORGE_NAME: "Miniforge-pypy3"
OS_NAME: "Windows"
- os: windows-latest
ARCH: x86_64
TARGET_PLATFORM: win-64
MINIFORGE_NAME: "Mambaforge-pypy3"
OS_NAME: "Windows"
- os: macos-latest
ARCH: arm64
TARGET_PLATFORM: osx-arm64
MINIFORGE_NAME: "Miniforge3"
OS_NAME: "MacOSX"
- os: macos-latest
ARCH: arm64
TARGET_PLATFORM: osx-arm64
MINIFORGE_NAME: "Mambaforge"
OS_NAME: "MacOSX"
- os: macos-latest
ARCH: x86_64
TARGET_PLATFORM: osx-64
MINIFORGE_NAME: "Miniforge-pypy3"
OS_NAME: "MacOSX"
- os: macos-latest
ARCH: x86_64
TARGET_PLATFORM: osx-64
MINIFORGE_NAME: "Mambaforge-pypy3"
OS_NAME: "MacOSX"
- os: macos-latest
ARCH: x86_64
TARGET_PLATFORM: osx-64
MINIFORGE_NAME: "Miniforge3"
OS_NAME: "MacOSX"
- os: macos-latest
ARCH: x86_64
TARGET_PLATFORM: osx-64
MINIFORGE_NAME: "Mambaforge"
OS_NAME: "MacOSX"
- os: ubuntu-latest
ARCH: aarch64
TARGET_PLATFORM: linux-aarch64
DOCKER_ARCH: arm64v8
DOCKERIMAGE: condaforge/linux-anvil-aarch64
MINIFORGE_NAME: "Miniforge3"
OS_NAME: "Linux"
- os: ubuntu-latest
ARCH: aarch64
TARGET_PLATFORM: linux-aarch64
DOCKER_ARCH: arm64v8
DOCKERIMAGE: condaforge/linux-anvil-aarch64
MINIFORGE_NAME: "Mambaforge"
OS_NAME: "Linux"
# Reduce the test matrix because the builds timeouts on emulated architectures
# The time consuming operation is an attempt a full solve of conda/mamba/boa
# for as a compatibility
# xref https://github.com/conda-forge/miniforge/pull/361
TEST_IMAGE_NAMES: "ubuntu:24.04"
- os: ubuntu-latest
ARCH: x86_64
TARGET_PLATFORM: linux-64
DOCKER_ARCH: amd64
DOCKERIMAGE: condaforge/linux-anvil-comp7
MINIFORGE_NAME: "Miniforge3"
OS_NAME: "Linux"
- os: ubuntu-latest
ARCH: x86_64
TARGET_PLATFORM: linux-64
DOCKER_ARCH: amd64
DOCKERIMAGE: condaforge/linux-anvil-comp7
MINIFORGE_NAME: "Mambaforge"
OS_NAME: "Linux"
- os: ubuntu-latest
ARCH: ppc64le
TARGET_PLATFORM: linux-ppc64le
DOCKER_ARCH: ppc64le
DOCKERIMAGE: condaforge/linux-anvil-ppc64le
MINIFORGE_NAME: "Miniforge3"
OS_NAME: "Linux"
- os: ubuntu-latest
ARCH: ppc64le
TARGET_PLATFORM: linux-ppc64le
DOCKER_ARCH: ppc64le
DOCKERIMAGE: condaforge/linux-anvil-ppc64le
MINIFORGE_NAME: "Mambaforge"
OS_NAME: "Linux"
# Reduce the test matrix because the builds timeouts on emulated architectures
# The time consuming operation is an attempt a full solve of conda/mamba/boa
# for as a compatibility
# xref https://github.com/conda-forge/miniforge/pull/361
TEST_IMAGE_NAMES: "ubuntu:24.04"
- os: ubuntu-latest
ARCH: aarch64
TARGET_PLATFORM: linux-aarch64
DOCKER_ARCH: arm64v8
DOCKERIMAGE: condaforge/linux-anvil-aarch64
MINIFORGE_NAME: "Miniforge-pypy3"
OS_NAME: "Linux"
- os: ubuntu-latest
ARCH: aarch64
TARGET_PLATFORM: linux-aarch64
DOCKER_ARCH: arm64v8
DOCKERIMAGE: condaforge/linux-anvil-aarch64
MINIFORGE_NAME: "Mambaforge-pypy3"
OS_NAME: "Linux"
# Reduce the test matrix because the builds timeouts on emulated architectures
# The time consuming operation is an attempt a full solve of conda/mamba/boa
# for as a compatibility
# xref https://github.com/conda-forge/miniforge/pull/361
TEST_IMAGE_NAMES: "ubuntu:24.04"
- os: ubuntu-latest
ARCH: x86_64
TARGET_PLATFORM: linux-64
DOCKER_ARCH: amd64
DOCKERIMAGE: condaforge/linux-anvil-comp7
MINIFORGE_NAME: "Miniforge-pypy3"
OS_NAME: "Linux"
- os: ubuntu-latest
ARCH: x86_64
TARGET_PLATFORM: linux-64
DOCKER_ARCH: amd64
DOCKERIMAGE: condaforge/linux-anvil-comp7
MINIFORGE_NAME: "Mambaforge-pypy3"
OS_NAME: "Linux"
- os: ubuntu-latest
ARCH: ppc64le
TARGET_PLATFORM: linux-ppc64le
DOCKER_ARCH: ppc64le
DOCKERIMAGE: condaforge/linux-anvil-ppc64le
MINIFORGE_NAME: "Miniforge-pypy3"
OS_NAME: "Linux"
- os: ubuntu-latest
ARCH: ppc64le
TARGET_PLATFORM: linux-ppc64le
DOCKER_ARCH: ppc64le
DOCKERIMAGE: condaforge/linux-anvil-ppc64le
MINIFORGE_NAME: "Mambaforge-pypy3"
OS_NAME: "Linux"
# Reduce the test matrix because the builds timeouts on emulated architectures
# The time consuming operation is an attempt a full solve of conda/mamba/boa
# for as a compatibility
# xref https://github.com/conda-forge/miniforge/pull/361
TEST_IMAGE_NAMES: "centos:7"
steps:
- name: Checkout code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- uses: conda-incubator/setup-miniconda@a4260408e20b96e80095f42ff7f1a15b27dd94ca # v3.0.4
with:
miniforge-version: "latest"
miniforge-variant: Mambaforge
use-mamba: true
if: ${{ ! contains(matrix.OS_NAME, 'Linux') }}
- name: Patch license for Mambaforge deprecation
if: matrix.MINIFORGE_NAME == 'Mambaforge' || matrix.MINIFORGE_NAME == 'Mambaforge-pypy3'
run: |
echo "!!!!!! Mambaforge is now deprecated !!!!!" > Miniforge3/MAMBAFORGE_LICENSE.txt
echo "Future Miniforge releases will NOT build Mambaforge installers." >> Miniforge3/MAMBAFORGE_LICENSE.txt
echo "We advise you switch to Miniforge at your earliest convenience." >> Miniforge3/MAMBAFORGE_LICENSE.txt
echo "More details at https://conda-forge.org/news/2024/07/29/sunsetting-mambaforge/." >> Miniforge3/MAMBAFORGE_LICENSE.txt
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" >> Miniforge3/MAMBAFORGE_LICENSE.txt
cat LICENSE >> Miniforge3/MAMBAFORGE_LICENSE.txt
echo "MINIFORGE_LICENSE_OVERRIDE=MAMBAFORGE_LICENSE.txt" >> $GITHUB_ENV
- name: Build and test miniforge
env:
ARCH: ${{ matrix.ARCH }}
MINIFORGE_NAME: ${{ matrix.MINIFORGE_NAME }}
OS_NAME: ${{ matrix.OS_NAME }}
DOCKERIMAGE: ${{ matrix.DOCKERIMAGE }}
DOCKER_ARCH: ${{ matrix.DOCKER_ARCH }}
TARGET_PLATFORM: ${{ matrix.TARGET_PLATFORM }}
TEST_IMAGE_NAMES: ${{ matrix.TEST_IMAGE_NAMES }}
run: |
if [[ "$GITHUB_REF" == refs/tags/* ]]; then
export MINIFORGE_VERSION=${GITHUB_REF##*/};
fi
if [[ "$OS_NAME" == "Linux" ]]; then
export EXT=sh
bash build_miniforge.sh;
fi
if [[ "$OS_NAME" == "MacOSX" ]]; then
export EXT=sh
bash build_miniforge_osx.sh;
fi
if [[ "$OS_NAME" == "Windows" ]]; then
export EXT=exe
echo "WINDIR:$WINDIR"
source "${CONDA}"/Scripts/activate;
source build_miniforge_win.sh;
fi
# Copy for latest release
cp build/$MINIFORGE_NAME-*-$OS_NAME-$ARCH.$EXT build/$MINIFORGE_NAME-$OS_NAME-$ARCH.$EXT
if [[ "$OS_NAME" == "MacOSX" ]]; then
cp build/$MINIFORGE_NAME-*-$OS_NAME-$ARCH.$EXT build/$MINIFORGE_NAME-Darwin-$ARCH.$EXT
fi
ls -alh build
shell: bash
- name: Upload miniforge to Github artifact
if: always()
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4
with:
path: build/${{ matrix.MINIFORGE_NAME }}-${{ matrix.OS_NAME }}-${{ matrix.ARCH }}*
name: ${{ matrix.MINIFORGE_NAME }}-${{ matrix.OS_NAME }}-${{ matrix.ARCH }}
- name: Upload miniforge to release
uses: svenstaro/upload-release-action@04733e069f2d7f7f0b4aebc4fbdbce8613b03ccd # v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: build/M*forge*
tag: ${{ github.ref }}
overwrite: true
file_glob: true
if: startsWith(github.ref, 'refs/tags/')