Skip to content

Merge pull request #12 from johnwason/v0.4.0_dev #29

Merge pull request #12 from johnwason/v0.4.0_dev

Merge pull request #12 from johnwason/v0.4.0_dev #29

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:
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.8.____cpython
SHORT_CONFIG: linux_64_numpy1.22python3.8.____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: 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.8.____cpython
SHORT_CONFIG: win_64_numpy1.22python3.8.____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']
steps:
- name: Checkout code
uses: actions/checkout@v3
- 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
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
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: Install Miniconda for windows
uses: conda-incubator/setup-miniconda@v2
with:
miniforge-version: latest
miniforge-variant: Mambaforge
if: matrix.os == 'windows'
- 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:
PYTHONUNBUFFERED: 1
CONFIG: ${{ matrix.CONFIG }}
CI: github_actions
UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }}
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 }}
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="${CONDA//\\//}/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@v3
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@v3
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