Bump the actions group with 3 updates #194
Workflow file for this run
This file contains hidden or 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: | |
| branches: | |
| - master | |
| 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_python3.13.____cp313 | |
| SHORT_CONFIG: linux_64_python3.13.____cp313 | |
| UPLOAD_PACKAGES: True | |
| os: ubuntu | |
| runs_on: ['ubuntu-latest'] | |
| DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 | |
| - CONFIG: linux_aarch64_python3.13.____cp313 | |
| SHORT_CONFIG: linux_aarch64_python3.13.____cp313 | |
| UPLOAD_PACKAGES: True | |
| os: ubuntu | |
| runs_on: ['ubuntu-latest'] | |
| DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 | |
| - CONFIG: osx_64_python3.13.____cp313 | |
| SHORT_CONFIG: osx_64_python3.13.____cp313 | |
| UPLOAD_PACKAGES: True | |
| os: macos | |
| runs_on: ['macos-15-intel'] | |
| - CONFIG: osx_arm64_python3.13.____cp313 | |
| SHORT_CONFIG: osx_arm64_python3.13.____cp313 | |
| UPLOAD_PACKAGES: True | |
| os: macos | |
| runs_on: ['macos-15-intel'] | |
| - CONFIG: win_64_python3.13.____cp313 | |
| SHORT_CONFIG: win_64_python3.13.____cp313 | |
| UPLOAD_PACKAGES: True | |
| os: windows | |
| runs_on: ['windows-latest'] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98 # v4.1.4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Build on Linux | |
| id: build-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: | | |
| if [[ "$(uname -m)" == "x86_64" ]]; then | |
| echo "::group::Configure binfmt_misc" | |
| docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes | |
| fi | |
| 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 | |
| id: build-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 | |
| id: build-windows | |
| if: matrix.os == '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: | |
| # default value; make it explicit, as it needs to match with artefact | |
| # generation below. Not configurable for now, can be revisited later | |
| CONDA_BLD_DIR: C:\bld | |
| 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 }} | |
| - name: Determine build outcome | |
| # this is to merge the status of the linux/osx/win builds into | |
| # something we can easily reuse during artefact generation | |
| id: determine-status | |
| if: ${{ always() }} | |
| shell: bash | |
| env: | |
| OS: ${{ matrix.os }} | |
| run: | | |
| if [[ "$OS" == "ubuntu" ]]; then | |
| STATUS=${{ steps.build-linux.outcome }} | |
| elif [[ "$OS" == "macos" ]]; then | |
| STATUS=${{ steps.build-macos.outcome }} | |
| elif [[ "$OS" == "windows" ]]; then | |
| STATUS=${{ steps.build-windows.outcome }} | |
| fi | |
| if [ -z "$STATUS" ]; then | |
| # steps that never ran will have empty status | |
| STATUS="cancelled" | |
| fi | |
| echo "status=$STATUS" >> $GITHUB_OUTPUT | |
| - name: Prepare conda build artifacts | |
| continue-on-error: true | |
| id: prepare-artifacts | |
| shell: bash | |
| # we do not want to trigger artefact creation if the build was cancelled | |
| if: ${{ always() && steps.determine-status.outputs.status != 'cancelled' }} | |
| env: | |
| CI: github_actions | |
| CONFIG: ${{ matrix.CONFIG }} | |
| SHORT_CONFIG: ${{ matrix.SHORT_CONFIG }} | |
| JOB_STATUS: ${{ steps.determine-status.outputs.status }} | |
| OS: ${{ matrix.os }} | |
| run: | | |
| 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 | |
| # this needs to be consistent with build step, see above | |
| export CONDA_BLD_DIR="C:\\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. | |
| 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 | |
| if [ $OS == "windows" ]; then | |
| pwsh -Command ". '.scripts/create_conda_build_artifacts.bat'" | |
| else | |
| ./.scripts/create_conda_build_artifacts.sh | |
| fi | |
| - name: Store conda build artifacts | |
| uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 | |
| 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@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 | |
| # only relevant if build failed, see above | |
| if: ${{ always() && steps.determine-status.outputs.status == '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 |