Bye bye Mambaforge and PyPy #1188
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: macos-latest | |
ARCH: arm64 | |
TARGET_PLATFORM: osx-arm64 | |
MINIFORGE_NAME: "Miniforge3" | |
OS_NAME: "MacOSX" | |
- os: macos-latest | |
ARCH: x86_64 | |
TARGET_PLATFORM: osx-64 | |
MINIFORGE_NAME: "Miniforge3" | |
OS_NAME: "MacOSX" | |
- os: ubuntu-latest | |
ARCH: aarch64 | |
TARGET_PLATFORM: linux-aarch64 | |
DOCKER_ARCH: arm64/v8 | |
DOCKERIMAGE: condaforge/linux-anvil-aarch64 | |
MINIFORGE_NAME: "Miniforge3" | |
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-cos7-x86_64 | |
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: "Miniforge3" | |
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" | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- uses: conda-incubator/setup-miniconda@d2e6a045a86077fb6cad6f5adf368e9076ddaa8d # v3.1.0 | |
with: | |
miniforge-version: "latest" | |
use-mamba: true | |
if: ${{ ! contains(matrix.OS_NAME, 'Linux') }} | |
- 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@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 | |
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.9.0 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: build/M*forge* | |
tag: ${{ github.ref }} | |
overwrite: true | |
file_glob: true | |
if: startsWith(github.ref, 'refs/tags/') |