From 862c30a131c8ea2da3c5b886441867360b902367 Mon Sep 17 00:00:00 2001 From: Finn Womack Date: Tue, 11 Jun 2024 19:43:41 -0700 Subject: [PATCH 1/7] add arm64 condition --- recipe/bld.bat | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/recipe/bld.bat b/recipe/bld.bat index feef3d9..7aa9251 100755 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -14,6 +14,14 @@ if "%ARCH%"=="32" ( echo "Switching SDK versions" call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x64 10.0.15063.0 ) +) else if "%ARCH%"=="arm64" ( + set MACHINE="ARM64" + :: A different SDK is needed when build with VS 2017 and 2015 + :: http://wiki.tcl.tk/54819 + if "%VS_MAJOR%"=="14" ( + echo "Switching SDK versions" + call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" arm64 10.0.15063.0 + ) ) pushd tcl%PKG_VERSION%\win From 520c48da0730a3727daa0d02030e800dd7a30548 Mon Sep 17 00:00:00 2001 From: Finn Womack Date: Tue, 11 Jun 2024 19:44:28 -0700 Subject: [PATCH 2/7] Update conda-forge.yml --- conda-forge.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/conda-forge.yml b/conda-forge.yml index d33037f..9b04f9b 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,9 +1,16 @@ -build_platform: {osx_arm64: osx_64} +build_platform: {osx_arm64: osx_64, win_arm64: win_arm64} conda_forge_output_validation: true provider: {linux_aarch64: default, linux_ppc64le: default} github: branch_name: main tooling_branch_name: main +github_actions: + self_hosted: true + triggers: + - pull_request + - push +provider: + win_arm64: github_actions conda_build: pkg_format: '2' test: native_and_emulated From 4dbf8d90bc93f0f13fb4f8e61f762ffe2d5ac8c1 Mon Sep 17 00:00:00 2001 From: Finn Womack Date: Tue, 11 Jun 2024 19:56:32 -0700 Subject: [PATCH 3/7] rerender --- .azure-pipelines/azure-pipelines-linux.yml | 4 + .azure-pipelines/azure-pipelines-osx.yml | 6 +- .azure-pipelines/azure-pipelines-win.yml | 3 + .ci_support/linux_64_tk_variantnoxft.yaml | 2 +- .ci_support/linux_64_tk_variantxft.yaml | 2 +- .../linux_aarch64_tk_variantnoxft.yaml | 24 ---- .ci_support/linux_aarch64_tk_variantxft.yaml | 24 ---- .../linux_ppc64le_tk_variantnoxft.yaml | 18 --- .ci_support/linux_ppc64le_tk_variantxft.yaml | 18 --- .ci_support/osx_64_.yaml | 4 +- .ci_support/osx_arm64_.yaml | 4 +- .ci_support/win_arm64_.yaml | 12 ++ .gitattributes | 4 +- .github/workflows/conda-build.yml | 106 ++++++++++++++++++ .gitignore | 25 ++++- .scripts/build_steps.sh | 11 +- .scripts/run_docker_build.sh | 9 ++ .scripts/run_osx_build.sh | 15 ++- .scripts/run_win_build.bat | 16 ++- .travis.yml | 37 ------ README.md | 46 ++------ azure-pipelines.yml | 4 +- build-locally.py | 5 +- 23 files changed, 216 insertions(+), 183 deletions(-) delete mode 100644 .ci_support/linux_aarch64_tk_variantnoxft.yaml delete mode 100644 .ci_support/linux_aarch64_tk_variantxft.yaml delete mode 100644 .ci_support/linux_ppc64le_tk_variantnoxft.yaml delete mode 100644 .ci_support/linux_ppc64le_tk_variantxft.yaml create mode 100644 .ci_support/win_arm64_.yaml create mode 100644 .github/workflows/conda-build.yml delete mode 100644 .travis.yml diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index d33b56a..fdc3257 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -17,6 +17,7 @@ jobs: UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 timeoutInMinutes: 360 + variables: {} steps: # configure qemu binfmt-misc running. This allows us to run docker containers @@ -29,6 +30,9 @@ jobs: - script: | export CI=azure + export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) + export remote_url=$(Build.Repository.Uri) + export sha=$(Build.SourceVersion) export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 8032e96..7708e23 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -5,7 +5,7 @@ jobs: - job: osx pool: - vmImage: macOS-11 + vmImage: macOS-12 strategy: matrix: osx_64_: @@ -15,11 +15,15 @@ jobs: CONFIG: osx_arm64_ UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 + variables: {} steps: # TODO: Fast finish on azure pipelines? - script: | export CI=azure + export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) + export remote_url=$(Build.Repository.Uri) + export sha=$(Build.SourceVersion) export OSX_FORCE_SDK_DOWNLOAD="1" export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 82c5318..d609fcd 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -42,6 +42,9 @@ jobs: PYTHONUNBUFFERED: 1 CONFIG: $(CONFIG) CI: azure + flow_run_id: azure_$(Build.BuildNumber).$(System.JobAttempt) + remote_url: $(Build.Repository.Uri) + sha: $(Build.SourceVersion) UPLOAD_PACKAGES: $(UPLOAD_PACKAGES) UPLOAD_TEMP: $(UPLOAD_TEMP) BINSTAR_TOKEN: $(BINSTAR_TOKEN) diff --git a/.ci_support/linux_64_tk_variantnoxft.yaml b/.ci_support/linux_64_tk_variantnoxft.yaml index 30c6f41..e14a4d7 100644 --- a/.ci_support/linux_64_tk_variantnoxft.yaml +++ b/.ci_support/linux_64_tk_variantnoxft.yaml @@ -17,4 +17,4 @@ tk: tk_variant: - noxft zlib: -- '1.2' +- '1' diff --git a/.ci_support/linux_64_tk_variantxft.yaml b/.ci_support/linux_64_tk_variantxft.yaml index a1e6d65..e4eb1de 100644 --- a/.ci_support/linux_64_tk_variantxft.yaml +++ b/.ci_support/linux_64_tk_variantxft.yaml @@ -17,4 +17,4 @@ tk: tk_variant: - xft zlib: -- '1.2' +- '1' diff --git a/.ci_support/linux_aarch64_tk_variantnoxft.yaml b/.ci_support/linux_aarch64_tk_variantnoxft.yaml deleted file mode 100644 index 15b2740..0000000 --- a/.ci_support/linux_aarch64_tk_variantnoxft.yaml +++ /dev/null @@ -1,24 +0,0 @@ -BUILD: -- aarch64-conda_cos7-linux-gnu -c_compiler: -- gcc -c_compiler_version: -- '12' -cdt_arch: -- aarch64 -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -docker_image: -- quay.io/condaforge/linux-anvil-aarch64 -target_platform: -- linux-aarch64 -tk: -- '8.6' -tk_variant: -- noxft -zlib: -- '1.2' diff --git a/.ci_support/linux_aarch64_tk_variantxft.yaml b/.ci_support/linux_aarch64_tk_variantxft.yaml deleted file mode 100644 index 02f0322..0000000 --- a/.ci_support/linux_aarch64_tk_variantxft.yaml +++ /dev/null @@ -1,24 +0,0 @@ -BUILD: -- aarch64-conda_cos7-linux-gnu -c_compiler: -- gcc -c_compiler_version: -- '12' -cdt_arch: -- aarch64 -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -docker_image: -- quay.io/condaforge/linux-anvil-aarch64 -target_platform: -- linux-aarch64 -tk: -- '8.6' -tk_variant: -- xft -zlib: -- '1.2' diff --git a/.ci_support/linux_ppc64le_tk_variantnoxft.yaml b/.ci_support/linux_ppc64le_tk_variantnoxft.yaml deleted file mode 100644 index 95e7464..0000000 --- a/.ci_support/linux_ppc64le_tk_variantnoxft.yaml +++ /dev/null @@ -1,18 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '12' -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -docker_image: -- quay.io/condaforge/linux-anvil-ppc64le -target_platform: -- linux-ppc64le -tk_variant: -- noxft -zlib: -- '1.2' diff --git a/.ci_support/linux_ppc64le_tk_variantxft.yaml b/.ci_support/linux_ppc64le_tk_variantxft.yaml deleted file mode 100644 index b1df87f..0000000 --- a/.ci_support/linux_ppc64le_tk_variantxft.yaml +++ /dev/null @@ -1,18 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '12' -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -docker_image: -- quay.io/condaforge/linux-anvil-ppc64le -target_platform: -- linux-ppc64le -tk_variant: -- xft -zlib: -- '1.2' diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index cc07be9..5307173 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -1,5 +1,5 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.9' +- '10.13' MACOSX_SDK_VERSION: - '11.0' c_compiler: @@ -19,4 +19,4 @@ tk: tk_variant: - noxft zlib: -- '1.2' +- '1' diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 7b8ad5f..3b9a813 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -1,5 +1,7 @@ MACOSX_DEPLOYMENT_TARGET: - '11.0' +MACOSX_SDK_VERSION: +- '11.0' c_compiler: - clang c_compiler_version: @@ -17,4 +19,4 @@ tk: tk_variant: - noxft zlib: -- '1.2' +- '1' diff --git a/.ci_support/win_arm64_.yaml b/.ci_support/win_arm64_.yaml new file mode 100644 index 0000000..0df44cb --- /dev/null +++ b/.ci_support/win_arm64_.yaml @@ -0,0 +1,12 @@ +c_compiler: +- vs2022 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +target_platform: +- win-arm64 +tk: +- '8.6' +tk_variant: +- noxft diff --git a/.gitattributes b/.gitattributes index 7f32763..18f114a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -20,8 +20,8 @@ bld.bat text eol=crlf .travis.yml linguist-generated=true .scripts/* linguist-generated=true .woodpecker.yml linguist-generated=true -LICENSE.txt linguist-generated=true -README.md linguist-generated=true +/LICENSE.txt linguist-generated=true +/README.md linguist-generated=true azure-pipelines.yml linguist-generated=true build-locally.py linguist-generated=true shippable.yml linguist-generated=true diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml new file mode 100644 index 0000000..61a80f4 --- /dev/null +++ b/.github/workflows/conda-build.yml @@ -0,0 +1,106 @@ +# 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: + pull_request: + + push: + +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: win_arm64_ + UPLOAD_PACKAGES: True + os: windows + runs_on: ['windows-latest'] + steps: + + - name: Checkout code + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + + - 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 }} + FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }} + STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_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 }} + FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }} + STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_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@a4260408e20b96e80095f42ff7f1a15b27dd94ca # v3.0.4 + 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 }} + FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }} + STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }} + if: matrix.os == 'windows' \ No newline at end of file diff --git a/.gitignore b/.gitignore index c89ecb7..179afe5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,24 @@ -*.pyc +# User content belongs under recipe/. +# Feedstock configuration goes in `conda-forge.yml` +# Everything else is managed by the conda-smithy rerender process. +# Please do not modify + +# Ignore all files and folders in root +* +!/conda-forge.yml + +# Don't ignore any files/folders if the parent folder is 'un-ignored' +# This also avoids warnings when adding an already-checked file with an ignored parent. +!/**/ +# Don't ignore any files/folders recursively in the following folders +!/recipe/** +!/.ci_support/** -build_artifacts +# Since we ignore files/folders recursively, any folders inside +# build_artifacts gets ignored which trips some build systems. +# To avoid that we 'un-ignore' all files/folders recursively +# and only ignore the root build_artifacts folder. +!/build_artifacts/** +/build_artifacts + +*.pyc diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 23ac37b..cd67c66 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -28,13 +28,15 @@ conda-build: pkgs_dirs: - ${FEEDSTOCK_ROOT}/build_artifacts/pkg_cache - /opt/conda/pkgs +solver: libmamba CONDARC +export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 mamba install --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup=3 + pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup=3 + pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -74,9 +76,10 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then # Drop into an interactive shell /bin/bash else - conda mambabuild "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + conda-build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ + --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" ( startgroup "Validating outputs" ) 2> /dev/null validate_recipe_outputs "${FEEDSTOCK_NAME}" diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 9236239..00f377a 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -21,6 +21,12 @@ if [ -z ${FEEDSTOCK_NAME} ]; then export FEEDSTOCK_NAME=$(basename ${FEEDSTOCK_ROOT}) fi +if [[ "${sha:-}" == "" ]]; then + pushd "${FEEDSTOCK_ROOT}" + sha=$(git rev-parse HEAD) + popd +fi + docker info # In order for the conda-build process in the container to write to the mounted @@ -91,6 +97,9 @@ docker run ${DOCKER_RUN_ARGS} \ -e CPU_COUNT \ -e BUILD_WITH_CONDA_DEBUG \ -e BUILD_OUTPUT_ID \ + -e flow_run_id \ + -e remote_url \ + -e sha \ -e BINSTAR_TOKEN \ -e FEEDSTOCK_TOKEN \ -e STAGING_BINSTAR_TOKEN \ diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 870c49a..07dff21 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -22,11 +22,13 @@ bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base +export CONDA_SOLVER="libmamba" +export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 mamba install --update-specs --quiet --yes --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup=3 + pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup=3 + pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" @@ -45,6 +47,10 @@ else echo -e "\n\nNot mangling homebrew as we are not running in CI" fi +if [[ "${sha:-}" == "" ]]; then + sha=$(git rev-parse HEAD) +fi + echo -e "\n\nRunning the build setup script." source run_conda_forge_build_setup @@ -75,9 +81,10 @@ else EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" fi - conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml \ + conda-build ./recipe -m ./.ci_support/${CONFIG}.yaml \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ - --clobber-file ./.ci_support/clobber_${CONFIG}.yaml + --clobber-file ./.ci_support/clobber_${CONFIG}.yaml \ + --extra-meta flow_run_id="$flow_run_id" remote_url="$remote_url" sha="$sha" ( startgroup "Validating outputs" ) 2> /dev/null validate_recipe_outputs "${FEEDSTOCK_NAME}" diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 07d3445..6d54697 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -17,10 +17,14 @@ call :start_group "Configuring conda" :: Activate the base conda environment call activate base +:: Configure the solver +set "CONDA_SOLVER=libmamba" +if !errorlevel! neq 0 exit /b !errorlevel! +set "CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1" :: Provision the necessary dependencies to build the recipe later echo Installing dependencies -mamba.exe install "python=3.10" pip mamba conda-build boa conda-forge-ci-setup=3 -c conda-forge --strict-channel-priority --yes +mamba.exe install "python=3.10" pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" -c conda-forge --strict-channel-priority --yes if !errorlevel! neq 0 exit /b !errorlevel! :: Set basic configuration @@ -38,14 +42,20 @@ if EXIST LICENSE.txt ( copy LICENSE.txt "recipe\\recipe-scripts-license.txt" ) if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( - set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" + if [%CROSSCOMPILING_EMULATOR%] == [] ( + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" + ) +) + +if NOT [%flow_run_id%] == [] ( + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --extra-meta flow_run_id=%flow_run_id% remote_url=%remote_url% sha=%sha%" ) call :end_group :: Build the recipe echo Building recipe -conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% +conda-build.exe "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% if !errorlevel! neq 0 exit /b !errorlevel! :: Prepare some environment variables for the upload step diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 1ef87ed..0000000 --- a/.travis.yml +++ /dev/null @@ -1,37 +0,0 @@ -# This file was generated automatically from conda-smithy. To update this configuration, -# update the conda-forge.yml and/or the recipe/meta.yaml. - -language: generic - - - -matrix: - include: - - env: CONFIG=linux_aarch64_tk_variantnoxft UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64 - os: linux - arch: arm64 - dist: focal - - - env: CONFIG=linux_aarch64_tk_variantxft UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64 - os: linux - arch: arm64 - dist: focal - - - env: CONFIG=linux_ppc64le_tk_variantnoxft UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le - os: linux - arch: ppc64le - dist: focal - - - env: CONFIG=linux_ppc64le_tk_variantxft UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le - os: linux - arch: ppc64le - dist: focal - -script: - - export CI=travis - - export GIT_BRANCH="$TRAVIS_BRANCH" - - export FEEDSTOCK_NAME=$(basename ${TRAVIS_REPO_SLUG}) - - if [[ "${TRAVIS_PULL_REQUEST:-}" == "false" ]]; then export IS_PR_BUILD="False"; else export IS_PR_BUILD="True"; fi - - - - if [[ ${PLATFORM} =~ .*linux.* ]]; then CONDA_FORGE_DOCKER_RUN_ARGS="--network=host --security-opt=seccomp=unconfined" ./.scripts/run_docker_build.sh; fi \ No newline at end of file diff --git a/README.md b/README.md index e5d4fd8..e7fc902 100644 --- a/README.md +++ b/README.md @@ -15,14 +15,7 @@ Current build status ==================== - - - - +
Travis - - linux - -
@@ -49,34 +42,6 @@ Current build status variant - - - - - - - - - - - - + + +
Azure
linux_aarch64_tk_variantnoxft - - variant - -
linux_aarch64_tk_variantxft - - variant - -
linux_ppc64le_tk_variantnoxft - - variant - -
linux_ppc64le_tk_variantxft - - variant - -
osx_64 @@ -98,6 +63,13 @@ Current build status variant
win_arm64 + + variant + +
@@ -179,7 +151,7 @@ available continuous integration services. Thanks to the awesome service provide [CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/), [Drone](https://cloud.drone.io/welcome), and [TravisCI](https://travis-ci.com/) it is possible to build and upload installable packages to the -[conda-forge](https://anaconda.org/conda-forge) [Anaconda-Cloud](https://anaconda.org/) +[conda-forge](https://anaconda.org/conda-forge) [anaconda.org](https://anaconda.org/) channel for Linux, Windows and OSX respectively. To manage the continuous integration and simplify feedstock maintenance diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 6b346f5..e5306da 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -4,5 +4,5 @@ jobs: - template: ./.azure-pipelines/azure-pipelines-linux.yml - - template: ./.azure-pipelines/azure-pipelines-win.yml - - template: ./.azure-pipelines/azure-pipelines-osx.yml \ No newline at end of file + - template: ./.azure-pipelines/azure-pipelines-osx.yml + - template: ./.azure-pipelines/azure-pipelines-win.yml \ No newline at end of file diff --git a/build-locally.py b/build-locally.py index 3f4b7a7..e0d408d 100755 --- a/build-locally.py +++ b/build-locally.py @@ -64,8 +64,9 @@ def verify_config(ns): elif ns.config.startswith("osx"): if "OSX_SDK_DIR" not in os.environ: raise RuntimeError( - "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=SDKs' " - "to download the SDK automatically to 'SDKs/MacOSX.sdk'. " + "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=$PWD/SDKs' " + "to download the SDK automatically to '$PWD/SDKs/MacOSX.sdk'. " + "Note: OSX_SDK_DIR must be set to an absolute path. " "Setting this variable implies agreement to the licensing terms of the SDK by Apple." ) From 46227c6b921d4e8a76a001295993e51384163d92 Mon Sep 17 00:00:00 2001 From: Finn Womack Date: Tue, 11 Jun 2024 20:12:08 -0700 Subject: [PATCH 4/7] else - --- recipe/bld.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/bld.bat b/recipe/bld.bat index 7aa9251..55b73a2 100755 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -6,7 +6,7 @@ if "%ARCH%"=="32" ( echo "Switching SDK versions" call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x86 10.0.15063.0 ) -) else ( +) else if ( set MACHINE="AMD64" :: A different SDK is needed when build with VS 2017 and 2015 :: http://wiki.tcl.tk/54819 From 19b375571268b95503640cbf2e849fd4c7378ee7 Mon Sep 17 00:00:00 2001 From: Finn Womack Date: Tue, 11 Jun 2024 20:17:38 -0700 Subject: [PATCH 5/7] rearrange conditions --- recipe/bld.bat | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/recipe/bld.bat b/recipe/bld.bat index 55b73a2..0aa0914 100755 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -6,21 +6,21 @@ if "%ARCH%"=="32" ( echo "Switching SDK versions" call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x86 10.0.15063.0 ) -) else if ( - set MACHINE="AMD64" +) else if "%ARCH%"=="arm64" ( + set MACHINE="ARM64" :: A different SDK is needed when build with VS 2017 and 2015 :: http://wiki.tcl.tk/54819 if "%VS_MAJOR%"=="14" ( echo "Switching SDK versions" - call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x64 10.0.15063.0 + call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" arm64 10.0.15063.0 ) -) else if "%ARCH%"=="arm64" ( - set MACHINE="ARM64" +) else ( + set MACHINE="AMD64" :: A different SDK is needed when build with VS 2017 and 2015 :: http://wiki.tcl.tk/54819 if "%VS_MAJOR%"=="14" ( echo "Switching SDK versions" - call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" arm64 10.0.15063.0 + call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x64 10.0.15063.0 ) ) From 644b7bec8a8c2a1b8ab40cdf3279272026875470 Mon Sep 17 00:00:00 2001 From: Finn Womack Date: Wed, 12 Jun 2024 04:51:31 -0700 Subject: [PATCH 6/7] use install-dir PR repo --- .github/workflows/conda-build.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index 61a80f4..c39609f 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -82,10 +82,12 @@ jobs: ./.scripts/run_osx_build.sh - name: Install Miniconda for windows - uses: conda-incubator/setup-miniconda@a4260408e20b96e80095f42ff7f1a15b27dd94ca # v3.0.4 + uses: isuruf/setup-miniconda@install_dir with: miniforge-version: latest - miniforge-variant: Mambaforge + miniforge-variant: Miniforge3 + install-dir: ${{ github.workspace }}\\miniforge + architecture: x64 if: matrix.os == 'windows' - name: Build on windows @@ -103,4 +105,4 @@ jobs: BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }} FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }} STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }} - if: matrix.os == 'windows' \ No newline at end of file + if: matrix.os == 'windows' From 6eaf03b47bbac9e0f9a15dcda47e0355e4497577 Mon Sep 17 00:00:00 2001 From: Finn Womack Date: Wed, 12 Jun 2024 05:38:00 -0700 Subject: [PATCH 7/7] run on arm64 --- .github/workflows/conda-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index c39609f..856fc4c 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -24,7 +24,7 @@ jobs: - CONFIG: win_arm64_ UPLOAD_PACKAGES: True os: windows - runs_on: ['windows-latest'] + runs_on: ['windows', 'ARM64', 'self-hosted'] steps: - name: Checkout code