Skip to content

add windows build

add windows build #102

Workflow file for this run

# This file was generated automatically from conda-smithy. To update this configuration,
# update the conda-forge.yml and/or the recipe/meta.yaml.
# -*- mode: yaml -*-
name: Build conda package
on:
push:
branches:
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
jobs:
build:
name: ${{ matrix.CONFIG }}
runs-on: ${{ matrix.runs_on }}
timeout-minutes: 360
strategy:
fail-fast: false
matrix:
include:
- CONFIG: linux_64_numpy1.22python3.10.____cpython
SHORT_CONFIG: linux_64_numpy1.22python3.10.____cpython
UPLOAD_PACKAGES: True
os: ubuntu
runs_on: ['ubuntu-latest']
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
- CONFIG: linux_64_numpy1.22python3.9.____cpython
SHORT_CONFIG: linux_64_numpy1.22python3.9.____cpython
UPLOAD_PACKAGES: True
os: ubuntu
runs_on: ['ubuntu-latest']
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
- CONFIG: linux_64_numpy1.23python3.11.____cpython
SHORT_CONFIG: linux_64_numpy1.23python3.11.____cpython
UPLOAD_PACKAGES: True
os: ubuntu
runs_on: ['ubuntu-latest']
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
- CONFIG: linux_64_numpy1.26python3.12.____cpython
SHORT_CONFIG: linux_64_numpy1.26python3.12.____cpython
UPLOAD_PACKAGES: True
os: ubuntu
runs_on: ['ubuntu-latest']
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
- CONFIG: linux_aarch64_numpy1.22python3.10.____cpython
SHORT_CONFIG: linux_aarch64_numpy1.22python3.10.____cpython
UPLOAD_PACKAGES: True
os: ubuntu
runs_on: ['ubuntu-latest']
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
- CONFIG: linux_aarch64_numpy1.22python3.9.____cpython
SHORT_CONFIG: linux_aarch64_numpy1.22python3.9.____cpython
UPLOAD_PACKAGES: True
os: ubuntu
runs_on: ['ubuntu-latest']
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
- CONFIG: linux_aarch64_numpy1.23python3.11.____cpython
SHORT_CONFIG: linux_aarch64_numpy1.23python3.11.____cpython
UPLOAD_PACKAGES: True
os: ubuntu
runs_on: ['ubuntu-latest']
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
- CONFIG: linux_aarch64_numpy1.26python3.12.____cpython
SHORT_CONFIG: linux_aarch64_numpy1.26python3.12.____cpython
UPLOAD_PACKAGES: True
os: ubuntu
runs_on: ['ubuntu-latest']
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
- CONFIG: linux_ppc64le_numpy1.22python3.10.____cpython
SHORT_CONFIG: linux_ppc64le_numpy1.22python3.10.____cpython
UPLOAD_PACKAGES: True
os: ubuntu
runs_on: ['ubuntu-latest']
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
- CONFIG: linux_ppc64le_numpy1.22python3.9.____cpython
SHORT_CONFIG: linux_ppc64le_numpy1.22python3.9.____cpython
UPLOAD_PACKAGES: True
os: ubuntu
runs_on: ['ubuntu-latest']
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
- CONFIG: linux_ppc64le_numpy1.23python3.11.____cpython
SHORT_CONFIG: linux_ppc64le_numpy1.23python3.11.____cpython
UPLOAD_PACKAGES: True
os: ubuntu
runs_on: ['ubuntu-latest']
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
- CONFIG: linux_ppc64le_numpy1.26python3.12.____cpython
SHORT_CONFIG: linux_ppc64le_numpy1.26python3.12.____cpython
UPLOAD_PACKAGES: True
os: ubuntu
runs_on: ['ubuntu-latest']
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
- CONFIG: osx_64_numpy1.22python3.10.____cpython
SHORT_CONFIG: osx_64_numpy1.22python3.10.____cpython
UPLOAD_PACKAGES: True
os: macos
runs_on: ['macos-13']
- CONFIG: osx_64_numpy1.22python3.9.____cpython
SHORT_CONFIG: osx_64_numpy1.22python3.9.____cpython
UPLOAD_PACKAGES: True
os: macos
runs_on: ['macos-13']
- CONFIG: osx_64_numpy1.23python3.11.____cpython
SHORT_CONFIG: osx_64_numpy1.23python3.11.____cpython
UPLOAD_PACKAGES: True
os: macos
runs_on: ['macos-13']
- CONFIG: osx_64_numpy1.26python3.12.____cpython
SHORT_CONFIG: osx_64_numpy1.26python3.12.____cpython
UPLOAD_PACKAGES: True
os: macos
runs_on: ['macos-13']
- CONFIG: osx_arm64_numpy1.22python3.10.____cpython
SHORT_CONFIG: osx_arm64_numpy1.22python3.10.____cpython
UPLOAD_PACKAGES: True
os: macos
runs_on: ['macos-13']
- CONFIG: osx_arm64_numpy1.22python3.9.____cpython
SHORT_CONFIG: osx_arm64_numpy1.22python3.9.____cpython
UPLOAD_PACKAGES: True
os: macos
runs_on: ['macos-13']
- CONFIG: osx_arm64_numpy1.23python3.11.____cpython
SHORT_CONFIG: osx_arm64_numpy1.23python3.11.____cpython
UPLOAD_PACKAGES: True
os: macos
runs_on: ['macos-13']
- CONFIG: osx_arm64_numpy1.26python3.12.____cpython
SHORT_CONFIG: osx_arm64_numpy1.26python3.12.____cpython
UPLOAD_PACKAGES: True
os: macos
runs_on: ['macos-13']
- CONFIG: win_64_numpy1.22python3.10.____cpython
SHORT_CONFIG: win_64_numpy1.22python3.10.____cpython
UPLOAD_PACKAGES: True
os: windows
runs_on: ['windows-latest']
- CONFIG: win_64_numpy1.22python3.9.____cpython
SHORT_CONFIG: win_64_numpy1.22python3.9.____cpython
UPLOAD_PACKAGES: True
os: windows
runs_on: ['windows-latest']
- CONFIG: win_64_numpy1.23python3.11.____cpython
SHORT_CONFIG: win_64_numpy1.23python3.11.____cpython
UPLOAD_PACKAGES: True
os: windows
runs_on: ['windows-latest']
- CONFIG: win_64_numpy1.26python3.12.____cpython
SHORT_CONFIG: win_64_numpy1.26python3.12.____cpython
UPLOAD_PACKAGES: True
os: windows
runs_on: ['windows-latest']
steps:
- name: Checkout code
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
fetch-depth: 0
- name: Build on Linux
if: matrix.os == 'ubuntu'
env:
CONFIG: ${{ matrix.CONFIG }}
UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }}
DOCKER_IMAGE: ${{ matrix.DOCKER_IMAGE }}
CI: github_actions
UPLOAD_ON_BRANCH: master
CONDA_FORGE_DOCKER_RUN_ARGS: "${{ matrix.CONDA_FORGE_DOCKER_RUN_ARGS }}"
BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }}
shell: bash
run: |
echo "::group::Configure binfmt_misc"
docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes
export flow_run_id="github_$GITHUB_RUN_ID"
export remote_url="https://github.com/$GITHUB_REPOSITORY"
export sha="$GITHUB_SHA"
export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)"
export GIT_BRANCH="$(basename $GITHUB_REF)"
if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then
export IS_PR_BUILD="True"
else
export IS_PR_BUILD="False"
fi
echo "::endgroup::"
./.scripts/run_docker_build.sh
- name: Build on macOS
if: matrix.os == 'macos'
env:
CONFIG: ${{ matrix.CONFIG }}
UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }}
CI: github_actions
UPLOAD_ON_BRANCH: master
BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }}
shell: bash
run: |
export flow_run_id="github_$GITHUB_RUN_ID"
export remote_url="https://github.com/$GITHUB_REPOSITORY"
export sha="$GITHUB_SHA"
export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)"
export GIT_BRANCH="$(basename $GITHUB_REF)"
if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then
export IS_PR_BUILD="True"
else
export IS_PR_BUILD="False"
fi
./.scripts/run_osx_build.sh
- name: Build on windows
shell: cmd
run: |
set "flow_run_id=github_%GITHUB_RUN_ID%"
set "remote_url=https://github.com/%GITHUB_REPOSITORY%"
set "sha=%GITHUB_SHA%"
call ".scripts\run_win_build.bat"
env:
MINIFORGE_HOME: D:\Miniforge
PYTHONUNBUFFERED: 1
CONFIG: ${{ matrix.CONFIG }}
CI: github_actions
UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }}
UPLOAD_ON_BRANCH: master
BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }}
if: matrix.os == 'windows'
- name: Prepare conda build artifacts
id: prepare-artifacts
shell: bash
if: ${{ always() }}
env:
CONFIG: ${{ matrix.CONFIG }}
SHORT_CONFIG: ${{ matrix.SHORT_CONFIG }}
OS: ${{ matrix.os }}
MINIFORGE_HOME_WIN: D:\Miniforge
run: |
export CI=github_actions
export CI_RUN_ID=$GITHUB_RUN_ID
export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)"
export ARTIFACT_STAGING_DIR="$GITHUB_WORKSPACE"
if [ $OS == "macos" ]; then
export CONDA_BLD_DIR="${MINIFORGE_HOME:-${HOME}/miniforge3}/conda-bld"
elif [ $OS == "windows" ]; then
export CONDA_BLD_DIR="${MINIFORGE_HOME_WIN//\\//}/conda-bld"
else
export CONDA_BLD_DIR="build_artifacts"
fi
# Archive everything in CONDA_BLD_DIR except environments
# Archive the CONDA_BLD_DIR environments only when the job fails
# Use different prefix for successful and failed build artifacts
# so random failures don't prevent rebuilds from creating artifacts.
JOB_STATUS="${{ job.status }}"
if [ $JOB_STATUS == "failure" ]; then
export BLD_ARTIFACT_PREFIX="conda_artifacts"
export ENV_ARTIFACT_PREFIX="conda_envs"
else
export BLD_ARTIFACT_PREFIX="conda_pkgs"
fi
./.scripts/create_conda_build_artifacts.sh
continue-on-error: true
- name: Store conda build artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
if: ${{ always() && steps.prepare-artifacts.outcome == 'success' }}
with:
name: ${{ steps.prepare-artifacts.outputs.BLD_ARTIFACT_NAME }}
path: ${{ steps.prepare-artifacts.outputs.BLD_ARTIFACT_PATH }}
retention-days: 14
continue-on-error: true
- name: Store conda build environment artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
if: ${{ failure() && steps.prepare-artifacts.outcome == 'success' }}
with:
name: ${{ steps.prepare-artifacts.outputs.ENV_ARTIFACT_NAME }}
path: ${{ steps.prepare-artifacts.outputs.ENV_ARTIFACT_PATH }}
retention-days: 14
continue-on-error: true