Merge pull request #12 from johnwason/v0.4.0_dev #29
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
# 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 |