diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index d317119..0000000 --- a/Dockerfile +++ /dev/null @@ -1,63 +0,0 @@ -FROM buildpack-deps:jammy - -ARG REPO_URL -ARG COMMIT_SHA -ARG BUILD_SCRIPT # A build script with custom installation commands provided by the user -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - curl git build-essential jq && \ - rm -rf /var/lib/apt/lists/* - -RUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \ - | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba - -ENV MAMBA_ROOT_PREFIX=/opt/conda \ - PATH=/opt/conda/bin:$PATH \ - MAMBA_DOCKERFILE_ACTIVATE=1 \ - OPENBLAS_NUM_THREADS=1 \ - MKL_NUM_THREADS=1 \ - OMP_NUM_THREADS=1 - -RUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \ - python=3.10 \ - git asv pyperf mamba conda libmambapy jq && \ - micromamba clean --all --yes - -RUN mkdir -p /workspace /output -WORKDIR /workspace - -COPY entrypoint.sh /entrypoint.sh -RUN chmod +x /entrypoint.sh - -RUN git clone "${REPO_URL}" repo && \ - cd repo && \ - git checkout "${COMMIT_SHA}" && \ - \ - CONF_FILE=$(find . -type f -name "asv.*.json" | head -n 1) && \ - if [[ -z "${CONF_FILE}" ]]; then \ - echo "❌ No asv.*.json found." && exit 1; \ - fi && \ - echo "βœ… Using ASV config: ${CONF_FILE}" && \ - \ -PY_VERS=$(echo "import json, pathlib; \ -cfg = pathlib.Path('${CONF_FILE}').read_text(); \ -data = json.loads(cfg); \ -vers = data.get('pythons') or data.get('python') or []; \ -print(' '.join(dict.fromkeys(vers)))" | python -) && \ - if [[ -z "${PY_VERS}" ]]; then \ - echo "❌ No Python versions declared in ${CONF_FILE}" && exit 1; \ - fi && \ - echo "🐍 Creating Conda envs for: ${PY_VERS}" && \ - \ - for v in ${PY_VERS}; do \ - micromamba create -y -n "asv_${v}" -c conda-forge \ - python=${v} git mamba conda "libmambapy<=1.9.9"; \ - done - -WORKDIR /workspace/repo - -RUN echo "${BUILD_SCRIPT}" > /workspace/repo/docker_build.sh && \ - chmod +x /workspace/repo/docker_build.sh && \ - /workspace/repo/docker_build.sh - -ENTRYPOINT ["/entrypoint.sh"] diff --git a/README.md b/README.md index efb3b45..0b19e54 100644 --- a/README.md +++ b/README.md @@ -145,13 +145,13 @@ To run the script, you need to have a GitHub token with `repo` and `read:org` pe The scraper can be run using the following command: ```bash $ python scratch/scripts/scrape_repositories.py \ - --outfile scratch/artifacts/processed/repos_discovered.csv \ - --min-stars 500 \ - --filtered-outfile scratch/artifacts/processed/repos_valid.csv + --outfile scratch/artifacts/pipeflush/repos_discovered.csv \ + --min-stars 100 \ + --filtered-outfile scratch/artifacts/pipeflush/repos_valid.csv # Writes scratch/artifacts/processed/repos_discovered.csv and scratch/artifacts/processed/repos_valid.csv ``` -The `scratch/artifacts/processed/repos_valid.csv` file contains a subset of the repositories that aren't forks / reuploads / has atleast 500 stars / pass other sanity checks. We found ~700 filtered repositories for this dataset. +The `scratch/artifacts/processed/repos_valid.csv` file contains a subset of the repositories that aren't forks / reuploads / has atleast {min-stars} stars / pass other sanity checks. We found ~700 filtered repositories for this dataset. ### 4. Collect relevant commits for all repositories @@ -159,40 +159,52 @@ The `scratch/artifacts/processed/repos_valid.csv` file contains a subset of the Given the list of repositories, we find the subset of commits that have already been closed and merged into the main branch (the top 5000 PRs, sorted by popularity). We use the `collect_commits.py` script to do this. The `filter_commits.py` script then filters out those commits that primarily modified the benchmarking files (e.g. `asv.conf.json`) or were not relevant to the benchmarks (e.g. documentation changes). The script also limits the number of repositories to a maximum of 350 to ensure we don't burden the GitHub API with too many requests. The scripts can be run as follows: ```bash -$ python scratch/scripts/collect_commits.py \ - --dashboards scratch/artifacts/raw/repos_valid.csv \ - --outfile scratch/artifacts/raw/commits_all.jsonl \ - --max-pages 50 -$ python scratch/scripts/filter_commits.py \ - --filtered-benchmarks-pth scratch/artifacts/raw/repos_valid.csv \ - --merged-commits-pth scratch/artifacts/raw/commits_all.jsonl \ - --output-pth scratch/artifacts/raw/commits_filtered.jsonl \ +# $ python scratch/scripts/collect_commits.py \ +# --dashboards scratch/artifacts/raw/repos_valid.csv \ +# --outfile scratch/artifacts/raw/commits_all.jsonl \ +# --max-pages 50 + +# Needs to be a parquet file because the filtered commits are often very large. +$ python scratch/scripts/collect_and_filter_commits.py \ + --filtered-benchmarks-pth scratch/artifacts/pipeflush/repos_valid.csv \ + --output-pth scratch/artifacts/pipeflush/commits_filtered.parquet \ --max-repos 350 \ - --threads 8 \ - --procs 8 - -# Build contexts for all commits. Each context is a (repo, commit) pair with an associated build_env.sh script to install dependencies. Some reasons a context might fail to build (and get filtered out): -# 1. Commit couldn't be checked out -# 2. Commit didn't have an asv.conf.json file -# 3. We could not build the asv environment for the commit. -# 4. We could not run a quick asv run to ensure that the benchmarks run. + --threads 32 \ + --procs 32 + +$ python scratch/scripts/collect_perf_commits.py \ + --commits scratch/artifacts/pipeflush/commits_filtered.parquet \ + --outfile scratch/artifacts/pipeflush/commits_perfonly.jsonl \ + --max-workers 16 +``` + + +__Build contexts for all commits__. Each context is a (repo, commit) pair with an associated build_env.sh script to install dependencies. Some reasons a context might fail to build (and get filtered out): + +1. Commit couldn't be checked out +2. Commit didn't have an asv.conf.json file +3. We could not build the asv environment for the commit. +4. We could not run a quick asv run to ensure that the benchmarks run. + +```bash $ python scratch/scripts/synthesize_contexts.py \ - --commits scratch/artifacts/raw/commits_filtered.jsonl \ - --output-dir scratch/artifacts/results_synthesis_oth/ \ - --context-registry scratch/context_registry_updated.json \ + --commits scratch/artifacts/pipeflush/commits_perfonly.parquet \ + --output-dir scratch/artifacts/pipeflush/results_synthesis/ \ + --context-registry scratch/artifacts/pipeflush/context_registry.json \ --max-workers 32 \ - --limit-per-repo -1 \ - --max-attempts 5 + --limit-per-repo 2 \ + --max-attempts 3 \ + --max-steps 10 # This should create a file called scratch/context_registry.json with all the contexts + build.sh scripts to build those contexts. # Verify that the contexts can be built and the benchmarks can be run. $ python scratch/scripts/parallel_validate_containers.py \ - --commits scratch/artifacts/raw/commits_filtered.jsonl \ - --output-dir scratch/artifacts/results_verification/ \ + --commits scratch/artifacts/pipeflush/commits_perfonly.parquet \ + --output-dir scratch/artifacts/pipeflush/results_verification/ \ --context-registry scratch/context_registry.json \ --max-workers 32 \ - --limit-per-repo -1 + --limit-per-repo 2 ``` ### 5. Benchmark all commits @@ -215,7 +227,7 @@ $ python scratch/scripts/benchmark_commits.py \ --context-registry scratch/context_registry.json \ --max-concurrency 30 \ --num-cores 2 \ - --asv-args "--interleave-rounds --append-samples -a rounds=2 -a repeat=2" \ + --asv-args "--python=same --append-samples -a rounds=2 -a repeat=2" \ --output-dir scratch/artifacts/benchmark_results_sm/ ``` diff --git a/scratch/context_registry.json b/scratch/context_registry.json index 51e1752..e947916 100644 --- a/scratch/context_registry.json +++ b/scratch/context_registry.json @@ -1,1950 +1,47 @@ { "contexts": { - "Task(owner='apache', repo='arrow', sha='3d6d5817313920abc71c854828d95b63b2562938', commit_date=1726645863.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Attempt to install using pyproject.toml or setup.py if available\n if [[ -f \"${ROOT_PATH}/pyproject.toml\" ]]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\n elif [[ -f \"${ROOT_PATH}/setup.py\" ]]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n else\n echo \"No 'setup.py' or 'pyproject.toml' found in ${ROOT_PATH}. Cannot install the project.\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='apache', repo='arrow', sha='77f099fb5c324afc8ee38cda4976bf20a08e7a4a', commit_date=1668536482.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Attempt to install the project in editable mode, fallback to wheel if it fails\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='arviz-devs', repo='arviz', sha='904129035bb29d1316833cf6f5f1b5ccf69973e3', commit_date=1577571349.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='arviz-devs', repo='arviz', sha='d58fd616bdbf2f269ca66d293428f14b97064946', commit_date=1569629064.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='asdf-format', repo='asdf', sha='8d342d36794f92db7b14a7a6f1415ff5d65fed9e', commit_date=1701819981.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='asdf-format', repo='asdf', sha='8e7fe6cab33649cb55fd5cdcac6cca77d9e9453c', commit_date=1698664980.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='astropy', repo='astropy', sha=None, commit_date=0.0)": { - "building_data": "#!/usr/bin/env bash\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\nROOT_PATH=${PWD}\ngit clone -b main https://github.com/astropy/astropy-benchmarks.git --single-branch\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\"\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install -e . scipy matplotlib\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='bjodah', repo='chempy', sha='10bdaa5a1d128959ec10128246d977fd137c9671', commit_date=1444135786.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || {\n echo \"Editable install failed, attempting wheel install\"\n micromamba run -n \"asv_${version}\" python setup.py sdist bdist_wheel\n micromamba run -n \"asv_${version}\" pip install dist/*.whl\n }\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='bjodah', repo='chempy', sha='f61bd0bc1083a4fa90c736d74d591c9eef51f80c', commit_date=1535629364.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='bloomberg', repo='memray', sha='51aa84e51179d80758b3bbd7dce097b2b2e4fd19', commit_date=1701719904.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython pkgconfig\n micromamba run -n \"asv_${version}\" conda install -y -c conda-forge libunwind\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='bloomberg', repo='memray', sha='926624f40e4f71bb71c8e22106d7979cb06bb29a', commit_date=1673995384.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='calebbell', repo='thermo', sha='436a9ccd0c73c55df4d4a8f7383493f540a6b13f', commit_date=1641864678.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='calebbell', repo='thermo', sha='71259b242aadd45a5e1d2249e29019a2e856ac04', commit_date=1643426520.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='danielgtaylor', repo='python-betterproto', sha='c82816b8be4d6f240cde4e5f28234e5ee3b26920', commit_date=1697423550.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Attempt to install using wheel if editable fails due to BackendUnavailable error\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || \\\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='danielgtaylor', repo='python-betterproto', sha='ca6b9fe1a2ccf7e8a9b02085a56de905e89eea69', commit_date=1697455035.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Attempt to install using wheel if editable install fails due to BackendUnavailable error\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || \\\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='datalad', repo='datalad', sha='83447c2944e4ed89e0a82ff2a3ea9b74221e8990', commit_date=1606433958.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='datalad', repo='datalad', sha='a9f423a8da0d144c88a74893449b6cb88cee3588', commit_date=1637870957.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='dedupeio', repo='dedupe', sha='7d2c79becabe375980613ff3bf66da678cbad658', commit_date=1719492316.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='dedupeio', repo='dedupe', sha='9d527acc20f565f6859e9ee6f4a4903c0629a29f', commit_date=1673926972.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='deepchecks', repo='deepchecks', sha='9a5dd7dc90640d987d6ecf03b8bd9a1ea86199cb', commit_date=1658146693.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Fix the invalid version issue by setting a valid version\n sed -i 's/version=\"dev\"/version=\"0.0.1\"/' ${ROOT_PATH}/setup.py\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='deepchecks', repo='deepchecks', sha='e836e79da9cc0ac9e99ae3d4bfdd2982cd299080', commit_date=1661253434.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Attempt to fix the invalid version error by setting a valid version\n sed -i 's/version=\"dev\"/version=\"0.0.1\"/' ${ROOT_PATH}/setup.py\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='default', repo='default', sha=None, commit_date=0.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone\n", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='devitocodes', repo='devito', sha='ccfb8230f2e5030e4a7b3548334e2d03757841f6', commit_date=1708609467.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='devitocodes', repo='devito', sha='e37d6ffc9edf5b0acc2e0b68c1853052c2959fda', commit_date=1719409850.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='dipy', repo='dipy', sha='26ad85ff190ad0145f73fc87354cb12f2792a475', commit_date=1712766187.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='dipy', repo='dipy', sha='984a2bbff98c7090a222fde52c3b7f6b0b3a189e', commit_date=1751068916.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='django-components', repo='django-components', sha='2472c2ad338a23fba015d4d9816cb62d1325455f', commit_date=1742720064.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n if [[ \"$version\" == \"3.13\" ]]; then\n echo \"Skipping unsupported Python version: $version\"\n continue\n fi\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='django-components', repo='django-components', sha='e0b718c31495a400d6e8712ed931ce4ab253e673', commit_date=1745142786.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n if [[ \"$version\" == \"3.13\" ]]; then\n echo \"Skipping unsupported Python version: $version\"\n continue\n fi\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='dottxt-ai', repo='outlines', sha='1e8022e210dc7eb193d8e5808a617b1a9dc15644', commit_date=1752229063.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='dottxt-ai', repo='outlines', sha='e9485cf2126d9c14bd749d55f8aa6729d96808d0', commit_date=1732739305.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='geopandas', repo='geopandas', sha='7d50380229eb84375546c2dc586de659096a6e61', commit_date=1531683944.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='geopandas', repo='geopandas', sha='c07ae3c50b6aa20e745b3693321c469e0d828a1c', commit_date=1611525697.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='h5py', repo='h5py', sha='1487a54fb5149603dcc32604df4db418ea4f5236', commit_date=1663429492.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install pkgconfig # Ensure pkgconfig is installed\n micromamba run -n \"asv_${version}\" conda install -y -c conda-forge hdf5 # Ensure HDF5 is installed\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='h5py', repo='h5py', sha='a8e82bcd63de14daddbc84c250a36c0ee8c850f6', commit_date=1602327474.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install pkgconfig # Ensure pkgconfig is installed\n micromamba run -n \"asv_${version}\" conda install -y -c conda-forge hdf5 # Ensure HDF5 is installed\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='holoviz', repo='datashader', sha='00220d8d24a4ada0ac8d30b6875004af5b03fdc4', commit_date=1738081225.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='holoviz', repo='datashader', sha='d9403a963e10e57cbf6c00c64c2998e9931097c0', commit_date=1736788153.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install hatchling\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='inducer', repo='loopy', sha='628b37187bec02ecd863662a96d024fbea5e89bf', commit_date=1623653651.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='inducer', repo='loopy', sha='b5da71bb9abf90848e0f196eedbd564d4fc477d2', commit_date=1623736465.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='ipython', repo='ipyparallel', sha='127b48f8bfeb3576c27e734a5414599fbbd4037e', commit_date=1679989417.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='ipython', repo='ipyparallel', sha='1cda27e603bf6e14866d085822afbf19b04d7574', commit_date=1681399422.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='kedro-org', repo='kedro', sha='507ebe4fbb660cd38e7ba5f9fbf89d35bfce29a4', commit_date=1746617473.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='kedro-org', repo='kedro', sha='b3a29d18f8ba2572a371f92b6f862148b77ffec6', commit_date=1744035416.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='lmfit', repo='lmfit-py', sha='9f9af6f36c0928767ea8b004ea8cb5a16aba6b04', commit_date=1634240070.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='lmfit', repo='lmfit-py', sha='f3dfdd8607aca6aceae29fb3fd57e03fd308a472', commit_date=1547606940.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='makepath', repo='xarray-spatial', sha='4df552cb70ae2f6f07b4325bcbf6a1b2afdb6718', commit_date=1643710398.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install pyct\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='makepath', repo='xarray-spatial', sha='59984d859820e6e1cd9f11f1bf7696c04d1924fb', commit_date=1646634548.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install param pyct # Ensure 'param' and 'pyct' are installed\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='man-group', repo='arctic', sha='91c2d269d7ad48db23799b3d21cb191880286806', commit_date=1519908330.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='man-group', repo='arctic', sha='d33d24bb8d6d6625351b316ce55b74ef8c957744', commit_date=1521040101.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='man-group', repo='arcticdb', sha='97493e6cf3b46f52204ce5ef436f1e828f6b0bb3', commit_date=1728297449.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || {\n echo \"Editable install failed, attempting wheel build\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\n }\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='man-group', repo='arcticdb', sha='dd4617e309c5b31cebe79816ea43bf1136b59365', commit_date=1722514119.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || {\n echo \"Editable install failed, attempting wheel build\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation .\n }\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mars-project', repo='mars', sha='a4645734e87bd01320ecf28191f6954dd034cbf4', commit_date=1654482585.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mars-project', repo='mars', sha='acecc9c6bdb7fbd45003e4a37424c42a4cec8ac2', commit_date=1652428417.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='0030b3864eb77a90a9442904e7d64d1619c6add5', commit_date=1607478583.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest sphinx sphinx-sitemap sphinx-rtd-theme\n \n # Build and install MDAnalysis components separately\n cd ${ROOT_PATH}/package\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\n \n cd ${ROOT_PATH}/testsuite\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='0880dc18c211a6508240a43ff6fe618c9be7f568', commit_date=1617487191.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps -r ${ROOT_PATH}/requirements.txt\n # Install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='0b6b372fdfcdef15aacbe1c2b82d728f4f1c0401', commit_date=1607478582.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest sphinx sphinx-sitemap sphinx-rtd-theme\n \n # Install MDAnalysis in development mode with specific build settings\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='0f9a6e558a5798880c7b5604346a8a15826d0187', commit_date=1607980018.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install setuptools wheel build\n \n # Install package requirements\n if [ -f \"${ROOT_PATH}/package-requirements.txt\" ]; then\n micromamba run -n \"asv_${version}\" pip install -r ${ROOT_PATH}/package-requirements.txt\n fi\n\n # Install optional dependencies that may be needed for tests\n micromamba run -n \"asv_${version}\" pip install pytest-xdist pytest-cov sphinx sphinx-sitemap sphinx-rtd-theme\n\n # Build and install the package\n cd ${ROOT_PATH}\n # First try pip install with --no-deps to avoid dependency conflicts\n if ! micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation -e .; then\n # If that fails, try building wheel and installing\n micromamba run -n \"asv_${version}\" python -m build --wheel\n micromamba run -n \"asv_${version}\" pip install --no-deps dist/*.whl\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='108ffe0b19080b39975a93f947162f7371ac9144', commit_date=1539114837.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install setuptools wheel\n \n # Install project in development mode\n cd ${ROOT_PATH}\n if [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='13a5df0fcbf13852da5613cefd84708e1fd506c6', commit_date=1618051027.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme\n \n # Install MDAnalysis in development mode with test dependencies\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py clean\n micromamba run -n \"asv_${version}\" pip install --no-deps -e .\n micromamba run -n \"asv_${version}\" pip install -e .[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='18372f1526d8b0df776232504afe508ae8944b4c', commit_date=1696946134.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n # Skip Python versions below 3.9 as per error message\n if [[ \"$version\" < \"3.9\" ]]; then\n echo \"Skipping Python $version as MDAnalysis requires Python 3.9+\"\n continue\n fi\n \n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install \"setuptools<75.0.0\" wheel \"cython<3.0.0\" \"numpy<2.0.0\" build\n \n # Install additional dependencies from requirements files\n cd ${ROOT_PATH}\n if [ -f \"package/requirements.txt\" ]; then\n micromamba run -n \"asv_${version}\" pip install -r package/requirements.txt\n fi\n \n # Build and install MDAnalysis from package directory\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation -e package/\n # Install dependencies after the package installation\n micromamba run -n \"asv_${version}\" pip install -e package/[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='1cd2b3b4f4d70c24c8de234d35ba1a7f900212c0', commit_date=1629565332.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis dependencies first\n micromamba run -n \"asv_${version}\" pip install --no-cache-dir \"cython>=0.29.13\" \"numpy>=1.16.0\" \"biopython>=1.71\" \"networkx>=1.0\" \"griddataformats>=0.4.0\" \"mmtf-python>=1.0.0\" \"gsd>=1.4.0\" \"scipy>=1.0.0\" \"joblib\" \"mock\" \"packaging\" \"pytest\" \"pytest-xdist\" \"pytest-cov\" \"pytest-timeout\" \"psutil\" \"hypothesis\"\n \n # Build and install MDAnalysis in development mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='1cfe404e5d2c2a807162d4e3d440b6969e14d87b', commit_date=1732305078.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build and test dependencies\n micromamba run -n \"asv_${version}\" pip install \"cython>=0.29.36\" \"numpy>=1.21.0\" pytest pytest-xdist sphinx sphinx-sitemap sphinx_rtd_theme\n micromamba run -n \"asv_${version}\" pip install mmtf-python gsd networkx biopython tidynamics\n \n # Ensure build system requirements are met\n micromamba run -n \"asv_${version}\" pip install build setuptools wheel\n \n # Look for package in subdirectories\n cd ${ROOT_PATH}\n if [ -d \"package\" ]; then\n cd package\n fi\n \n # Build and install MDAnalysis in development mode\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .[test,analysis]\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install -e .[test,analysis]\n else\n echo \"Neither pyproject.toml nor setup.py found. Cannot install package.\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='1eca65591fa402584dd29b6d1a02111af30e68eb', commit_date=1691706686.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Install build dependencies with specific versions to avoid compatibility issues\n micromamba run -n \"asv_${version}\" pip install \"setuptools<75.0.0\" wheel \"cython<3.0.0\" \"numpy<2.0.0\"\n \n # Install additional required packages\n cd ${ROOT_PATH}\n if [ -f \"package/requirements.txt\" ]; then\n # Install requirements one by one to better handle failures\n while IFS= read -r requirement || [[ -n \"$requirement\" ]]; do\n # Skip empty lines and comments\n [[ -z \"$requirement\" || \"$requirement\" =~ ^#.*$ ]] && continue\n micromamba run -n \"asv_${version}\" pip install --no-deps \"$requirement\" || true\n done < package/requirements.txt\n fi\n \n # Build and install MDAnalysis\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install -e .\n else\n echo \"No pyproject.toml or setup.py found\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='264d6f9357a978444baa1f99411a03453664ab2b', commit_date=1672867721.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Attempt to install using pyproject.toml or setup.py if available\n if [[ -f \"${ROOT_PATH}/pyproject.toml\" ]]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\n elif [[ -f \"${ROOT_PATH}/setup.py\" ]]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n else\n echo \"No 'setup.py' or 'pyproject.toml' found in ${ROOT_PATH}. Cannot install the project.\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='26880f0f0a4bb831fca9668650400858c34f442b', commit_date=1602889606.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps -r ${ROOT_PATH}/requirements.txt\n # Install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='2ee4e9da5aa3a2c1b21fc3d1897bd70e0ab2064d', commit_date=1602770152.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest sphinx sphinx-sitemap sphinx-rtd-theme\n \n # Build and install MDAnalysis with optimized flags\n export CFLAGS=\"-O3\"\n export CXXFLAGS=\"-O3\"\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='35d9d2e3ab08e7e6741b57fe02a7215fe3b91a6c', commit_date=1742597504.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies and tools\n micromamba run -n \"asv_${version}\" pip install build setuptools wheel cython\n \n # Install package dependencies\n micromamba run -n \"asv_${version}\" pip install networkx matplotlib seaborn netCDF4 mmtf-python gsd biopython parmed griddataformats joblib threadpoolctl scikit-learn hypothesis codecov\n \n # Install MDAnalysis in editable mode\n cd ${ROOT_PATH}/package\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='392c8ae5391e20f5e496f7ac03dae08c44deca3b', commit_date=1646727863.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Check for pyproject.toml or setup.py and install accordingly\n if [[ -f \"${ROOT_PATH}/pyproject.toml\" ]]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\n elif [[ -f \"${ROOT_PATH}/setup.py\" ]]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n else\n echo \"No 'setup.py' or 'pyproject.toml' found in ${ROOT_PATH}. Cannot install the project.\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='39b0e4cc184725cd0e5e710780c8154ed4de9f4f', commit_date=1524419705.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install \"setuptools>=45.0\" wheel \"cython>=0.29\" numpy\n \n # Install MDAnalysis in editable mode with specific dependencies for this older version\n micromamba run -n \"asv_${version}\" pip install --no-deps --verbose --editable \"${ROOT_PATH}\"\n \n # Install runtime dependencies appropriate for the 2018 version\n micromamba run -n \"asv_${version}\" pip install six mmtf-python mock biopython networkx gsd scipy matplotlib\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='404040598f78db05882fa5b2bba1d35fc6a30510', commit_date=1605754667.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps -r ${ROOT_PATH}/requirements.txt\n # Install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='42c541771ab7aee318783d296caa3e10b33f53eb', commit_date=1613225552.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install \"cython>=0.29.13,<3.0\" \"numpy>=1.16.0\" \"setuptools>=40.8.0\" wheel\n \n # Additional dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" conda install -y -c conda-forge gsd matplotlib netcdf4 networkx\n \n # Build and install MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='4365f3b07c1bf2ebcf16424b26162102954c5b90', commit_date=1591777205.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest sphinx sphinx-sitemap sphinx-rtd-theme\n \n # Build and install MDAnalysis in development mode\n cd ${ROOT_PATH}\n if [ -d \"package\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable ./package\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable ./testsuite\n else\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable .\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='45e56e8314c278e3eb98ed7a6029b74e7435e8be', commit_date=1598362533.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest sphinx sphinx-sitemap sphinx-rtd-theme\n \n # Install MDAnalysis in development mode with test dependencies\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable .[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='474be5bbe32270bb9ddf02dc3cab74d3c1312c5e', commit_date=1728274662.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme\n micromamba run -n \"asv_${version}\" pip install mmtf-python mock gsd networkx biopython\n \n # Check if we're in the right directory and if setup.py exists\n cd ${ROOT_PATH}\n if [ ! -f \"setup.py\" ] && [ ! -f \"pyproject.toml\" ]; then\n # Try to find the package directory\n if [ -d \"package\" ]; then\n cd package\n elif [ -d \"mdanalysis\" ]; then\n cd mdanalysis\n fi\n fi\n \n # Build and install MDAnalysis in development mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='481e36a3aa8767c4b895eabfd7ef8b89132ab611', commit_date=1723835551.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme\n micromamba run -n \"asv_${version}\" pip install mmtf-python gsd networkx tidynamics biopython\n \n # Check if we're in the right directory and if setup.py exists\n if [ ! -f \"${ROOT_PATH}/setup.py\" ]; then\n cd \"${ROOT_PATH}/package\" || exit 1\n fi\n \n # Build and install MDAnalysis in development mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='4fafd51de84d5b89be0559a412acefde0040847c', commit_date=1726273184.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme\n # Build and install MDAnalysis in development mode\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable ${ROOT_PATH}/package/\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable ${ROOT_PATH}/testsuite/\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='52b3d261240efed0546d9f15ee42c7f445e72c13', commit_date=1693261706.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies with version constraints for Python 3.8\n micromamba run -n \"asv_${version}\" pip install \"setuptools<75.0.0\" wheel \"numpy<2.0.0\" cython\n \n # Install additional dependencies specific to MDAnalysis\n micromamba run -n \"asv_${version}\" pip install pytest pytest-xdist sphinx sphinx_rtd_theme\n micromamba run -n \"asv_${version}\" pip install mmtf-python mock biopython networkx gsd\n \n # Install package in development mode\n cd \"${ROOT_PATH}\"\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-deps --no-build-isolation -e .\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-deps --no-build-isolation -e .\n else\n echo \"Neither pyproject.toml nor setup.py found. Attempting direct install.\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-deps --no-build-isolation .\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='559528f3349bebcaeb82e7f97fd6b76ae8aecce2', commit_date=1501861121.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with basic dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\"\n \n # Install numpy and other build dependencies separately to handle version constraints\n if [[ \"$version\" == \"2.7\" ]]; then\n micromamba install -y -n \"asv_${version}\" -c conda-forge \"numpy<1.17\" \"scipy<1.3\" \"cython<3.0\" pytest setuptools\n else\n micromamba install -y -n \"asv_${version}\" -c conda-forge \"numpy<2.0\" \"scipy<2.0\" \"cython<3.0\" pytest setuptools\n fi\n \n # Install compilers and build tools\n micromamba install -y -n \"asv_${version}\" -c conda-forge compilers wheel\n \n # Install ASV\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Build and install MDAnalysis in development mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install --no-deps -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='5948963e0e9d92c9ddd0829ba3df3d9d496bbf01', commit_date=1672872621.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies with specific versions\n micromamba run -n \"asv_${version}\" pip install --upgrade \"pip<24.0\" setuptools wheel\n micromamba run -n \"asv_${version}\" pip install \"cython<3.0\" \"numpy<2.0\"\n \n # Install package requirements from package directory\n if [ -f \"${ROOT_PATH}/package/requirements.txt\" ]; then\n # Install with relaxed constraints and ignore errors\n sed 's/>=/~=/g' ${ROOT_PATH}/package/requirements.txt | grep -v \"numpy\" | micromamba run -n \"asv_${version}\" pip install -r /dev/stdin || true\n fi\n \n # Install additional dependencies needed for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install \"biopython~=1.80\" fasteners griddataformats\n \n # Install the package in development mode\n cd ${ROOT_PATH}\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e .\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e .\n else\n echo \"No pyproject.toml or setup.py found in ${ROOT_PATH}\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='59f4e395178240d5e3f36088d7a4d98ddd0e3607', commit_date=1680135568.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install \"setuptools<75.0.0\" wheel \"numpy<2.0.0\" cython pytest pytest-xdist sphinx sphinx-sitemap sphinx-rtd-theme\n # Install optional dependencies that may be needed for benchmarks\n micromamba run -n \"asv_${version}\" pip install gsd parmed biopython networkx tidynamics\n # Install MDAnalysis in editable mode with all dependencies\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .[test,analysis]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='5bf1979b36cd4d5f55d691e6927aa606fbeb8791', commit_date=1703619619.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip wheel setuptools build\n micromamba run -n \"asv_${version}\" pip install \"numpy>=1.21.0\" \"cython>=0.29.32\" \"mmtf-python>=1.0.0\" gsd biopython scipy pytest\n\n # Look for package directory containing setup.py\n cd \"${ROOT_PATH}\"\n if [ -d \"package\" ] && [ -f \"package/setup.py\" ]; then\n cd package\n fi\n\n # Set environment variables to help with compilation\n export CFLAGS=\"-std=c99 -O3 -funroll-loops -fsigned-zeros\"\n export NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION\n\n # Build and install MDAnalysis with specific build settings\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -v -e .\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install -v -e .\n else\n echo \"No pyproject.toml or setup.py found in current directory\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='5c19974c43125c94f98ab45d2f9965c70e427eec', commit_date=1541518721.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis dependencies first\n micromamba run -n \"asv_${version}\" pip install --no-deps \"cython>=0.16\" numpy>=1.10.0 biopython>=1.71 networkx>=1.0 griddataformats>=0.4.0 six>=1.4.0 fasteners mmtf-python>=1.0.0 tqdm>=4.43.0 packaging>=20.0 pytest>=3.3.0 mock\n \n # Build and install MDAnalysis in development mode with specific numpy version constraint\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation \"numpy>=1.16.5,<2.0\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='5cf8c5599e1a27c53e774c436b4e03fe71080f7a', commit_date=1534279531.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers setuptools wheel\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install additional dependencies required by MDAnalysis\n micromamba run -n \"asv_${version}\" pip install six biopython networkx gsd griddataformats mmtf-python tqdm mock joblib\n\n # Build and install MDAnalysis with appropriate flags\n if [[ \"$version\" == \"2.7\" ]]; then\n # For Python 2.7, use a more conservative installation approach\n micromamba run -n \"asv_${version}\" pip install --no-deps --editable ${ROOT_PATH}\n else\n # For Python 3.x, use build isolation disabled for better compatibility\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable ${ROOT_PATH}\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='61e236d45c52030d74ba6277c0a59e8a43a13ea9', commit_date=1593710203.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis dependencies with pinned versions appropriate for 2020\n micromamba run -n \"asv_${version}\" pip install \"cython>=0.29,<0.30\" \"numpy>=1.13.0,<1.19\" \"biopython>=1.71,<1.78\" \\\n \"networkx>=1.0,<2.5\" \"griddataformats>=0.4.0\" \"mmtf-python>=1.0.0\" \"gsd>=1.4.0\" \"scipy>=1.0.0,<1.6\" \\\n \"joblib<1.0\" \"mock\" \"psutil<5.8\" \"pytest<6.0\" \"pytest-cov\" \"pytest-xdist<2.0\" \"hypothesis<6.0\"\n \n # Build and install MDAnalysis in development mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='62c35d49bd9458f2b5057d28d4904391a4a38513', commit_date=1534780584.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest sphinx sphinx-sitemap sphinx-rtd-theme\n \n # Build and install MDAnalysis in development mode\n cd \"${ROOT_PATH}\"\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable .\n\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='6bc52ec2f0744cdf3c63a2e43aff232381ec4dd1', commit_date=1669766518.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme setuptools wheel build\n\n # Ensure we're in the package directory\n cd ${ROOT_PATH}/package || cd ${ROOT_PATH}\n\n # Try to build and install MDAnalysis\n if [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install -e .\n elif [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .\n else\n echo \"Neither setup.py nor pyproject.toml found in current directory\"\n exit 1\n fi\n\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='6d5ef34292899958ea2a0148388ecc47cf499da1', commit_date=1620729923.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps -r ${ROOT_PATH}/requirements.txt\n # Install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='73cd1e69be88f1b47b1327c1918c0ad326bec302', commit_date=1603501474.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\"\n \n # Install build dependencies \n micromamba install -y -n \"asv_${version}\" -c conda-forge numpy scipy cython pytest compilers setuptools pip wheel\n \n # Install ASV\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install additional build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --no-deps cython numpy pytest sphinx sphinx-sitemap sphinx-rtd-theme\n \n # Build and install MDAnalysis\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='740cae26820eba538f9990ec904adc9f39a65b2e', commit_date=1619881090.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme\n \n # Install MDAnalysis in development mode with test dependencies\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py clean\n micromamba run -n \"asv_${version}\" pip install --no-deps -e .\n micromamba run -n \"asv_${version}\" pip install -e .[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='740e74e8c61ea01a4b2120bd369b11a58cb9c304', commit_date=1728331627.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create base environment with required dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Install MDAnalysis-specific dependencies\n micromamba run -n \"asv_${version}\" pip install --no-cache-dir \\\n cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme \\\n mmtf-python mock gsd griddataformats tidynamics \\\n setuptools wheel build\n\n # Look for package subdirectories\n cd ${ROOT_PATH}\n if [ -d \"package\" ]; then\n cd package\n fi\n\n # Try to build and install\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e .\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" python setup.py develop\n else\n echo \"Neither pyproject.toml nor setup.py found in current directory\"\n exit 1\n fi\n cd ${ROOT_PATH}/benchmarks\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='79dead30cc19cd821617a6746663a68709b276e0', commit_date=1754497815.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install meson-python ninja cython packaging\n # Build and install MDAnalysis with meson\n cd ${ROOT_PATH}\n # Ensure we're in the package directory with pyproject.toml\n if [ -f \"package/pyproject.toml\" ]; then\n cd package\n fi\n micromamba run -n \"asv_${version}\" python -m pip install --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='7c468a46344d17f91d44059332fcc533dad01cde', commit_date=1567026117.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers setuptools wheel\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps biopython networkx matplotlib gsd griddataformats tidynamics\n \n # Install package in development mode with explicit build step\n cd \"${ROOT_PATH}\"\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install --no-deps -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='81b8ef51e5bc1aa2824294ac6c52818c74975658', commit_date=1741727282.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install build setuptools wheel cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme\n \n # Additional dependencies specific to MDAnalysis\n micromamba run -n \"asv_${version}\" pip install packaging mmtf-python mock gsd griddataformats scipy matplotlib biopython networkx tidynamics\n\n # Build and install MDAnalysis in development mode\n cd ${ROOT_PATH}\n if [ -f \"package/setup.py\" ]; then\n cd package\n micromamba run -n \"asv_${version}\" pip install -e .\n cd ..\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install -e .\n elif [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .\n else\n echo \"No setup files found in expected locations. Please check repository structure.\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='84ee67b99fc3bf165d2f58057fac3315d8bb33af', commit_date=1727431157.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip wheel setuptools build\n micromamba run -n \"asv_${version}\" pip install numpy cython pytest pytest-xdist sphinx sphinx_rtd_theme\n micromamba run -n \"asv_${version}\" pip install packaging\n \n # Try to find and build from package directory\n cd ${ROOT_PATH}\n if [ -d \"package\" ]; then\n cd package\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" python -m build --wheel\n micromamba run -n \"asv_${version}\" pip install dist/*.whl\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .\n fi\n else\n echo \"Package directory not found in ${ROOT_PATH}\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='8599e47b77a89486a1ffe97a3f146751611d9595', commit_date=1680132537.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme\n # Build and install MDAnalysis in development mode\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable ${ROOT_PATH}/package/\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable ${ROOT_PATH}/testsuite/\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='8c3577f5a72bee654d94367e4bef51791ffa5d0b', commit_date=1591177328.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install setuptools wheel\n \n # Install package dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps six gsd mmtf-python networkx matplotlib biopython griddataformats GridDataFormats scipy tqdm joblib mock\n\n # Install package in development mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='93c4a97761469a2fd013c280d04435ae178f2c44', commit_date=1693273052.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n # Skip Python versions < 3.9 as MDAnalysis requires Python 3.9+\n if [[ $(echo \"$version\" | cut -d. -f2) -lt 9 ]]; then\n echo \"Skipping Python $version as MDAnalysis requires Python 3.9+\"\n continue\n fi\n\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with required dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme setuptools wheel build\n \n # Additional dependencies specific to MDAnalysis\n micromamba run -n \"asv_${version}\" pip install packaging mmtf-python gsd networkx matplotlib tqdm scipy biopython\n\n # Ensure we're in the root directory\n cd ${ROOT_PATH}\n \n # Look for package subdirectory\n if [ -d \"package\" ]; then\n cd package\n fi\n \n # Try to build and install the package\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation -v -e .\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation -v -e .\n else\n echo \"No pyproject.toml or setup.py found in current directory\"\n exit 1\n fi\n \n # Install remaining dependencies\n micromamba run -n \"asv_${version}\" pip install -e .[test,doc]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='95fedb590d1afd268c0a643302cd703b8756f5d3', commit_date=1685194826.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Check Python version requirement (MDAnalysis needs >=3.9)\n if (( $(echo \"$version\" | cut -d. -f1,2 | sed 's/\\.//' | bc) < 39 )); then\n echo \"Skipping Python $version as MDAnalysis requires Python >=3.9\"\n continue\n fi\n\n # Create environment with required dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge \\\n python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" \\\n numpy scipy cython pytest compilers \\\n gsd networkx matplotlib tqdm pandas\n\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n cd ${ROOT_PATH}\n\n # Install build dependencies and package\n micromamba run -n \"asv_${version}\" pip install build wheel setuptools cython numpy\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e \".[test,analysis]\"\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='9a2cd43fccd4426f91b195ea9902e5b78a6c2e3b', commit_date=1710090427.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies and required packages\n micromamba run -n \"asv_${version}\" pip install build setuptools wheel matplotlib pandas\n micromamba run -n \"asv_${version}\" pip install GridDataFormats mmtf-python networkx fasteners mda-xdrlib waterdynamics pathsimanalysis mdahole2\n \n # Install the package in editable mode\n cd ${ROOT_PATH}\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .\n else\n echo \"Neither pyproject.toml nor setup.py found in the root directory\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='9ba1ab964920acfc986d8e264f78c965e062e9d0', commit_date=1511010257.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with basic dependencies\n # Using older versions since this is a 2017 commit\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" \"numpy<=1.13\" \"scipy<=1.0\" \"cython<=0.27\" setuptools wheel pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install additional build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install \"sphinx<1.7\" \"sphinx_rtd_theme<0.3\"\n \n cd ${ROOT_PATH}\n # Build and install MDAnalysis with optimizations disabled to avoid timeouts\n CFLAGS=\"-O0\" CXXFLAGS=\"-O0\" micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install --no-deps -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='a1bca526f473325f91c12fb15c887243a2a9244b', commit_date=1646736472.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install \"cython<3.0\" numpy pytest pytest-xdist sphinx sphinx_rtd_theme\n # Build and install MDAnalysis in development mode with older Cython version\n cd ${ROOT_PATH}\n # First install the core package\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable package/\n # Then install the test suite\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable testsuite/\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='a3672f216aa162f2549d1712fad0118b2cc98d49', commit_date=1734398599.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip wheel setuptools build\n micromamba run -n \"asv_${version}\" pip install numpy cython pytest pytest-xdist sphinx sphinx_rtd_theme\n \n # Additional dependencies specific to MDAnalysis\n micromamba run -n \"asv_${version}\" pip install gsd mmtf-python networkx scipy tqdm packaging matplotlib biopython griddataformats\n \n # Build and install MDAnalysis\n cd ${ROOT_PATH}\n if [ -d \"package\" ]; then\n cd package\n fi\n \n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" python -m build\n micromamba run -n \"asv_${version}\" pip install dist/*.whl\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable .\n else\n echo \"Neither pyproject.toml nor setup.py found in the root directory\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='a6034750dc47c8904a297efa184292c73c0690bb', commit_date=1692115614.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy \"packaging<22\" pytest\n \n # Install package in development mode\n if [ -f \"package/setup.py\" ]; then\n cd package\n fi\n \n # Try to build and install\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .\n \n # Return to root directory\n cd ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='a64eed98b38307e4699b59eef9f265cbead37ad6', commit_date=1607980019.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest sphinx sphinx-sitemap sphinx-rtd-theme\n \n # Install MDAnalysis in development mode with explicit numpy dependency\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --no-deps --editable .\n micromamba run -n \"asv_${version}\" pip install numpy scipy\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='a6edec02af44fbb4589ef1da25a54a4cc8895ee4', commit_date=1671201733.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n\n # Install ASV\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Install MDAnalysis-specific dependencies\n micromamba run -n \"asv_${version}\" conda install -y -c conda-forge gsd netcdf4 bzip2 mmtf-python\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install pytest-xdist sphinx sphinx_rtd_theme\n\n # Ensure we're in the root directory before building\n cd \"${ROOT_PATH}\"\n\n # Build and install MDAnalysis with optimizations\n export CFLAGS=\"-O3\"\n export CXXFLAGS=\"-O3\"\n \n # First try pyproject.toml-based install\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation -v -e .\n # Fallback to setup.py if exists\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" python setup.py develop\n else\n echo \"Neither pyproject.toml nor setup.py found. Checking package subdirectories...\"\n # Check for package subdirectories\n if [ -f \"package/pyproject.toml\" ]; then\n cd package\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation -v -e .\n cd \"${ROOT_PATH}\"\n elif [ -f \"package/setup.py\" ]; then\n cd package\n micromamba run -n \"asv_${version}\" python setup.py develop\n cd \"${ROOT_PATH}\"\n else\n echo \"No installation method found. Build failed.\"\n exit 1\n fi\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='aaa4456db50e237cf580c8c986c00d7c5fbe3075', commit_date=1703622753.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install --upgrade pip wheel setuptools\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme\n micromamba run -n \"asv_${version}\" pip install mmtf-python mock gsd networkx biopython\n\n # Navigate to package directory if needed\n if [ ! -f \"${ROOT_PATH}/setup.py\" ]; then\n cd ${ROOT_PATH}/package || exit 1\n fi\n \n # Build and install MDAnalysis with specific compiler flags and additional dependencies\n export CFLAGS=\"-DXDR_GETPOS_RETURNS_UINT32=1 -DXDR_SETPOS_RETURNS_INT=1\"\n # Try installing with conda-forge compilers first\n micromamba install -y -n \"asv_${version}\" -c conda-forge gcc gxx\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='b3208b39aab61be53f8b610f1fef628f83262205', commit_date=1725909222.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip wheel setuptools build\n micromamba run -n \"asv_${version}\" pip install numpy cython pytest pytest-xdist sphinx sphinx_rtd_theme\n # Try to find and use setup.py in package subdirectories\n cd ${ROOT_PATH}\n if [ -d \"package\" ]; then\n cd package\n fi\n # Install MDAnalysis in development mode with verbose output\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='b5ba8278b3e09b80109aa06f77832be00f8752f0', commit_date=1510724778.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install numpy cython\n \n # Build and install MDAnalysis\n cd ${ROOT_PATH}\n # For older versions of MDAnalysis, build_ext is needed before install\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='b672b595b57f6862d486391d646cf30c31fd8501', commit_date=1598490143.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis build dependencies\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy\n \n # Build and install MDAnalysis with all dependencies\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='b7f36bd148f1eed47f2dc935b89d28c8cae468c4', commit_date=1541446943.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install setuptools wheel\n \n # Install build dependencies first\n if [ -f \"${ROOT_PATH}/requirements.txt\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-deps -r ${ROOT_PATH}/requirements.txt\n fi\n \n # Build and install MDAnalysis with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='bc95e31af1bd1a583161318ab381d005452d48ea', commit_date=1611524871.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps -r ${ROOT_PATH}/requirements.txt\n # Install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='bdb1352f4743aa2101ba2d6b3c9c4fbeb5ae8584', commit_date=1680212962.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install \"setuptools<75.0.0\" wheel \"numpy<2.0.0\" cython pytest pytest-xdist sphinx sphinx-sitemap sphinx_rtd_theme\n # Install optional dependencies that may be needed for benchmarks\n micromamba run -n \"asv_${version}\" pip install gsd parmed biopython networkx tidynamics\n # Install MDAnalysis in editable mode with all dependencies\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .[test,analysis]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='be4b6ee8fa243a0d9e18b936a3d018f2b7418914', commit_date=1650356257.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n\n # Install ASV\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Install build dependencies with specific versions to avoid Cython errors\n micromamba run -n \"asv_${version}\" pip install \"setuptools<75.0.0\" wheel \"cython==0.29.36\" \"numpy<2.0.0\"\n\n # Install required dependencies\n micromamba run -n \"asv_${version}\" pip install \\\n \"mmtf-python>=1.0.0\" \\\n \"networkx>=2.0\" \\\n \"gsd>=1.9.3\" \\\n \"scipy>=1.5.0\" \\\n \"biopython>=1.80\" \\\n \"griddataformats>=0.4.0\" \\\n \"packaging\" \\\n \"tqdm>=4.43.0\" \\\n \"fasteners\"\n\n # Build and install MDAnalysis\n cd \"${ROOT_PATH}\"\n if [ -f \"package/setup.py\" ]; then\n cd package\n # Use --no-build-isolation to ensure our carefully installed dependencies are used\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --no-deps --editable .\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --no-deps --editable .\n else\n echo \"No setup.py found in expected locations\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='c07b5c8897688d778e57e1ef34be86f58c969fe7', commit_date=1607478583.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest sphinx sphinx-sitemap sphinx-rtd-theme\n \n # Build and install MDAnalysis components separately\n cd ${ROOT_PATH}/package\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\n \n cd ${ROOT_PATH}/testsuite\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='c3289d8994936ce7dbe7842e8877d597ca96360a', commit_date=1752273263.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install build setuptools wheel cython numpy\n # Build and install MDAnalysis in development mode\n cd ${ROOT_PATH}/package\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='c565b9d3a11508604a1217e37199ac17a8c618f2', commit_date=1654106359.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme setuptools wheel build\n \n # Additional dependencies specific to MDAnalysis\n micromamba run -n \"asv_${version}\" pip install mmtf-python gsd networkx biopython matplotlib tqdm pandas tidynamics\n\n # Build and install MDAnalysis from source\n cd ${ROOT_PATH}\n if [ -f \"pyproject.toml\" ]; then\n # Use build system if pyproject.toml exists\n micromamba run -n \"asv_${version}\" python -m build --wheel\n micromamba run -n \"asv_${version}\" pip install dist/*.whl\n elif [ -f \"setup.py\" ]; then\n # Use setup.py if available\n micromamba run -n \"asv_${version}\" pip install -e .\n else\n echo \"No setup.py or pyproject.toml found in package root directory.\"\n # Try looking in package subdirectory\n if [ -d \"package\" ] && [ -f \"package/setup.py\" ]; then\n cd package\n micromamba run -n \"asv_${version}\" pip install -e .\n else\n echo \"Could not find build configuration. Cannot build package.\"\n exit 1\n fi\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='c56e8df543e1aba21959a7c7b3029eacd57d9130', commit_date=1661799771.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" \"numpy<2.0.0\" scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n\n # Install MDAnalysis dependencies\n micromamba run -n \"asv_${version}\" pip install \\\n \"mmtf-python>=1.0.0\" \\\n \"gsd>=1.9.3,<4.0.0\" \\\n \"mock>=3.0.5\" \\\n \"packaging>=20.4\" \\\n \"pytest-xdist>=1.31.0\" \\\n \"pytest-cov>=2.10.1\" \\\n \"pytest-timeout>=1.4.2\" \\\n \"hypothesis>=5.19.0\" \\\n \"psutil>=4.3.1\" \\\n \"biopython>=1.80\" \\\n \"duecredit>=0.9.0\" \\\n \"griddataformats>=0.4.0\" \\\n \"tqdm>=4.43.0\" \\\n \"joblib>=0.12\" \\\n \"fasteners>=0.15\" \\\n \"networkx>=2.0\" \\\n \"threadpoolctl>=2.0.0\"\n\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Build and install MDAnalysis in editable mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='c5cbc2551c1175e8d13887783c7ab2894607ac92', commit_date=1671293813.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with required dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme\n \n # Additional dependencies that might be needed for compilation\n micromamba install -y -n \"asv_${version}\" -c conda-forge gsd netcdf4 bzip2 gcc gxx\n \n # Install MDAnalysis with verbose output and no build isolation\n cd \"${ROOT_PATH}\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='c620b141f018628356bb9cdd16eefa640b6080ba', commit_date=1671200774.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers cmake\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Install build dependencies and required packages\n micromamba run -n \"asv_${version}\" micromamba install -y -c conda-forge \\\n biopython \\\n gsd \\\n griddataformats \\\n fasteners \\\n \"numpy<2.0\" \\\n \"cython<3.0\" \\\n setuptools \\\n wheel \\\n pip \\\n build\n\n # Try building and installing from source\n cd ${ROOT_PATH}\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" python -m build\n micromamba run -n \"asv_${version}\" pip install dist/*.whl\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install -e .\n else\n echo \"Neither pyproject.toml nor setup.py found in ${ROOT_PATH}\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='c6f1a5a5663913f00cc5f727ad0e662bbf23f18f', commit_date=1617010037.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis-specific dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps gsd pmda gridDataFormats mmtf-python mock biopython networkx\n \n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install \"cython<3.0\" \"numpy<2.0\" setuptools wheel\n \n # Build and install MDAnalysis in development mode with specific flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='c70504d99e8b6ff7f61778cff1f5956da708ddad', commit_date=1619628547.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest sphinx sphinx-sitemap sphinx-rtd-theme\n \n # Build and install MDAnalysis in development mode\n cd \"${ROOT_PATH}\"\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable .\n micromamba run -n \"asv_${version}\" pip install -r requirements.txt\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='c815614b5ae8ed86eaa0d68e10451fde7e72242b', commit_date=1671293292.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies with compatible versions\n micromamba run -n \"asv_${version}\" pip install \"setuptools<75.0.0\" wheel \"cython<3.0.0\" \"numpy<2.0.0\"\n \n # Install package requirements\n if [ -f \"${ROOT_PATH}/package/requirements.txt\" ]; then\n # Install requirements one by one to handle dependencies better\n while IFS= read -r requirement; do\n micromamba run -n \"asv_${version}\" pip install --no-deps \"$requirement\" || true\n done < \"${ROOT_PATH}/package/requirements.txt\"\n fi\n \n # Build and install MDAnalysis\n cd ${ROOT_PATH}\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --no-deps -e .\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-deps -e .\n else\n echo \"No pyproject.toml or setup.py found\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='cb05695ca422c216406a0eae4040c782a2a03812', commit_date=1629822068.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install setuptools wheel cython numpy scipy\n \n # Install optional dependencies that might be needed for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --no-deps matplotlib networkx gsd biopython\n \n # Install the package in editable mode with test dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable \"${ROOT_PATH}[test]\"\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='d2e22ffb0cb46af5266e39b940d7f00c1ca293c1', commit_date=1534167809.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps biopython griddataformats gsd networkx matplotlib mmtf-python tqdm tidynamics setuptools wheel\n \n # Build and install MDAnalysis in development mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='d73b653f19e8446bbb9de51bb41d71f78d148d30', commit_date=1534803427.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install numpy cython\n \n # Build and install MDAnalysis with test dependencies\n cd \"${ROOT_PATH}\"\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='da77f2bead8c4a634d2ba5b61cd7d7f841c01c0b', commit_date=1671205345.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install build setuptools wheel cython numpy pytest pytest-xdist\n # Build and install MDAnalysis using setup.py since pyproject.toml is not found\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='daee516f23ead8e42c2e42b7636f9ec243ab306e', commit_date=1603119467.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest sphinx sphinx-sitemap sphinx-rtd-theme\n \n # Build and install MDAnalysis in development mode\n cd ${ROOT_PATH}\n if [ -d \"package\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable ./package\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable ./testsuite\n else\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable .\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='dcfa60a2ee0bcee7f54e969666950941905d825a', commit_date=1621773545.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps -r ${ROOT_PATH}/requirements.txt\n # Install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='e213f2be8e8741efc7cdddd35dc4bd2d88e0ff85', commit_date=1745000938.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install build wheel setuptools cython numpy\n \n # Install package-specific dependencies\n cd ${ROOT_PATH}/package\n if [ -f \"requirements.txt\" ]; then\n micromamba run -n \"asv_${version}\" pip install -r requirements.txt\n fi\n \n # Build and install package\n cd ${ROOT_PATH}\n if [ -f \"package/setup.py\" ]; then\n cd package\n micromamba run -n \"asv_${version}\" pip install -e .\n else\n echo \"No setup.py found in package directory\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='e3966303776577e15a043daeceff5a591370398a', commit_date=1534255980.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install setuptools wheel\n \n # Install additional build dependencies\n micromamba run -n \"asv_${version}\" pip install six biopython networkx gsd griddataformats mmtf-python mock joblib\n \n # Install in editable mode with test dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='e8fbd529fc55cb187d38bdef141d74757f22bdc5', commit_date=1594518308.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps -r ${ROOT_PATH}/requirements.txt\n # Install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='eab18cb8418ddb1dd72b44f474833de4a2999884', commit_date=1654100638.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers cmake\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Install build dependencies and required packages\n micromamba run -n \"asv_${version}\" micromamba install -y -c conda-forge \\\n biopython \\\n gsd \\\n griddataformats \\\n fasteners \\\n mmtf-python \\\n networkx \\\n scipy \\\n matplotlib \\\n tqdm \\\n \"cython<3.0\" \\\n \"numpy<2.0\" \\\n pip \\\n setuptools \\\n wheel \\\n build\n\n # Try building and installing with specific C compiler flags\n cd ${ROOT_PATH}\n export CFLAGS=\"-fcommon\"\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation -v .\n\n # If that fails, try alternative installation method\n if [ $? -ne 0 ]; then\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install --no-deps -e .\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='eae5845cf5488ae1db1cdcc2075f68406291721e', commit_date=1517964764.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis specific dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps six mmtf-python mock biopython networkx gsd joblib setuptools wheel\n \n # Build and install MDAnalysis in development mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='ee4759293e1a4a5109c6b66e133acb1af7d24b0d', commit_date=1567703043.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest\n \n # Install MDAnalysis in development mode with specific build settings\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='f5e9603f35b1e1587c1a1583793374fbfa0f80c5', commit_date=1629232880.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis dependencies\n micromamba run -n \"asv_${version}\" pip install \\\n \"cython>=0.29.13\" \\\n \"numpy>=1.16.0\" \\\n \"biopython>=1.74\" \\\n \"networkx>=1.0\" \\\n \"griddataformats>=0.4.0\" \\\n \"mmtf-python>=1.0.0\" \\\n \"gsd>=1.9.3\" \\\n \"scipy>=1.0.0\" \\\n \"joblib\" \\\n \"mock\" \\\n \"packaging\" \\\n \"pytest\" \\\n \"pytest-xdist\" \\\n \"pytest-cov\" \\\n \"pytest-timeout\" \\\n \"psutil\" \\\n \"hypothesis\" \\\n \"matplotlib>=1.5.1\" \\\n \"tqdm>=4.43.0\" \\\n \"fasteners\" \\\n \"duecredit\"\n \n # Build and install MDAnalysis in development mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='f7a6f47e9c8c4637770c2c0cc0c20da841d11622', commit_date=1516881817.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers setuptools pip wheel\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps biopython griddataformats gsd networkx matplotlib mmtf-python tqdm tidynamics six\n \n # Build and install MDAnalysis in development mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install --no-deps -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='fb9e0bc786b21c15cefe0027fc83a441e1b19950', commit_date=1685186356.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n\n # Install ASV\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme setuptools wheel build\n \n # Additional dependencies specific to MDAnalysis\n micromamba run -n \"asv_${version}\" pip install packaging mmtf-python gsd networkx matplotlib tqdm pandas biopython griddataformats scipy\n\n # Ensure we're in the root directory\n cd \"${ROOT_PATH}\"\n \n # Build and install MDAnalysis\n if [ -f \"package/setup.py\" ]; then\n cd package\n micromamba run -n \"asv_${version}\" pip install -e .\n cd ..\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install -e .\n else\n echo \"No setup.py found in expected locations\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='fe22dc3794f1f5d466f9128e4c7050fa0d58e62f', commit_date=1619962288.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis-specific dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps gsd pmda gridDataFormats mmtf-python mock biopython networkx\n \n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install cython numpy setuptools wheel\n \n # Build and install MDAnalysis in development mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='fed8be34a3434a621bacd438d2f9307139a24511', commit_date=1511384425.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Skip Python 2.7 as it's not available in conda-forge anymore\n if [[ \"$version\" == \"2.7\" ]]; then\n echo \"Skipping Python 2.7 as it's no longer supported\"\n continue\n fi\n\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" \"numpy>=1.16\" \"scipy>=1.5\" cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis dependencies for the 2017 commit\n micromamba run -n \"asv_${version}\" pip install \"cython>=0.16\" \"biopython>=1.71\" \\\n \"networkx>=1.0\" \"griddataformats>=0.4.0\" \"six>=1.4.0\" \"mmtf-python>=1.0.0\" \"gsd>=1.4.0\" \\\n \"mock>=2.0.0\" \"psutil>=4.0.0\" \"fasteners>=0.12.0\" \"matplotlib>=1.5.1\" \\\n \"tqdm>=4.43.0\" \"packaging>=20.0\" \"pytest>=3.3.0\" \"pytest-xdist>=1.4.0\" \"pytest-cov>=2.5.1\"\n \n # Build and install MDAnalysis\n cd ${ROOT_PATH}\n # Use older build approach appropriate for 2017 commit\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='ff7ffa10901e2df2be12c3d3dd78e4e0a262e90e', commit_date=1614816697.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis dependencies with specific version constraints\n micromamba run -n \"asv_${version}\" pip install \"cython>=0.29.13\" \"numpy>=1.16.0\" \"biopython>=1.74\" \"networkx>=1.0\" \\\n \"griddataformats>=0.4.0\" \"mmtf-python>=1.0.0\" \"gsd>=1.9.3\" \"scipy>=1.0.0\" \"joblib\" \"mock\" \"packaging\" \\\n \"pytest\" \"pytest-xdist\" \"pytest-cov\" \"pytest-timeout\" \"psutil\" \"hypothesis\"\n \n # Build and install MDAnalysis in development mode with explicit numpy requirement\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha=None, commit_date=0.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy \"cython<3\" joblib threadpoolctl pytest compilers meson-python\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # if maintainer/install_all.sh exists run it with develop\n if [[ -f \"maintainer/install_all.sh\" ]]; then\n micromamba activate \"asv_${version}\"\n working_dir=$(pwd)\n cd \"$ROOT_PATH\" || exit 1\n bash maintainer/install_all.sh develop\n cd \"$working_dir\" || exit 1\n else\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .\n fi\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='modin-project', repo='modin', sha='be3e716107a185961fc209c343b0feefe0fb9751', commit_date=1684841207.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='modin-project', repo='modin', sha='c5aac3ef99d14305ea9a130e14155fc37495e199', commit_date=1608304159.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='napari', repo='napari', sha='3b6800763f97452ccf8230abf5a65fd6beedd247', commit_date=1606539287.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='napari', repo='napari', sha='dfeefb43af6538dd1e5ad7820128dfc844dc54b1', commit_date=1723973799.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='networkx', repo='networkx', sha='1071e14b81baaa4f0becc1849e85839ae8c671d9', commit_date=1716269137.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='networkx', repo='networkx', sha='81df24ce59b5b4fddfa65cd0a57db96748bba904', commit_date=1745208237.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n if [[ \"$version\" == \"3.13\" ]]; then\n echo \"Skipping unsupported Python version: $version\"\n continue\n fi\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='newton-physics', repo='newton', sha='5b18850fd8243e4c707b596880c01c1966e5168e', commit_date=1753825967.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='newton-physics', repo='newton', sha='cd07ab2c989df6392253a77e82333ec57a433e94', commit_date=1751556054.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='nilearn', repo='nilearn', sha='6c1a76e37cf1c0dd6b800271cb3994f3efd38d07', commit_date=1744125996.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='nilearn', repo='nilearn', sha='73fe9520ea705056f89b1cd5982947de13d515a0', commit_date=1754650581.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='numpy', repo='numpy', sha='4092a9e160cc247a4a45724579a0c829733688ca', commit_date=1459109632.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='numpy', repo='numpy', sha='9c3f0bb9955d530d43487f2ab800c765c83a3ea7', commit_date=1716460609.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --use-pep517 ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='nvidia', repo='warp', sha='5495dc762dae2f09b648588d0f979e03ea3ef88b', commit_date=1741386626.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy pytest ninja cmake\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n # Run build_lib.py first as required by the error message\n micromamba run -n \"asv_${version}\" python ${ROOT_PATH}/build_lib.py\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --verbose --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='nvidia', repo='warp', sha='626fc946dcfe2150b6aed956c57e89ec907ca44a', commit_date=1746035128.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy pytest ninja cmake\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # WARP specific build requirements\n micromamba run -n \"asv_${version}\" pip install setuptools wheel\n # Run build_lib.py first as required by the error message\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python build_lib.py\n # Build and install WARP with CUDA support\n CUDA_PATH=/usr/local/cuda micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='nvidia', repo='warp', sha='9958a89058d16e7ac634c46b37d9aad6c14b3f10', commit_date=1740864850.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest ninja cmake\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # WARP specific build requirements\n micromamba run -n \"asv_${version}\" pip install torch cuda-python\n # Run build_lib.py first as required by the error message\n cd ${ROOT_PATH}\n WARP_BUILD_CUDA=1 micromamba run -n \"asv_${version}\" python build_lib.py\n # Now install in editable mode\n WARP_BUILD_CUDA=1 micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='nvidia', repo='warp', sha='a447d70c372b4dbe1b574ebf587c51c9742272db', commit_date=1748714623.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy pytest ninja cmake compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # WARP specific build steps\n micromamba run -n \"asv_${version}\" pip install warp-lang\n # Run build_lib.py first as required by the error message\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python build_lib.py\n # Now try the editable install\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='nvidia', repo='warp', sha='a81f7e773f2905e06fe52262002c2e34a5daa4d8', commit_date=1743362346.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy cmake ninja pytest\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n # Run build_lib.py first as required by the error message\n micromamba run -n \"asv_${version}\" python ${ROOT_PATH}/build_lib.py\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='nvidia', repo='warp', sha='d641e89a288746c380ef9b4871f45b0d862fd69e', commit_date=1755703901.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest ninja cmake\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # WARP specific dependencies and build requirements\n micromamba run -n \"asv_${version}\" pip install meson-python build wheel setuptools\n # First run build_lib.py to generate required libraries\n cd ${ROOT_PATH}\n # Add missing climits header to fix build error\n sed -i '1i\\#include ' warp/native/bvh.cpp\n micromamba run -n \"asv_${version}\" python build_lib.py\n # Then install WARP without CUDA support since error suggests basic build issues first\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='nvidia', repo='warp', sha='dc693d89d5b85ac7e72c7f4e226eb58a5d54131f', commit_date=1751384285.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Ensure the necessary libraries are built before attempting to install the package\n micromamba run -n \"asv_${version}\" python ${ROOT_PATH}/build_lib.py\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='nvidia', repo='warp', sha=None, commit_date=0.0)": { - "building_data": "#!/usr/bin/env bash\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# only run the below if condition if bvh.cpp is present\ngrep -q '^#include ' \"${ROOT_PATH}/warp/native/bvh.cpp\" || sed -i 's|#include |#include \n#include |' \"${ROOT_PATH}/warp/native/bvh.cpp\"\n\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" python \"${ROOT_PATH}/build_lib.py\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='optuna', repo='optuna', sha='445048a74c9090e60a82a49605044cc42727642a', commit_date=1650874136.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='optuna', repo='optuna', sha='c634449ebbd2160ee44a1845d1efd6c20ee200ae', commit_date=1714538588.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pandas-dev', repo='pandas', sha='2f4c93e8322775a0bb06429a02429b95ba6abb26', commit_date=1698253642.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || {\n echo \"Editable install failed, attempting wheel install\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\n }\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pandas-dev', repo='pandas', sha='94a8af55b703fbaea19da9902a9790c7b93dc0ad', commit_date=1686591905.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || {\n echo \"Editable install failed, attempting wheel install\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\n }\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='posthog', repo='posthog', sha='16075ff5c3671587db9e6a6a3ed396058d0f413b', commit_date=1733419912.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Attempt to fix the pyproject.toml issue by ensuring the 'version' field is present\n if ! grep -q \"version\" \"${ROOT_PATH}/pyproject.toml\"; then\n echo \"version = '0.1.0'\" >> \"${ROOT_PATH}/pyproject.toml\"\n fi\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='posthog', repo='posthog', sha='3578a0c1c2b6f4425dc0fddf31d3d256bbf3fc87', commit_date=1655908403.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pvlib', repo='pvlib-python', sha='3692427bef155a32eac525fe965ed8d407a7846e', commit_date=1660774705.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pvlib', repo='pvlib-python', sha='b8c56c5e725ed12f15342c5336f71d52ec8008ce', commit_date=1749300951.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pybamm-team', repo='pybamm', sha='b1fc5950f0d8e5c8e104e00573fdff5561818014', commit_date=1723152711.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pybamm-team', repo='pybamm', sha='e1f52ffcf9811bb7d5046af47c48a2291bfd50b8', commit_date=1653925577.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} --constraint \"<3.10,>=3.7\"\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pydata', repo='bottleneck', sha='c5356daccdab4afc293f56d4b4ff47c154be5bcd', commit_date=1716493787.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pydata', repo='bottleneck', sha='dc01fad42713181b1f2bb13a965eb0651d1308b6', commit_date=1729241092.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} --ignore-requires-python\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pydata', repo='xarray', sha='4cbb7cbd86af1ccfe2b3b98f0e36a410f86d77ef', commit_date=1523669869.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pydata', repo='xarray', sha='dd6222f01a476caa96630e26d5b02fad6777a886', commit_date=1747916222.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pydicom', repo='pydicom', sha='50cd981a068c74b01d854c6cac9bb897fe0b74a9', commit_date=1726970247.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install flit-core\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pydicom', repo='pydicom', sha='87266d96add6a6cccaa3032bbc96b0e3009c6dea', commit_date=1690047796.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install flit-core\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pydicom', repo='pynetdicom', sha='1b701e898b489d561884d20ad78920607a6d1df0', commit_date=1563786471.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pydicom', repo='pynetdicom', sha='bb1f9d164d5c408fc28e02f924b3821b92cb45ad', commit_date=1555925288.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pymc-devs', repo='pymc', sha='6360b005fc610d0505f84885743215a3e09f046e', commit_date=1614035911.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pymc-devs', repo='pymc', sha='a06081e1e9649bd56e3528cb96380efdf6bb2dc0', commit_date=1710322397.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pysal', repo='momepy', sha='6467ae26e8bfca9ba91e7795ab7899aaf89c576c', commit_date=1604013921.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pysal', repo='momepy', sha='7619f2f760d9027434369114a49150e3d3a483fb', commit_date=1603224289.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-adaptive', repo='adaptive', sha='50fae4341c53439f57fcea63346ba3581bd187d4', commit_date=1665457361.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-adaptive', repo='adaptive', sha='a9bb7f612717000dd2cf6899d8ebbf479807f6f5', commit_date=1550239213.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha='0422c82a80b3ec0dc7fcbc69562f99e35358ee80', commit_date=1680293750.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # Install additional dependencies required by python-control\n micromamba run -n \"asv_${version}\" pip install numpy scipy matplotlib\n \n # Build and install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable \"${ROOT_PATH}[test]\"\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha='283f5e7480a7c39f0e11abe63e3c1ecd8b5d8911', commit_date=1616243491.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # Install required dependencies for python-control\n micromamba run -n \"asv_${version}\" pip install numpy scipy matplotlib\n\n # Create version file to fix the invalid version error and setup.cfg\n mkdir -p \"${ROOT_PATH}/control\"\n echo \"__version__ = '0.0.0.dev0'\" > \"${ROOT_PATH}/control/version.py\"\n echo \"[metadata]\nversion = 0.0.0.dev0\" > \"${ROOT_PATH}/setup.cfg\"\n \n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install setuptools wheel build\n\n # Try installing in development mode with all dependencies\n cd \"${ROOT_PATH}\"\n micromamba run -n \"asv_${version}\" python -m build --wheel\n micromamba run -n \"asv_${version}\" pip install dist/*.whl\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha='2ce4bbd983ce00aa2998bce00c7c161ff7c0f1d5', commit_date=1640530701.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # Install required dependencies for python-control\n micromamba run -n \"asv_${version}\" pip install numpy scipy matplotlib\n\n # Create version file since setup.py fails due to invalid version\n echo \"__version__ = '0.0.0.dev0'\" > \"${ROOT_PATH}/control/version.py\"\n \n # Install the package in development mode with all dependencies\n cd \"${ROOT_PATH}\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha='4ef15c4e95ec73cf5fc4d571be103e67b00caadf', commit_date=1647713524.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # Install required build dependencies\n micromamba run -n \"asv_${version}\" pip install numpy scipy matplotlib setuptools wheel\n\n # Fix the version in setup.py before installing\n sed -i 's/version='\"'\"'dev'\"'\"'/version='\"'\"'0.0.0.dev0'\"'\"'/' \"${ROOT_PATH}/setup.py\"\n \n # Build and install in editable mode with test dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable \"${ROOT_PATH}[test]\"\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha='82f3fe343422289f076d6883a2448d169606f821', commit_date=1701474288.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # Install additional dependencies required by python-control\n micromamba run -n \"asv_${version}\" pip install numpy scipy matplotlib\n \n # Build and install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable \"${ROOT_PATH}[test]\"\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha='a042895507367a5d001af7d3febfd8f386497554', commit_date=1739343810.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # Install additional dependencies required by python-control\n micromamba run -n \"asv_${version}\" pip install numpy scipy matplotlib\n \n # Build and install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable \"${ROOT_PATH}[test]\"\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha='a111b03e651d7c1828d264c1b143d9ccc9030b3f', commit_date=1640969033.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # Install required dependencies for python-control\n micromamba run -n \"asv_${version}\" pip install numpy scipy matplotlib\n\n # Generate version file since setup.py shows version error\n echo \"__version__ = '0.0.0.dev0'\" > \"${ROOT_PATH}/control/version.py\"\n \n # Install the package in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable \"${ROOT_PATH}\"\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha='abeb0e46a3d56c98b4534f73202a5a7ef5a0af87', commit_date=1751727883.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # Install additional dependencies required by python-control\n micromamba run -n \"asv_${version}\" pip install numpy scipy matplotlib\n \n # Build and install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable \"${ROOT_PATH}[test]\"\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha='c3c659638fb22bde11e40868f80f540060c50b40', commit_date=1616196419.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # Install required dependencies for python-control\n micromamba run -n \"asv_${version}\" pip install numpy scipy matplotlib\n\n # Generate version file since setup.py shows version error\n echo \"__version__ = '0.0.0.dev0'\" > \"${ROOT_PATH}/control/version.py\"\n \n # Install the package in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable \"${ROOT_PATH}\"\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha='f7d18f17bf90bfb99a06648982b22d1e4af6ccd2', commit_date=1686374157.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # Install additional dependencies required by python-control\n micromamba run -n \"asv_${version}\" pip install numpy scipy matplotlib\n \n # Build and install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable \"${ROOT_PATH}[test]\"\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha=None, commit_date=0.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # if make_version exists run it\n if [[ -f \"${ROOT_PATH}/make_version.py\" ]]; then\n micromamba run -n \"asv_${version}\" python \"${ROOT_PATH}/make_version.py\"\n fi\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-hyper', repo='h11', sha='80805f06e5859692a9dcc32484b2745b7f215a8a', commit_date=1597311658.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-hyper', repo='h11', sha='d64468627a4adeb4140e1480a836c85ba903a2c6', commit_date=1522821575.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pytroll', repo='satpy', sha='94fc4f7749bc2a27f76c7a16a7289037d41120f2', commit_date=1644305622.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pytroll', repo='satpy', sha='aa7f0dd616a973eb2de0e5b77a9ec51d08cc601c', commit_date=1659722497.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pywavelets', repo='pywt', sha='21a30d2af5aca2b3c5f827aa407cb549e2c99fb9', commit_date=1551150162.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} --use-pep517\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pywavelets', repo='pywt', sha='74b44217a66199fa2e0f8e036955fc00f5cbc21a', commit_date=1708613848.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='qiskit', repo='qiskit', sha='023cbd4ec646fc81e0434b6de434bb477ad94979', commit_date=1755506488.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n if [[ \"$version\" == \"3.13\" ]]; then\n echo \"Skipping unsupported Python version: $version\"\n continue\n fi\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='qiskit', repo='qiskit', sha='b12e9ec3cff020983e3dde9b16f5ccc4fd0f4963', commit_date=1715792171.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython setuptools-rust\n micromamba run -n \"asv_${version}\" pip install rustup\n micromamba run -n \"asv_${version}\" rustup toolchain install stable\n micromamba run -n \"asv_${version}\" rustup default stable\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='quantumlib', repo='cirq', sha='01ae51eebf3b18a5cbee9fc0c697d4e1511c07f2', commit_date=1640302944.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --no-use-pep517 ${ROOT_PATH} || {\n echo \"Editable install failed, attempting wheel install\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --no-use-pep517 ${ROOT_PATH}\n }\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='quantumlib', repo='cirq', sha='1a75d9faee3b78765bb4badcf73e3d3e72a3ca2a', commit_date=1744652301.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='rockhopper-technologies', repo='enlighten', sha='d239fa5496a6c342b85343d53a4c16d8db9a87a5', commit_date=1698502059.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-image', repo='scikit-image', sha='0ff35b21293405e9922e44b9dda3818db960b87e', commit_date=1674543103.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython pythran\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-image', repo='scikit-image', sha='c7479c1d7430020a9ee9d92f25a1f0c33e36a7c1', commit_date=1597584715.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='044f1b00a62c9083ce3212a3e69046c9afac0de6', commit_date=1662470783.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies for scikit-learn\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='04860335c82d557e663b4cfa218663d1c7bf65fd', commit_date=1689974588.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='05ce8141bc71ad21e55be4d1b3f6609f65e91e49', commit_date=1603277025.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='06e566eb86cfd8c6107cf3bc2b477c97b80002a3', commit_date=1705578508.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='08b6157b0e18480569a5cc08efd44dabad9e60ce', commit_date=1701071115.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='092caed407f3b60de7677d4353bfe0db20a2faab', commit_date=1682603301.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='0937b4ab48136eb161ead4abd4806d0708b1bb4c', commit_date=1607961058.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to handle compatibility\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<61.0.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set compiler flags for warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Create a temporary setup.cfg to handle package discovery\n cat > ${ROOT_PATH}/setup.cfg << EOF\n[options]\npackages = find:\n\n[options.packages.find]\ninclude = sklearn*\nexclude = build_tools*, maint_tools*, asv_benchmarks*\nEOF\n \n # Install scikit-learn in editable mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e .\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='0a5af0d2a11c64d59381110f3967acbe7d88a031', commit_date=1599664355.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='0b45ac56f1c6acbd254f77fe562aa4919be6ca21', commit_date=1627651692.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set compiler flags and build options\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n \n # Install scikit-learn in editable mode with specific build configuration\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='0c65bbfe8ce816a181780d2a249c94dd653e115a', commit_date=1642433763.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='0c74b8b7d5cdb60dc3a3240cdb36af40b9f40288', commit_date=1615733031.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid compatibility issues\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<61.0.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set environment variables for build\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SKLEARN_SKIP_NETWORK_TESTS=1\n \n # Install scikit-learn in development mode with explicit package specification\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e . --config-settings=package=sklearn\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='0de3b0d1eaacee9f7b15cabc05752cba945c7621', commit_date=1644500459.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='1045d16ec13b1cab7878e7555538573d1884aad3', commit_date=1614793397.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid compatibility issues\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<61.0.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set environment variables for build\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SKLEARN_SKIP_NETWORK_TESTS=1\n \n # Install scikit-learn in development mode with explicit package specification\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e . --config-settings=package=sklearn\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='119b837a43d939ec02cf2aeba5bd203f8ebab4c7', commit_date=1649335379.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='1415a2890b0451d80feef2d81e921a15d2b9d680', commit_date=1685431571.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='15cb8695a27eb8d4dc281ac3c937e12db8b5a6c1', commit_date=1604221237.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to handle the multiple packages error\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<61.0.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set environment variables for build\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SKLEARN_SKIP_NETWORK_TESTS=1\n \n # Create setup.cfg to explicitly specify packages\n cat > ${ROOT_PATH}/setup.cfg << EOF\n[options]\npackages = find:\npackage_dir =\n = .\n\n[options.packages.find]\ninclude = sklearn*\nexclude = build_tools*, maint_tools*, asv_benchmarks*\nEOF\n \n # Install scikit-learn in editable mode with explicit package specification\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='16625450b58f555dc3955d223f0c3b64a5686984', commit_date=1652277602.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='191f96908d6bbb46cf7293fb0ac1299f1e8b783d', commit_date=1719904631.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='1a78993217b52745d63a3495a819efd7f1b0530a', commit_date=1691676945.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='1bb0306a1309f9a57d8c652dec731a95cbd0052b', commit_date=1610422145.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid compatibility issues\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<61.0.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set environment variables for build\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SKLEARN_SKIP_NETWORK_TESTS=1\n \n # Use setup.py directly to avoid package discovery issues\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py develop --no-deps\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='1d1aadd0711b87d2a11c80aad15df6f8cf156712', commit_date=1642210241.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='1db03ce68be362baa12330ae3f42b9673863fa52', commit_date=1626800410.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set compiler flags and build options\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n \n # Install scikit-learn in editable mode with specific build configuration\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='1fbf5fb317034e604d7ae71f368cd9e5b236ec0c', commit_date=1694855355.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='210740408a732940430047fe9437c2193735573f', commit_date=1719586131.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='226da0d7c458816776549c2580abaa4782dc4c48', commit_date=1637400914.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='28831879f2b5a8f623623735480399735c1bb742', commit_date=1755578702.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='2b2e2903e5635dd93a741c955a87260fb69cfc3d', commit_date=1720704772.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='2ca6d4d2fd53a53f92f8b220edee862553b76ffa', commit_date=1750250202.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='2e213c618841f3635885bab034606512c40a7fd4', commit_date=1646246849.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='320b4c61f97fec3facc3c4c2b4cf9351d3425b44', commit_date=1596283836.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='32c5d05cbd7551fd983a250945013239e0e5cb94', commit_date=1631705680.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='3cdfb56d340e77c2ffb5ad341ec4abebd8094a25', commit_date=1608655766.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='3d0a98d7765ccaf5aede89d0ec1088fda24e0465', commit_date=1644832679.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='408f561b87f9955e92619cbf924d595a2655344f', commit_date=1678175921.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='432778464cbffc8ca675c1df786c31f8c23fc62c', commit_date=1642715056.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='45a817933ef51a24f0c5863c1026b4fe664b26fa', commit_date=1608647213.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid compatibility issues\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<61.0.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set environment variables for build\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SKLEARN_SKIP_NETWORK_TESTS=1\n \n # Use setup.py directly to handle the multiple packages issue\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py develop --no-deps\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='4685cf624582cbc9a35d646f239347e54db798dc', commit_date=1652472968.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='49d26cb63fefe43c9b310136e4f2c172d8c433cb', commit_date=1599140563.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools==60.0.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and environment variables\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SKLEARN_SKIP_NETWORK_TESTS=1\n\n # Ensure we're in the root directory\n cd \"${ROOT_PATH}\"\n\n # Install scikit-learn in development mode with specific build settings\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='4bc61a09eac44a86758c6a02a2b47f912a696d3b', commit_date=1719575535.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='4e44edebf9e811c718c2842b65db2eb41ba01786', commit_date=1723709827.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='52d93e141a5d874bd288f15cc1d8990f09721aad', commit_date=1754304060.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='55a65a2fa5653257225d7e184da3d0c00ff852b1', commit_date=1695213631.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='584d413fec25fb5c38f06c1fe88e652111395330', commit_date=1675930888.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='598045569c8f96fb345059f5316ea8903d374ff4', commit_date=1615476313.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid compatibility issues\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<61.0.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set environment variables for build\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SKLEARN_SKIP_NETWORK_TESTS=1\n \n # Install scikit-learn in development mode with explicit package specification\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e . --config-settings=package=sklearn\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='5a332e77a10a44107276843d8532ef79f239c8f3', commit_date=1681854133.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='5a850eb044ca07f1f3bcb1b284116d6f2d37df1b', commit_date=1657115862.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies for scikit-learn\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='5b46d01f8d5015114644b91ce88ee4bc4fa5386d', commit_date=1680769691.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='5c4e9a0fd82dd096bbdf78b69c264a741c768a86', commit_date=1690911539.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='5ffec3233034e0413f548380d4a22f4e0eecae94', commit_date=1678722797.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='63a1a31a17f9bd9cdf617b2cf04bfaf2f32f0a17', commit_date=1639082235.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='63ff30396a062a88387529a28bdb8a1675e9332e', commit_date=1678351529.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='64d54483edfa55ab44d836f9b08ff1bd38f7f6bb', commit_date=1627659978.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set compiler flags and build options\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n \n # Install scikit-learn in editable mode with specific build configuration\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='6595229d116b128c5b36f204dc941f69e14abc7f', commit_date=1718288797.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='673f6259f3fb7bd2a057b1889e23b280fe638998', commit_date=1612389138.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='67ca4dda1d61c9ad95ed68b04cb40da2c822e960', commit_date=1678114713.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='687e84a126965b4179b02d86041a9e997eba87c9', commit_date=1751036214.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='691b00f4b7d169d38cc46cf14668a5029b2df8eb', commit_date=1728910531.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='6d7d0f275db08ca97e7ce9765e5e8f0604e490dd', commit_date=1641981733.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='6f91cbebe5c439d5712860315616b70cd2ca9f87', commit_date=1633437528.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='701537ecca85a333449814c82ac2b78db5f534a8', commit_date=1682379515.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='70ca21f106b603b611da73012c9ade7cd8e438b8', commit_date=1713791446.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='767e9ae7e4fec8bea36c0433ab42f500aacfde64', commit_date=1651223539.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='769da3d51feef52b97b8129bf4700cf088a247b2', commit_date=1613120619.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to handle distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" wheel\n\n # Set compiler flags for warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Build and install scikit-learn in development mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='76c28285d3d3eb6a2834b7d1db01e296187c60b8', commit_date=1677233852.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='7798fd829d0eb3637da17cc5cb359bf52efa551f', commit_date=1630429058.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set compiler flags and build options\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n \n # Install scikit-learn in editable mode with specific build configuration\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='7a2f5ca3a8478333f194a085b0c3635d75fcdf4d', commit_date=1678442780.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='7aabe53e730947df0f6f1f85d640e6daea5bfc9f', commit_date=1634742992.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='7af0a18996efb10fcbcdb15c7c132d2eb36be736', commit_date=1687508727.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='7b715111bff01e836fcd3413851381c6a1057ca4', commit_date=1624465784.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SKLEARN_NO_OPENMP=1 # Disable OpenMP to avoid potential build issues\n\n # Install scikit-learn in editable mode with optimizations\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py develop --no-deps\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='7c835d550c1dcaf44938b1c285db017a773d7dba', commit_date=1662054353.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies for scikit-learn\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='7ddd6e5d34911346afe6839c16fc06fc820fc013', commit_date=1618947559.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='7f1d4d05064a160e19f786bfbac8996cf0ecac5d', commit_date=1707518612.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='80ebe21ec280892df98a02d8fdd61cbf3988ccd6', commit_date=1638310769.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='830864629e21509980a9c3904c9bb7bf2be8fec5', commit_date=1655213679.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies for scikit-learn\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='8525ba5d3c3b5423a5599e654ce73b931882a434', commit_date=1754632277.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='863c552c448118249563f0e709ea83a1a9b2fc7f', commit_date=1612010007.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='871892cef9bc70224233fdf2140c896874c07b57', commit_date=1659000389.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies for scikit-learn\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='88c2db24bd3efb631372aa971270d6cb690d914d', commit_date=1726476355.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='897c0c570511be4b7912a335052ed479ac5ca1f3', commit_date=1705781316.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='8a71b840d3d7f6e5db9f9faf3b6c44f8ed6a3850', commit_date=1705345976.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='8a7684705f636a8dfcde8e2239d2e0bcd624ac54', commit_date=1647426404.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='8ad7c3f02daae525ee83231fbd33fb65e8e05288', commit_date=1633621378.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='8bc36080d9855d29e1fcbc86da46a9e89e86c046', commit_date=1622540296.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n \n # Install scikit-learn in editable mode with specific build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='8e64458f9f348885e6692639d7c8ebaf0adafca0', commit_date=1625562575.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SKLEARN_NO_OPENMP=1 # Disable OpenMP to avoid potential build issues\n\n # Install scikit-learn in editable mode with optimizations\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py develop --no-deps\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='8eef0e767c4bdd2fdb83f51b162afa32386d5973', commit_date=1692883694.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='9590c07128d3bad5978f08eeb34613d347b96e38', commit_date=1719499549.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='961afc72e0222cb108b77b68c145ea4424f089da', commit_date=1751880029.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='99410b1bdea296a0df48026aaee85472bf3cb7cf', commit_date=1625818419.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SKLEARN_NO_OPENMP=1 # Disable OpenMP to avoid potential build issues\n\n # Install scikit-learn in editable mode with optimizations\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py develop --no-deps\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='99562100e941f0972a5a65484ff80f407eeb5137', commit_date=1674572593.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='9c9c8582dff9f4563aa130ef89f155bad0051493', commit_date=1668796144.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='9e38cd00d032f777312e639477f1f52f3ea4b3b7', commit_date=1705585714.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='a09a62eda27720a0cb949ea24b1e21d358f95176', commit_date=1676040745.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='a47d569e670fd4102af37c3165c9b1ddf6fd3005', commit_date=1652372475.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='a67ebbebc173007735e62eef7878c08435d28d89', commit_date=1718987804.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='a7a416f74908cf890d1dd115b53f5811cb8e7598', commit_date=1680769655.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='a85b14d4799ba7c4e13e0e942e599f8077dc182e', commit_date=1679350355.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='a8b1905e8f977fcd4d6a348678bb1e82ed9b3310', commit_date=1606807943.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to handle compatibility\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<61.0.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set compiler flags for warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Create a temporary setup.cfg to handle package discovery\n cat > ${ROOT_PATH}/setup.cfg << EOF\n[options]\npackages = find:\n\n[options.packages.find]\ninclude = sklearn*\nexclude = build_tools*, maint_tools*, asv_benchmarks*\nEOF\n \n # Install scikit-learn in editable mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e .\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='aa2131f9bdcfa7ff0dacfd6a47c207cbb68a49fa', commit_date=1751370298.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='abbeacc2daee2b213274924a5a4ffe6cbafb0627', commit_date=1651693256.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='aca8f20db461ca0dd70b02b6a1f41b957b2b12ee', commit_date=1665069106.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies for scikit-learn\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='ad91259f20529306efe445f5a1da4dccc8c81b5a', commit_date=1663256210.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies for scikit-learn\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='b1202af3b379e698539a2719f2b1e28706ce5388', commit_date=1638654791.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='b3aea0053dadcb67adfc39a90c70ffca607a534f', commit_date=1643205359.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='b5d55b4fd19ca97d68e4e34e5822865b0a8e90d2', commit_date=1651487470.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='b609562c610822ad4b3c11a9e7a22710aba438af', commit_date=1637744681.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='b6b6f63ebefe16403d11e8a0a2281b6e2a811933', commit_date=1678791874.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='b8229daafee0e50690d4b8447f93cf1069ba6880', commit_date=1701274890.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='bc7cd3189bc817545791071515693445e1e271db', commit_date=1617352203.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='bf0886bae0ccbc8c5d285b6e2affe7e40474f970', commit_date=1619532370.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='c0eb3d37244cc4bf35b82e18bff37320e198b038', commit_date=1670930060.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='c217527af5744b9d0db8761c1e3667552312e5e7', commit_date=1652946509.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='c300a8f2178fcae847f82ad548fe9452f2ba8bbb', commit_date=1658415495.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies for scikit-learn\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='c47205fb7d45de50de4afa9760d974e754f103e1', commit_date=1707735651.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='c63b21ec309f742defd56033eadfc8f7bf5b510b', commit_date=1711607317.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='c6ad7361c8fc68188b83070aa0b6b797058c06fa', commit_date=1646214356.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='c9138537790cc0fa352968eed927433fe17ee17c', commit_date=1701967415.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='c9525d1600ecd526b9b98e275fc1b85782c25dea', commit_date=1634072165.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='c9f9b041758c3fa5fdf74b15995a3e3607b0ad5a', commit_date=1737104589.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='caaa1f52a0632294bf951a9283d015f7b5dd5dd5', commit_date=1732650609.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='cbe8648c33b94bd919c35f4d1e2ae1c4432d9749', commit_date=1748364732.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='d5901462551283b689284e582152666faf0dc1da', commit_date=1676911719.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='d5df806c9715443f5dc7de9023a1b7aa2045eae4', commit_date=1677234005.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='d85b1d3302a3ff45179a5826a747e8ee2562f143', commit_date=1674489554.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='d8d5637cfe372dd353dfc9f79dbb63c3189a9ecc', commit_date=1644836117.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='d92c76986ac6553ce8e0fe2c1bbaea500c105cc7', commit_date=1679480310.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='dc1ea2751e8f4e18f61c7e6d767cf42c6e636256', commit_date=1608485758.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to handle compatibility\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<61.0.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set compiler flags for warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Create a temporary setup.cfg to handle package discovery\n cat > ${ROOT_PATH}/setup.cfg << EOF\n[options]\npackages = find:\n\n[options.packages.find]\ninclude = sklearn*\nexclude = build_tools*, maint_tools*, asv_benchmarks*\nEOF\n \n # Install scikit-learn in editable mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e .\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='dc580a8ef5ee2a8aea80498388690e2213118efd', commit_date=1670501069.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='de67a4420f1713058070802ad593cbcd2ee2d5f3', commit_date=1677582108.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='df692c03c1a6003878c6fc4d2f9f222d304dcee3', commit_date=1649449476.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='dfaef0c6c3aef0d00c72573728c90c1d542e2957', commit_date=1657123469.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies for scikit-learn\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='dfda968f1d0b3b1ecaeb4125d3e903416eaf18ec', commit_date=1678100532.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='e113897235feaf309eaaed24001ca96f3608602f', commit_date=1648574496.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set compiler flags for potential warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Build and install scikit-learn in development mode with specific flags\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='e1db2a8173ca37e561cdfa4384481501c4d50868', commit_date=1644639631.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='e1e8c66e05dd638ae785855bfb637e0180aea99c', commit_date=1642748755.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='e411c29625e66f7e440f1acce4069e01201cf122', commit_date=1672782103.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='e64714637d8cc9f4724ae21ea500e4bdc57b0a39', commit_date=1629207428.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set compiler flags and build options\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n \n # Install scikit-learn in editable mode with specific build configuration\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='e7ae63f784c5f85af41cf8f346d194775f01f333', commit_date=1694440694.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='eae3f294d3ba8ae636730537faef4cdd612083ff', commit_date=1678119642.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='eb2920766d7b2ffb04359a1dc8b6c611960931b7', commit_date=1725568507.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='eb85684feb0505694e66365ba9f4d10a409f8f0b', commit_date=1697017427.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='ee524f455dbf0285f7b121a08f1e9613a518abcf', commit_date=1617906457.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='eecde00c7a706546271ff40d7d492b5f27046d2b', commit_date=1619516333.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='ef200eb16813f4e579f3a4e6cd4603e16f72f5a8', commit_date=1680030341.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='ef82b778ecaeee11d6bfd005f59e882410d330b6', commit_date=1751882162.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='f1d3417b086550be670cbfbb5b3c1760ac99203f', commit_date=1646068982.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='f4ed8ef5e4498c9de2ff4b713c1695d6f312ffba', commit_date=1733748660.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='f812e2a27619650463cb12d765f1b443b47c0828', commit_date=1628181136.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set compiler flags and build options\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n \n # Install scikit-learn in editable mode with specific build configuration\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='f86f41d80bff882689fc16bd7da1fef4a805b464', commit_date=1695653805.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='f965fcc0634e47b7230e120850cf7bb4efeb96e7', commit_date=1674829022.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='f96ce586eecb361d53b192ea3b44098d1bd49a77', commit_date=1637843007.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='fba028b07ed2b4e52dd3719dad0d990837bde28c', commit_date=1733159260.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='fe08016877e8bd715816cf9fbfb1fb697c3446d2', commit_date=1754300286.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='fee76cc5405c01e283a3b079dcb865f3017d5007', commit_date=1705008338.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='ff9344f3d8d11d38fa3a2497199113e5bac9537c', commit_date=1666642605.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies for scikit-learn\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha=None, commit_date=0.0)": { - "building_data": "#!/usr/bin/env bash\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\napt-get update && apt-get install -y ninja-build cmake\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn-contrib', repo='metric-learn', sha='57086e91b65b88a95c89449aa501ff68a61dc39a', commit_date=1563459886.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn-contrib', repo='metric-learn', sha='faa240fd7469176036a91430ae6a0a45e627c94a', commit_date=1531145592.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scipy', repo='scipy', sha='83dbd97a76af8621dd0228a797f5207bed094c23', commit_date=1679643125.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython pythran pybind11\n micromamba run -n \"asv_${version}\" conda install -y -c conda-forge openblas\n micromamba run -n \"asv_${version}\" git submodule update --init\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scipy', repo='scipy', sha='b919b4aa67a541b1fef91820a4e94156f7dd36d2', commit_date=1731196689.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython pythran\n micromamba run -n \"asv_${version}\" pip install pybind11\n micromamba run -n \"asv_${version}\" pip install openblas\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scitools', repo='cartopy', sha='9a4d894d9adab3b3a8d9cee6299581ba0ef9ec20', commit_date=1662748176.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers geos\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scitools', repo='cartopy', sha='d9825f18dc6a70b5b4ef6bc5bf48d8025eef1e8e', commit_date=1581379933.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --upgrade setuptools\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scitools', repo='iris', sha='33deead5846b37019902ba067c87e710e55ff6e6', commit_date=1650551816.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scitools', repo='iris', sha='b2ce2a34e2eef7e3d6203c77ada7ed4ce89e3145', commit_date=1573652360.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scverse', repo='anndata', sha='2712af6efcf2d4356f4185a10e92328168710d9f', commit_date=1680623010.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython flit-core setuptools_scm\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scverse', repo='anndata', sha='df213f659f0e9eadfcab4af48ee98de7145252a7', commit_date=1733842403.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scverse', repo='scanpy', sha='7f3f89ac02e924a3a6d55c31730cfaf23b0b4223', commit_date=1744636041.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scverse', repo='scanpy', sha='ad657edfb52e9957b9a93b3a16fc8a87852f3f09', commit_date=1718709475.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='shapely', repo='shapely', sha='3c3a83986ac5bf434e0ca6b7bd16571a1ddac0a4', commit_date=1696785164.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers geos\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='shapely', repo='shapely', sha='ff2ceac81cca6240c459eba5a5ce07084fe25ad2', commit_date=1662401853.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='sourmash-bio', repo='sourmash', sha='9230fce7479c547c96dabe0c1a749a71a4b9e77c', commit_date=1650894889.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='sourmash-bio', repo='sourmash', sha='d2d638b645048cc93377fb9aff8a3be8c937b8b3', commit_date=1613310154.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" conda install -y -c conda-forge rust\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='spotify', repo='voyager', sha='49416c5db539a40adba2588bfe19dc8736db01b2', commit_date=1734118555.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Attempt to install the project using pyproject.toml or setup.py if available\n if [[ -f \"${ROOT_PATH}/pyproject.toml\" ]]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\n elif [[ -f \"${ROOT_PATH}/setup.py\" ]]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n else\n echo \"ERROR: No 'setup.py' or 'pyproject.toml' found in ${ROOT_PATH}. Cannot install the project.\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='spotify', repo='voyager', sha='88cfc468617fde8360ac6db7e71bc578ba49ed16', commit_date=1725990271.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Attempt to install using pyproject.toml or setup.py if available\n if [[ -f \"${ROOT_PATH}/pyproject.toml\" ]]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation \"${ROOT_PATH}\"\n elif [[ -f \"${ROOT_PATH}/setup.py\" ]]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable \"${ROOT_PATH}\"\n else\n echo \"ERROR: No 'setup.py' or 'pyproject.toml' found in ${ROOT_PATH}.\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='sunpy', repo='sunpy', sha='01ea7b5e2760c24e08386f95fd5fd1c0f73da47f', commit_date=1739035442.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='sunpy', repo='sunpy', sha='770f95dbfb033ffacc7172a3cff5158b09f7efe4', commit_date=1651836877.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython extension-helpers\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='textualize', repo='rich', sha='1de94713811101702b8fcf283c64d1a5de5a8213', commit_date=1657547667.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --use-pep517 --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='textualize', repo='rich', sha='cb92947610614e04116f82cb001ed44dda1699fb', commit_date=1647342081.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='tqdm', repo='tqdm', sha='0f823e79f303b4a93ef1381badb1e65757e5070f', commit_date=1603641812.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='tqdm', repo='tqdm', sha='42761473f9edf276937cc3a28a6fcabc59f5f97d', commit_date=1575632008.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='xorbitsai', repo='xorbits', sha='aee883be1dcd4cbbd43d67794932d5c858fcffe2', commit_date=1676955703.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Attempt to install the project in editable mode, fallback to non-editable if it fails\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='xorbitsai', repo='xorbits', sha='ebc391fe0fa55599c3197c52408bd43a4bd9476f', commit_date=1695401335.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Attempt to install using pyproject.toml if setup.py is not found\n if [[ -f \"${ROOT_PATH}/pyproject.toml\" ]]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\n else\n echo \"Neither 'setup.py' nor 'pyproject.toml' found in ${ROOT_PATH}. Cannot install the project.\"\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE_ARGS:?Need to set ASV_MACHINE_ARGS}\"\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\npip install \"cython<3\"\nbash maintainer/install_all.sh develop\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME ${ASV_MACHINE_ARGS}\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" + "Task(owner='astropy', repo='astropy', sha=None, commit_date=0.0, tag='pkg')": { + "building_data": "#!/usr/bin/env bash\n# Purpose: Build/install the repo (editable) in one or more ASV micromamba envs, then run health checks.\nset -euo pipefail\n\n###### SETUP CODE (NOT TO BE MODIFIED) ######\n# Loads micromamba, common helpers, and persisted variables from the env stage.\nsource /etc/profile.d/asv_utils.sh || true\nsource /etc/profile.d/asv_build_vars.sh || true\neval \"$(micromamba shell hook --shell=bash)\"\n\nROOT_PATH=${ROOT_PATH:-$PWD} # Usually /workspace/repo\nREPO_ROOT=\"$ROOT_PATH\"\nTARGET_VERSIONS=\"${PY_VERSION:-${ASV_PY_VERSIONS:-}}\"\nif [[ -z \"${TARGET_VERSIONS}\" ]]; then\n echo \"Error: No PY_VERSION set and ASV_PY_VERSIONS not found.\" >&2\n exit 1\nfi\n###### END SETUP CODE ######\n\n# -----------------------------\n# Agent guidance (read-first)\n# -----------------------------\n# GOAL: For each Python version below, install the project in EDITABLE mode into env asv_{version},\n# with NO build isolation, then run health checks.\n#\n# Below this comment, you should do whatever is necessary to build the project without errors. Including (but not limited to):\n# - Add extra conda/pip dependencies needed to build this project.\n# - Run repo-specific pre-steps (e.g., submodules, generating Cython, env vars).\n# - Run arbitrary micromamba/pip commands in the target env.\n# - Set CFLAGS/CXXFLAGS/LDFLAGS if needed for this repo.\n# - Change files in the repo if needed (e.g., fix a missing #include).\n# - Anything else needed to get a successful editable install.\n#\n# MUST:\n# - Keep this script idempotent.\n# - Use: `pip install --no-build-isolation -v -e .` or `pip install -e .` or equivalent.\n# - Do not modify the SETUP CODE or helper functions below.\n#\n# DO NOT:\n# - Change env names or Python versions outside MODEL EDIT AREA.\n# - Use build isolation unless absolutely necessary.\n\n# -----------------------------\n# Helpers (do not modify)\n# -----------------------------\nlog() { printf \"\u001b[1;34m[build]\u001b[0m %s\n\" \"$*\"; }\nwarn() { printf \"\u001b[1;33m[warn]\u001b[0m %s\n\" \"$*\" >&2; }\ndie() { printf \"\u001b[1;31m[fail]\u001b[0m %s\n\" \"$*\" >&2; exit 1; }\n\n# Conservative default parallelism (override if the repo benefits)\nexport CMAKE_BUILD_PARALLEL_LEVEL=\"${CMAKE_BUILD_PARALLEL_LEVEL:-2}\"\nexport NPY_NUM_BUILD_JOBS=\"${NPY_NUM_BUILD_JOBS:-2}\"\n\n# -----------------------------\n# Build & test across envs\n# -----------------------------\nfor version in $TARGET_VERSIONS; do\n ENV_NAME=\"asv_${version}\"\n log \"==> Building in env: $ENV_NAME (python=$version)\"\n\n if ! micromamba env list | awk '{print $1}' | grep -qx \"$ENV_NAME\"; then\n die \"Env $ENV_NAME not found. Did docker_build_env.sh run?\"\n fi\n\n # Import name resolution (kept simple for the agent)\n IMP=\"${IMPORT_NAME:-}\"\n if [[ -z \"$IMP\" ]]; then\n if ! IMP=\"$(asv_detect_import_name --repo-root \"$REPO_ROOT\" 2>/dev/null)\"; then\n die \"Could not determine import name. Set IMPORT_NAME in /etc/profile.d/asv_build_vars.sh\"\n fi\n fi\n log \"Using import name: $IMP\"\n\n # -----------------------------\n # MODEL EDIT AREA: repo-specific tweaks (optional)\n # -----------------------------\n # Examples (uncomment if needed for this repo):\n #\n # log \"Updating submodules\"\n # git -C \"$REPO_ROOT\" submodule update --init --recursive\n #\n # log \"Installing extra system libs via conda-forge\"\n # micromamba install -y -n \"$ENV_NAME\" -c conda-forge 'openblas' 'blas=*=openblas' 'libopenmp'\n #\n # log \"Pre-generating Cython sources\"\n # micromamba run -n \"$ENV_NAME\" python -m cython --version\n #\n # export CFLAGS=\"${CFLAGS:-}\"\n # export CXXFLAGS=\"${CXXFLAGS:-}\"\n # export LDFLAGS=\"${LDFLAGS:-}\"\n # -----------------------------\n\n # Install some basic micromamba packages.\n micromamba install -y -n \"$ENV_NAME\" -c conda-forge git conda mamba \"libmambapy<=1.9.9\"\n\n export CFLAGS=\"${CFLAGS:-} -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"$ENV_NAME\" pip install -e . scipy matplotlib\n\n # Editable install (no build isolation preferrably). Toolchain lives in the env already.\n log \"Editable install with --no-build-isolation\"\n PIP_NO_BUILD_ISOLATION=1 micromamba run -n \"$ENV_NAME\" python -m pip install --no-build-isolation -v -e \"$REPO_ROOT\"\n\n # Health checks (import + compiled extension probe; optional pytest smoke with RUN_PYTEST_SMOKE=1)\n log \"Running smoke checks\"\n micromamba run -n \"$ENV_NAME\" asv_smokecheck.py --import-name \"$IMP\" --repo-root \"$REPO_ROOT\" ${RUN_PYTEST_SMOKE:+--pytest-smoke}\n\n # Machine-readable markers (useful in logs)\n echo \"::import_name=${IMP}::env=${ENV_NAME}\"\ndone\n\nlog \"All builds complete \u2705\"", + "dockerfile_data": "# syntax=docker/dockerfile:1.7\n\nFROM buildpack-deps:jammy AS base\n\nARG REPO_URL\nARG COMMIT_SHA\n\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nFROM base AS env\nARG REPO_URL\nARG COMMIT_SHA\n\n# Entrypoint is inherited by pkg\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\nENTRYPOINT [\"/entrypoint.sh\"]\n\nRUN git clone \"$REPO_URL\" /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout \"$COMMIT_SHA\"\nLABEL vcs.url=\"$REPO_URL\" vcs.ref=\"$COMMIT_SHA\"\n\n# ---- ENV STAGE: create envs, persist vars, install smoke tool ----\nCOPY docker_build_env.sh /workspace/repo/docker_build_env.sh\nRUN chmod +x /workspace/repo/docker_build_env.sh && \\\n /workspace/repo/docker_build_env.sh\n\n\nFROM env AS pkg\n\n# ---- PKG STAGE: build+test the package for each ASV Python ----\nCOPY docker_build_pkg.sh /workspace/repo/docker_build_pkg.sh\nRUN chmod +x /workspace/repo/docker_build_pkg.sh && \\\n /workspace/repo/docker_build_pkg.sh\n# If you want to restrict to one version at build time, replace with:\n# RUN PY_VERSION=3.10 /workspace/repo/docker_build_pkg.sh\n", + "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n", + "env_building_data": "#!/usr/bin/env bash\nset -euo pipefail\n\n# -------- Helpers installed for all shells --------\ninstall_profile_helpers() {\n cat >/etc/profile.d/asv_utils.sh <<'EOF'\n# asv_utils.sh \u2014 login/interactive shell helpers for ASV builds\nexport MAMBA_ROOT_PREFIX=\"${MAMBA_ROOT_PREFIX:-/opt/conda}\"\n\n# Initialize micromamba for bash shells (no-op if not present)\nif command -v micromamba >/dev/null 2>&1; then\n eval \"$(micromamba shell hook --shell=bash)\"\nfi\n\n# Find and cd into the first directory that contains an asv.*.json\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n if [[ -n \"$match\" ]]; then\n cd \"$(dirname \"$match\")\" || echo \"Failed to change directory\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n return 1\n fi\n}\n\n# Return just the conf filename (e.g., asv.conf.json)\nasv_conf_name() {\n local f\n f=$(find . -type f -name \"asv.*.json\" | head -n 1)\n [[ -n \"$f\" ]] && basename \"$f\" || return 1\n}\n\n# Build performance knobs (overridable)\nexport MAKEFLAGS=\"${MAKEFLAGS:--j$(nproc)}\"\nexport CMAKE_BUILD_PARALLEL_LEVEL=\"${CMAKE_BUILD_PARALLEL_LEVEL:-$(nproc)}\"\nexport NPY_NUM_BUILD_JOBS=\"${NPY_NUM_BUILD_JOBS:-$(nproc)}\"\n\n# Shared pip cache to speed repeated editable builds\nexport PIP_CACHE_DIR=\"${PIP_CACHE_DIR:-/opt/pipcache}\"\nmkdir -p \"$PIP_CACHE_DIR\"\nEOF\n}\n\n# -------- Persisted build variables --------\nwrite_build_vars() {\n local py_versions=\"$1\"\n local import_name=\"$2\"\n\n mkdir -p /etc/asv_env\n echo \"$py_versions\" > /etc/asv_env/py_versions\n echo \"$import_name\" > /etc/asv_env/import_name\n\n # Exported for every future shell (pkg script, interactive, etc.)\n cat >/etc/profile.d/asv_build_vars.sh </usr/local/bin/asv_smokecheck.py <<'PY'\n#!/usr/bin/env python\nimport argparse, importlib, pathlib, sys\n\ndef import_and_version(name: str):\n m = importlib.import_module(name)\n ver = getattr(m, \"__version__\", \"unknown\")\n print(f\"{name} imported ok; __version__={ver}\")\n\ndef probe_compiled(name: str, max_ext: int = 10):\n m = importlib.import_module(name)\n if not hasattr(m, \"__path__\"):\n print(\"No package __path__ (likely a single-module dist); skipping compiled probe.\")\n return\n pkg_path = pathlib.Path(list(m.__path__)[0])\n so_like = list(pkg_path.rglob(\"*.so\")) + list(pkg_path.rglob(\"*.pyd\"))\n failed = []\n for ext in so_like[:max_ext]:\n rel = ext.relative_to(pkg_path).with_suffix(\"\")\n dotted = \".\".join([name] + list(rel.parts))\n try:\n importlib.import_module(dotted)\n except Exception as e:\n failed.append((dotted, str(e)))\n if failed:\n print(\"Some compiled submodules failed to import:\")\n for d, err in failed:\n print(\" -\", d, \"->\", err)\n sys.exit(1)\n else:\n print(\"Compiled submodules (if any) import ok\")\n\ndef main():\n p = argparse.ArgumentParser()\n p.add_argument(\"--import-name\", required=True)\n p.add_argument(\"--repo-root\", default=\".\")\n p.add_argument(\"--pytest-smoke\", action=\"store_true\",\n help=\"Run a quick pytest smoke: -k 'not slow' --maxfail=1\")\n p.add_argument(\"--max-ext\", type=int, default=10)\n args = p.parse_args()\n\n import_and_version(args.import_name)\n probe_compiled(args.import_name, max_ext=args.max_ext)\n\n if args.pytest_smoke:\n import subprocess, os\n if any((pathlib.Path(args.repo_root)/p).exists() for p in (\"tests\", \"pytest.ini\", \"pyproject.toml\")):\n print(\"Running pytest smoke...\")\n rc = subprocess.call([sys.executable, \"-m\", \"pytest\", \"-q\", \"-k\", \"not slow\", \"--maxfail=1\"], cwd=args.repo_root)\n if rc != 0:\n sys.exit(rc)\n else:\n print(\"No tests detected; skipping pytest smoke.\")\n print(\"Smokecheck OK \u2705\")\n\nif __name__ == \"__main__\":\n main()\nPY\n chmod +x /usr/local/bin/asv_smokecheck.py\n}\ninstall_smokecheck\n\n# -------- Install an import-name detector CLI --------\ninstall_detect_import_name() {\n cat >/usr/local/bin/detect_import_name <<'PY'\n#!/usr/bin/env python\nimport argparse, pathlib, re, sys, subprocess, configparser, json\n\n# --- optional TOML loader (py3.11+: tomllib; else tomli if available) ---\ntry:\n import tomllib as toml\nexcept Exception:\n try:\n import tomli as toml\n except Exception:\n toml = None\n\nEXCEPTIONS = {\n # common dist\u2192import mismatches\n \"scikit-learn\": \"sklearn\",\n \"opencv-python\": \"cv2\",\n \"pyyaml\": \"yaml\",\n \"beautifulsoup4\": \"bs4\",\n \"pillow\": \"PIL\",\n \"mysqlclient\": \"MySQLdb\",\n \"psycopg2-binary\": \"psycopg2\",\n \"opencv-contrib-python\": \"cv2\",\n \"protobuf\": \"google\", # top-level package\n \"apache-beam\": \"apache_beam\",\n}\n\n# All the package names we typically query.\nEXCEPTIONS.update({\n # --- core scientific stack ---\n \"scikit-learn\": \"sklearn\",\n \"numpy\": \"numpy\",\n \"pandas\": \"pandas\",\n \"scipy\": \"scipy\",\n \"scikit-image\": \"skimage\",\n \"pywt\": \"pywt\",\n \"xarray\": \"xarray\",\n \"bottleneck\": \"bottleneck\",\n \"h5py\": \"h5py\",\n \"networkx\": \"networkx\",\n \"shapely\": \"shapely\",\n\n # --- ML / stats / optimization / viz ---\n \"optuna\": \"optuna\",\n \"arviz\": \"arviz\",\n \"pymc\": \"pymc\",\n \"kedro\": \"kedro\",\n \"modin\": \"modin\",\n \"napari\": \"napari\",\n \"deepchecks\": \"deepchecks\",\n \"voyager\": \"voyager\", # spotify/voyager\n \"warp\": \"warp\", # NVIDIA/warp\n \"newton\": \"newton\", # newton-physics/newton\n\n # --- domain / ecosystem libs ---\n \"geopandas\": \"geopandas\",\n \"cartopy\": \"cartopy\",\n \"iris\": \"iris\",\n \"anndata\": \"anndata\",\n \"scanpy\": \"scanpy\",\n \"sunpy\": \"sunpy\",\n \"pvlib-python\": \"pvlib\",\n \"PyBaMM\": \"pybamm\",\n \"momepy\": \"momepy\",\n \"satpy\": \"satpy\",\n \"pydicom\": \"pydicom\",\n \"pynetdicom\": \"pynetdicom\",\n\n # --- file formats / IO / infra ---\n \"asdf\": \"asdf\",\n \"arrow\": \"pyarrow\", # apache/arrow\n \"ArcticDB\": \"arcticdb\",\n \"arctic\": \"arctic\",\n\n # --- web / frameworks / utils ---\n \"django-components\": \"django_components\",\n \"h11\": \"h11\",\n \"tqdm\": \"tqdm\",\n \"rich\": \"rich\",\n \"posthog\": \"posthog\",\n \"datalad\": \"datalad\",\n \"ipyparallel\": \"ipyparallel\",\n\n # --- numerical / symbolic / control ---\n \"autograd\": \"autograd\",\n \"python-control\": \"control\",\n \"loopy\": \"loopy\",\n \"thermo\": \"thermo\",\n \"chempy\": \"chempy\",\n \"adaptive\": \"adaptive\",\n\n # --- scientific image / signal ---\n \"metric-learn\": \"metric_learn\",\n\n # --- quantum / physics ---\n \"Cirq\": \"cirq\",\n \"memray\": \"memray\",\n \"devito\": \"devito\",\n\n # --- bio / chem / data ---\n \"sourmash\": \"sourmash\",\n \"dipy\": \"dipy\",\n\n # --- protocol buffers / codegen / outlines ---\n \"python-betterproto\": \"betterproto\",\n \"outlines\": \"outlines\",\n\n # --- DS viz / raster ---\n \"datashader\": \"datashader\",\n \"xarray-spatial\": \"xarray_spatial\",\n\n # --- misc ---\n \"enlighten\": \"enlighten\",\n \"xorbits\": \"xorbits\",\n \"geopandas\": \"geopandas\",\n \"lmfit-py\": \"lmfit\",\n \"mdanalysis\": \"MDAnalysis\",\n \"nilearn\": \"nilearn\",\n})\n\n\nEXCLUDE_DIRS = {\n \".git\", \".hg\", \".svn\", \".tox\", \".nox\", \".venv\", \"venv\",\n \"build\", \"dist\", \"__pycache__\", \".mypy_cache\", \".pytest_cache\",\n \"docs\", \"doc\", \"site\", \"examples\", \"benchmarks\", \"tests\", \"testing\",\n}\n\ndef _norm(s: str) -> str:\n return re.sub(r\"[-_.]+\", \"\", s).lower()\n\ndef read_pyproject(root: pathlib.Path):\n cfg = {}\n p = root / \"pyproject.toml\"\n if toml and p.exists():\n try:\n cfg = toml.loads(p.read_text(encoding=\"utf-8\"))\n except Exception:\n pass\n return cfg\n\ndef read_setup_cfg(root: pathlib.Path):\n p = root / \"setup.cfg\"\n cp = configparser.ConfigParser()\n if p.exists():\n try:\n cp.read(p, encoding=\"utf-8\")\n except Exception:\n pass\n return cp\n\ndef dist_name_from_config(pyproject, setup_cfg):\n # PEP 621 name\n name = (pyproject.get(\"project\", {}) or {}).get(\"name\")\n if not name:\n # setup.cfg [metadata] name\n if setup_cfg.has_section(\"metadata\"):\n name = setup_cfg.get(\"metadata\", \"name\", fallback=None)\n # setup.py --name as last resort\n return name\n\ndef package_roots_from_config(root, pyproject, setup_cfg):\n roots = set([root])\n # setuptools package-dir mapping\n # pyproject: [tool.setuptools.package-dir] \"\" = \"src\"\n pkgdir = ((pyproject.get(\"tool\", {}) or {}).get(\"setuptools\", {}) or {}).get(\"package-dir\", {})\n if isinstance(pkgdir, dict):\n if \"\" in pkgdir:\n roots.add((root / pkgdir[\"\"]).resolve())\n for _, d in pkgdir.items():\n try:\n roots.add((root / d).resolve())\n except Exception:\n pass\n # setup.cfg [options] package_dir\n if setup_cfg.has_section(\"options\"):\n raw = setup_cfg.get(\"options\", \"package_dir\", fallback=None)\n if raw:\n # can be \"=\\nsrc\" or mapping lines\n lines = [l.strip() for l in raw.splitlines() if l.strip()]\n # accept simple \"=src\" or \"\" = \"src\"\n for ln in lines:\n m = re.match(r'^(\"?\\'?)*\\s*=?\\s*(\"?\\'?)*\\s*(?P[^#;]+)$', ln)\n if m:\n roots.add((root / m.group(\"path\").strip()).resolve())\n # setup.cfg [options.packages.find] where\n if setup_cfg.has_section(\"options.packages.find\"):\n where = setup_cfg.get(\"options.packages.find\", \"where\", fallback=None)\n if where:\n for w in re.split(r\"[,\\s]+\", where):\n if w:\n roots.add((root / w).resolve())\n return [r for r in roots if r.exists()]\n\ndef explicit_modules_from_config(pyproject, setup_cfg):\n mods = set()\n # pyproject (tool.setuptools) py-modules / packages\n st = ((pyproject.get(\"tool\", {}) or {}).get(\"setuptools\", {}) or {})\n for key in (\"py-modules\", \"packages\"):\n val = st.get(key)\n if isinstance(val, list):\n mods.update(val)\n # setup.cfg [options] py_modules / packages\n if setup_cfg.has_section(\"options\"):\n for key in (\"py_modules\", \"packages\"):\n raw = setup_cfg.get(\"options\", key, fallback=None)\n if raw:\n for tok in re.split(r\"[\\s,]+\", raw.strip()):\n if tok and tok != \"find:\":\n mods.add(tok)\n return sorted(mods)\n\ndef read_top_level_from_egg_info(root):\n # editable installs often leave ./.egg-info/top_level.txt\n for ei in root.rglob(\"*.egg-info\"):\n tl = ei / \"top_level.txt\"\n if tl.exists():\n try:\n names = [l.strip() for l in tl.read_text(encoding=\"utf-8\").splitlines() if l.strip()]\n if names:\n return names\n except Exception:\n pass\n # also consider dist-info during local builds\n for di in root.rglob(\"*.dist-info\"):\n tl = di / \"top_level.txt\"\n if tl.exists():\n try:\n names = [l.strip() for l in tl.read_text(encoding=\"utf-8\").splitlines() if l.strip()]\n if names:\n return names\n except Exception:\n pass\n return None\n\ndef walk_candidates(roots):\n \"\"\"Return set of plausible top-level import names under candidate roots.\"\"\"\n cands = set()\n for r in roots:\n for path in r.rglob(\"__init__.py\"):\n try:\n pkg_dir = path.parent\n # skip excluded dirs anywhere in the path\n if any(part in EXCLUDE_DIRS for part in pkg_dir.parts):\n continue\n # Construct package name relative to the nearest search root\n try:\n rel = pkg_dir.relative_to(r)\n except Exception:\n continue\n if not rel.parts:\n continue\n top = rel.parts[0]\n if top.startswith(\"_\"):\n # usually private tooling\n continue\n cands.add(top)\n except Exception:\n pass\n # standalone modules at top-level of roots (py_modules case)\n for mod in r.glob(\"*.py\"):\n if mod.stem not in (\"setup\",):\n cands.add(mod.stem)\n return sorted(cands)\n\ndef score_candidates(cands, dist_name):\n \"\"\"Assign a score preferring names that match the dist name.\"\"\"\n scores = {}\n n_dist = _norm(dist_name) if dist_name else None\n prefer = None\n if dist_name and dist_name.lower() in EXCEPTIONS:\n prefer = EXCEPTIONS[dist_name.lower()]\n # also try normalized exception keys (e.g. capitalization)\n for k, v in EXCEPTIONS.items():\n if _norm(k) == _norm(dist_name or \"\"):\n prefer = v\n\n for c in cands:\n s = 0\n if prefer and _norm(c) == _norm(prefer):\n s += 100\n if n_dist and _norm(c) == n_dist:\n s += 80\n if n_dist and (_norm(c).startswith(n_dist) or n_dist.startswith(_norm(c))):\n s += 20\n # shorter, simpler names get a slight bump\n s += max(0, 10 - len(c))\n scores[c] = s\n return sorted(cands, key=lambda x: (-scores.get(x, 0), x)), scores\n\ndef detect(root: str, return_all=False):\n root = pathlib.Path(root).resolve()\n\n pyproject = read_pyproject(root)\n setup_cfg = read_setup_cfg(root)\n dist_name = dist_name_from_config(pyproject, setup_cfg)\n\n # 1) top_level.txt (best signal if present)\n top = read_top_level_from_egg_info(root)\n if top:\n if return_all:\n return top\n # If multiple, score them\n ordered, _ = score_candidates(top, dist_name or \"\")\n return [ordered[0]]\n\n # 2) explicit declarations (py_modules / packages lists)\n explicit = explicit_modules_from_config(pyproject, setup_cfg)\n\n # 3) find correct search roots (src layout, package_dir, etc.)\n roots = package_roots_from_config(root, pyproject, setup_cfg)\n\n # 4) walk code to infer candidates\n walked = walk_candidates(roots)\n\n # merge explicit + walked\n cands = list(dict.fromkeys(explicit + walked)) # keep order & de-dup\n\n # 5) fallback from dist name heuristics/exceptions if still empty\n if not cands and dist_name:\n # exception or simple normalization\n guess = EXCEPTIONS.get(dist_name.lower()) or re.sub(r\"[-\\.]+\", \"_\", dist_name)\n cands = [guess]\n\n if not cands:\n return []\n\n if return_all:\n # return ordered list\n ordered, _ = score_candidates(cands, dist_name or \"\")\n return ordered\n else:\n ordered, _ = score_candidates(cands, dist_name or \"\")\n return [ordered[0]]\n\ndef main():\n ap = argparse.ArgumentParser(description=\"Detect the top-level Python import name for a repo.\")\n ap.add_argument(\"--repo-root\", default=\".\", help=\"Path to repository root\")\n ap.add_argument(\"--all\", action=\"store_true\", help=\"Print all plausible names (JSON list)\")\n args = ap.parse_args()\n\n names = detect(args.repo_root, return_all=args.all)\n if not names:\n sys.exit(1)\n if args.all:\n print(json.dumps(names))\n else:\n print(names[0])\n\nif __name__ == \"__main__\":\n main()\nPY\n chmod +x /usr/local/bin/detect_import_name\n}\n\ninstall_detect_import_name\n\n# -------- Script body --------\n\ninstall_profile_helpers\n# shellcheck disable=SC1091\nsource /etc/profile.d/asv_utils.sh\n\n# Ensure base micromamba is active for introspecting ASV config\nmicromamba activate base\n\ninstall_detect_import_name\ninstall_smokecheck\n\nIMPORT_NAME=\"$(detect_import_name || true)\"\nif [[ -z \"$IMPORT_NAME\" ]]; then\n echo \"WARN: Could not determine import name; the pkg stage will fall back to local detection.\"\nfi\n\n\n# Move into the directory that contains asv.*.json\ncd_asv_json_dir || { echo \"No 'asv.*.json' file found.\" >&2; exit 1; }\n\nCONF_NAME=\"$(asv_conf_name || true)\"\nif [[ -z \"${CONF_NAME:-}\" ]]; then\n echo \"No 'asv.*.json' file found.\" >&2\n exit 1\nfi\n\n# Make sure tomli is available in base for pyproject parsing\nmicromamba install -y -n base -c conda-forge tomli >/dev/null\n\n# Read python versions from the ASV config\nPY_VERSIONS=$(python - <&2\n exit 1\nfi\n###### END SETUP CODE ######\n\n# -----------------------------\n# Agent guidance (read-first)\n# -----------------------------\n# GOAL: For each Python version below, install the project in EDITABLE mode into env asv_{version},\n# with NO build isolation, then run health checks.\n#\n# Below this comment, you should do whatever is necessary to build the project without errors. Including (but not limited to):\n# - Add extra conda/pip dependencies needed to build this project.\n# - Run repo-specific pre-steps (e.g., submodules, generating Cython, env vars).\n# - Run arbitrary micromamba/pip commands in the target env.\n# - Set CFLAGS/CXXFLAGS/LDFLAGS if needed for this repo.\n# - Change files in the repo if needed (e.g., fix a missing #include).\n# - Anything else needed to get a successful editable install.\n#\n# MUST:\n# - Keep this script idempotent.\n# - Use: `pip install --no-build-isolation -v -e .` or `pip install -e .` or equivalent.\n# - Do not modify the SETUP CODE or helper functions below.\n#\n# DO NOT:\n# - Change env names or Python versions outside MODEL EDIT AREA.\n# - Use build isolation unless absolutely necessary.\n\n# -----------------------------\n# Helpers (do not modify)\n# -----------------------------\nlog() { printf \"\\033[1;34m[build]\\033[0m %s\\n\" \"$*\"; }\nwarn() { printf \"\\033[1;33m[warn]\\033[0m %s\\n\" \"$*\" >&2; }\ndie() { printf \"\\033[1;31m[fail]\\033[0m %s\\n\" \"$*\" >&2; exit 1; }\n\n# Conservative default parallelism (override if the repo benefits)\nexport CMAKE_BUILD_PARALLEL_LEVEL=\"${CMAKE_BUILD_PARALLEL_LEVEL:-2}\"\nexport NPY_NUM_BUILD_JOBS=\"${NPY_NUM_BUILD_JOBS:-2}\"\n\n# -----------------------------\n# Build & test across envs\n# -----------------------------\nfor version in $TARGET_VERSIONS; do\n ENV_NAME=\"asv_${version}\"\n log \"==> Building in env: $ENV_NAME (python=$version)\"\n\n if ! micromamba env list | awk '{print $1}' | grep -qx \"$ENV_NAME\"; then\n die \"Env $ENV_NAME not found. Did docker_build_env.sh run?\"\n fi\n\n # Import name resolution (kept simple for the agent)\n IMP=\"${IMPORT_NAME:-}\"\n if [[ -z \"$IMP\" ]]; then\n if ! IMP=\"$(detect_import_name --repo-root \"$REPO_ROOT\" 2>/dev/null)\"; then\n die \"Could not determine import name. Set IMPORT_NAME in /etc/profile.d/asv_build_vars.sh\"\n fi\n fi\n log \"Using import name: $IMP\"\n\n # -----------------------------\n # MODEL EDIT AREA: repo-specific tweaks (optional)\n # -----------------------------\n # Examples (uncomment if needed for this repo):\n #\n # log \"Updating submodules\"\n # git -C \"$REPO_ROOT\" submodule update --init --recursive\n #\n # log \"Installing extra system libs via conda-forge\"\n # micromamba install -y -n \"$ENV_NAME\" -c conda-forge 'openblas' 'blas=*=openblas' 'libopenmp'\n #\n # log \"Pre-generating Cython sources\"\n # micromamba run -n \"$ENV_NAME\" python -m cython --version\n #\n # export CFLAGS=\"${CFLAGS:-}\"\n # export CXXFLAGS=\"${CXXFLAGS:-}\"\n # export LDFLAGS=\"${LDFLAGS:-}\"\n # -----------------------------\n\n # Install some generic packages needed for building/testing.\n micromamba install -y -n \"$ENV_NAME\" -c conda-forge pip git conda mamba libmambapy \\\n numpy scipy cython joblib threadpoolctl pytest \\\n compilers meson-python cmake ninja pkg-config tomli\n\n # Editable install (no build isolation preferrably). Toolchain lives in the env already.\n log \"Editable install with --no-build-isolation\"\n PIP_NO_BUILD_ISOLATION=1 micromamba run -n \"$ENV_NAME\" python -m pip install --no-build-isolation -v -e \"$REPO_ROOT\"\n\n # Health checks (import + compiled extension probe; optional pytest smoke with RUN_PYTEST_SMOKE=1)\n log \"Running smoke checks\"\n micromamba run -n \"$ENV_NAME\" asv_smokecheck.py --import-name \\\"$IMP\\\" --repo-root \\\"$REPO_ROOT\\\" ${RUN_PYTEST_SMOKE:+--pytest-smoke}\n\n echo \"::import_name=${IMP}::env=${ENV_NAME}\"\ndone\n\nlog \"All builds complete \u2705\"\n", + "dockerfile_data": "# syntax=docker/dockerfile:1.7\n\nFROM buildpack-deps:jammy AS base\n\nARG REPO_URL\nARG COMMIT_SHA\n\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nFROM base AS env\nARG REPO_URL\nARG COMMIT_SHA\n\n# Entrypoint is inherited by pkg\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\nENTRYPOINT [\"/entrypoint.sh\"]\n\nRUN git clone \"$REPO_URL\" /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout \"$COMMIT_SHA\"\nLABEL vcs.url=\"$REPO_URL\" vcs.ref=\"$COMMIT_SHA\"\n\n# ---- ENV STAGE: create envs, persist vars, install smoke tool ----\nCOPY docker_build_env.sh /workspace/repo/docker_build_env.sh\nRUN chmod +x /workspace/repo/docker_build_env.sh && \\\n /workspace/repo/docker_build_env.sh\n\n\nFROM env AS pkg\n\n# ---- PKG STAGE: build+test the package for each ASV Python ----\nCOPY docker_build_pkg.sh /workspace/repo/docker_build_pkg.sh\nRUN chmod +x /workspace/repo/docker_build_pkg.sh && \\\n /workspace/repo/docker_build_pkg.sh\n# If you want to restrict to one version at build time, replace with:\n# RUN PY_VERSION=3.10 /workspace/repo/docker_build_pkg.sh\n", + "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n", + "env_building_data": "#!/usr/bin/env bash\nset -euo pipefail\n\n# -------- Helpers installed for all shells --------\ninstall_profile_helpers() {\n cat >/etc/profile.d/asv_utils.sh <<'EOF'\n# asv_utils.sh \u2014 login/interactive shell helpers for ASV builds\nexport MAMBA_ROOT_PREFIX=\"${MAMBA_ROOT_PREFIX:-/opt/conda}\"\n\n# Initialize micromamba for bash shells (no-op if not present)\nif command -v micromamba >/dev/null 2>&1; then\n eval \"$(micromamba shell hook --shell=bash)\"\nfi\n\n# Find and cd into the first directory that contains an asv.*.json\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n if [[ -n \"$match\" ]]; then\n cd \"$(dirname \"$match\")\" || echo \"Failed to change directory\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n return 1\n fi\n}\n\n# Return just the conf filename (e.g., asv.conf.json)\nasv_conf_name() {\n local f\n f=$(find . -type f -name \"asv.*.json\" | head -n 1)\n [[ -n \"$f\" ]] && basename \"$f\" || return 1\n}\n\n# Build performance knobs (overridable)\nexport MAKEFLAGS=\"${MAKEFLAGS:--j$(nproc)}\"\nexport CMAKE_BUILD_PARALLEL_LEVEL=\"${CMAKE_BUILD_PARALLEL_LEVEL:-$(nproc)}\"\nexport NPY_NUM_BUILD_JOBS=\"${NPY_NUM_BUILD_JOBS:-$(nproc)}\"\n\n# Shared pip cache to speed repeated editable builds\nexport PIP_CACHE_DIR=\"${PIP_CACHE_DIR:-/opt/pipcache}\"\nmkdir -p \"$PIP_CACHE_DIR\"\nEOF\n}\n\n# -------- Persisted build variables --------\nwrite_build_vars() {\n local py_versions=\"$1\"\n local import_name=\"$2\"\n\n mkdir -p /etc/asv_env\n echo \"$py_versions\" > /etc/asv_env/py_versions\n echo \"$import_name\" > /etc/asv_env/import_name\n\n # Exported for every future shell (pkg script, interactive, etc.)\n cat >/etc/profile.d/asv_build_vars.sh </usr/local/bin/asv_smokecheck.py <<'PY'\n#!/usr/bin/env python\nimport argparse, importlib, pathlib, sys\n\ndef import_and_version(name: str):\n m = importlib.import_module(name)\n ver = getattr(m, \"__version__\", \"unknown\")\n print(f\"{name} imported ok; __version__={ver}\")\n\ndef probe_compiled(name: str, max_ext: int = 10):\n m = importlib.import_module(name)\n if not hasattr(m, \"__path__\"):\n print(\"No package __path__ (likely a single-module dist); skipping compiled probe.\")\n return\n pkg_path = pathlib.Path(list(m.__path__)[0])\n so_like = list(pkg_path.rglob(\"*.so\")) + list(pkg_path.rglob(\"*.pyd\"))\n failed = []\n for ext in so_like[:max_ext]:\n rel = ext.relative_to(pkg_path).with_suffix(\"\")\n dotted = \".\".join([name] + list(rel.parts))\n try:\n importlib.import_module(dotted)\n except Exception as e:\n failed.append((dotted, str(e)))\n if failed:\n print(\"Some compiled submodules failed to import:\")\n for d, err in failed:\n print(\" -\", d, \"->\", err)\n sys.exit(1)\n else:\n print(\"Compiled submodules (if any) import ok\")\n\ndef main():\n p = argparse.ArgumentParser()\n p.add_argument(\"--import-name\", required=True)\n p.add_argument(\"--repo-root\", default=\".\")\n p.add_argument(\"--pytest-smoke\", action=\"store_true\",\n help=\"Run a quick pytest smoke: -k 'not slow' --maxfail=1\")\n p.add_argument(\"--max-ext\", type=int, default=10)\n args = p.parse_args()\n\n import_and_version(args.import_name)\n probe_compiled(args.import_name, max_ext=args.max_ext)\n\n if args.pytest_smoke:\n import subprocess, os\n if any((pathlib.Path(args.repo_root)/p).exists() for p in (\"tests\", \"pytest.ini\", \"pyproject.toml\")):\n print(\"Running pytest smoke...\")\n rc = subprocess.call([sys.executable, \"-m\", \"pytest\", \"-q\", \"-k\", \"not slow\", \"--maxfail=1\"], cwd=args.repo_root)\n if rc != 0:\n sys.exit(rc)\n else:\n print(\"No tests detected; skipping pytest smoke.\")\n print(\"Smokecheck OK \u2705\")\n\nif __name__ == \"__main__\":\n main()\nPY\n chmod +x /usr/local/bin/asv_smokecheck.py\n}\ninstall_smokecheck\n\n# -------- Install an import-name detector CLI --------\ninstall_detect_import_name() {\n cat >/usr/local/bin/detect_import_name <<'PY'\n#!/usr/bin/env python\nimport argparse, pathlib, re, sys, subprocess, configparser, json\n\n# --- optional TOML loader (py3.11+: tomllib; else tomli if available) ---\ntry:\n import tomllib as toml\nexcept Exception:\n try:\n import tomli as toml\n except Exception:\n toml = None\n\nEXCEPTIONS = {\n # common dist\u2192import mismatches\n \"scikit-learn\": \"sklearn\",\n \"opencv-python\": \"cv2\",\n \"pyyaml\": \"yaml\",\n \"beautifulsoup4\": \"bs4\",\n \"pillow\": \"PIL\",\n \"mysqlclient\": \"MySQLdb\",\n \"psycopg2-binary\": \"psycopg2\",\n \"opencv-contrib-python\": \"cv2\",\n \"protobuf\": \"google\", # top-level package\n \"apache-beam\": \"apache_beam\",\n}\n\n# All the package names we typically query.\nEXCEPTIONS.update({\n # --- core scientific stack ---\n \"scikit-learn\": \"sklearn\",\n \"numpy\": \"numpy\",\n \"pandas\": \"pandas\",\n \"scipy\": \"scipy\",\n \"scikit-image\": \"skimage\",\n \"pywt\": \"pywt\",\n \"xarray\": \"xarray\",\n \"bottleneck\": \"bottleneck\",\n \"h5py\": \"h5py\",\n \"networkx\": \"networkx\",\n \"shapely\": \"shapely\",\n\n # --- ML / stats / optimization / viz ---\n \"optuna\": \"optuna\",\n \"arviz\": \"arviz\",\n \"pymc\": \"pymc\",\n \"kedro\": \"kedro\",\n \"modin\": \"modin\",\n \"napari\": \"napari\",\n \"deepchecks\": \"deepchecks\",\n \"voyager\": \"voyager\", # spotify/voyager\n \"warp\": \"warp\", # NVIDIA/warp\n \"newton\": \"newton\", # newton-physics/newton\n\n # --- domain / ecosystem libs ---\n \"geopandas\": \"geopandas\",\n \"cartopy\": \"cartopy\",\n \"iris\": \"iris\",\n \"anndata\": \"anndata\",\n \"scanpy\": \"scanpy\",\n \"sunpy\": \"sunpy\",\n \"pvlib-python\": \"pvlib\",\n \"PyBaMM\": \"pybamm\",\n \"momepy\": \"momepy\",\n \"satpy\": \"satpy\",\n \"pydicom\": \"pydicom\",\n \"pynetdicom\": \"pynetdicom\",\n\n # --- file formats / IO / infra ---\n \"asdf\": \"asdf\",\n \"arrow\": \"pyarrow\", # apache/arrow\n \"ArcticDB\": \"arcticdb\",\n \"arctic\": \"arctic\",\n\n # --- web / frameworks / utils ---\n \"django-components\": \"django_components\",\n \"h11\": \"h11\",\n \"tqdm\": \"tqdm\",\n \"rich\": \"rich\",\n \"posthog\": \"posthog\",\n \"datalad\": \"datalad\",\n \"ipyparallel\": \"ipyparallel\",\n\n # --- numerical / symbolic / control ---\n \"autograd\": \"autograd\",\n \"python-control\": \"control\",\n \"loopy\": \"loopy\",\n \"thermo\": \"thermo\",\n \"chempy\": \"chempy\",\n \"adaptive\": \"adaptive\",\n\n # --- scientific image / signal ---\n \"metric-learn\": \"metric_learn\",\n\n # --- quantum / physics ---\n \"Cirq\": \"cirq\",\n \"memray\": \"memray\",\n \"devito\": \"devito\",\n\n # --- bio / chem / data ---\n \"sourmash\": \"sourmash\",\n \"dipy\": \"dipy\",\n\n # --- protocol buffers / codegen / outlines ---\n \"python-betterproto\": \"betterproto\",\n \"outlines\": \"outlines\",\n\n # --- DS viz / raster ---\n \"datashader\": \"datashader\",\n \"xarray-spatial\": \"xarray_spatial\",\n\n # --- misc ---\n \"enlighten\": \"enlighten\",\n \"xorbits\": \"xorbits\",\n \"geopandas\": \"geopandas\",\n \"lmfit-py\": \"lmfit\",\n \"mdanalysis\": \"MDAnalysis\",\n \"nilearn\": \"nilearn\",\n})\n\n\nEXCLUDE_DIRS = {\n \".git\", \".hg\", \".svn\", \".tox\", \".nox\", \".venv\", \"venv\",\n \"build\", \"dist\", \"__pycache__\", \".mypy_cache\", \".pytest_cache\",\n \"docs\", \"doc\", \"site\", \"examples\", \"benchmarks\", \"tests\", \"testing\",\n}\n\ndef _norm(s: str) -> str:\n return re.sub(r\"[-_.]+\", \"\", s).lower()\n\ndef read_pyproject(root: pathlib.Path):\n cfg = {}\n p = root / \"pyproject.toml\"\n if toml and p.exists():\n try:\n cfg = toml.loads(p.read_text(encoding=\"utf-8\"))\n except Exception:\n pass\n return cfg\n\ndef read_setup_cfg(root: pathlib.Path):\n p = root / \"setup.cfg\"\n cp = configparser.ConfigParser()\n if p.exists():\n try:\n cp.read(p, encoding=\"utf-8\")\n except Exception:\n pass\n return cp\n\ndef dist_name_from_config(pyproject, setup_cfg):\n # PEP 621 name\n name = (pyproject.get(\"project\", {}) or {}).get(\"name\")\n if not name:\n # setup.cfg [metadata] name\n if setup_cfg.has_section(\"metadata\"):\n name = setup_cfg.get(\"metadata\", \"name\", fallback=None)\n # setup.py --name as last resort\n return name\n\ndef package_roots_from_config(root, pyproject, setup_cfg):\n roots = set([root])\n # setuptools package-dir mapping\n # pyproject: [tool.setuptools.package-dir] \"\" = \"src\"\n pkgdir = ((pyproject.get(\"tool\", {}) or {}).get(\"setuptools\", {}) or {}).get(\"package-dir\", {})\n if isinstance(pkgdir, dict):\n if \"\" in pkgdir:\n roots.add((root / pkgdir[\"\"]).resolve())\n for _, d in pkgdir.items():\n try:\n roots.add((root / d).resolve())\n except Exception:\n pass\n # setup.cfg [options] package_dir\n if setup_cfg.has_section(\"options\"):\n raw = setup_cfg.get(\"options\", \"package_dir\", fallback=None)\n if raw:\n # can be \"=\\nsrc\" or mapping lines\n lines = [l.strip() for l in raw.splitlines() if l.strip()]\n # accept simple \"=src\" or \"\" = \"src\"\n for ln in lines:\n m = re.match(r'^(\"?\\'?)*\\s*=?\\s*(\"?\\'?)*\\s*(?P[^#;]+)$', ln)\n if m:\n roots.add((root / m.group(\"path\").strip()).resolve())\n # setup.cfg [options.packages.find] where\n if setup_cfg.has_section(\"options.packages.find\"):\n where = setup_cfg.get(\"options.packages.find\", \"where\", fallback=None)\n if where:\n for w in re.split(r\"[,\\s]+\", where):\n if w:\n roots.add((root / w).resolve())\n return [r for r in roots if r.exists()]\n\ndef explicit_modules_from_config(pyproject, setup_cfg):\n mods = set()\n # pyproject (tool.setuptools) py-modules / packages\n st = ((pyproject.get(\"tool\", {}) or {}).get(\"setuptools\", {}) or {})\n for key in (\"py-modules\", \"packages\"):\n val = st.get(key)\n if isinstance(val, list):\n mods.update(val)\n # setup.cfg [options] py_modules / packages\n if setup_cfg.has_section(\"options\"):\n for key in (\"py_modules\", \"packages\"):\n raw = setup_cfg.get(\"options\", key, fallback=None)\n if raw:\n for tok in re.split(r\"[\\s,]+\", raw.strip()):\n if tok and tok != \"find:\":\n mods.add(tok)\n return sorted(mods)\n\ndef read_top_level_from_egg_info(root):\n # editable installs often leave ./.egg-info/top_level.txt\n for ei in root.rglob(\"*.egg-info\"):\n tl = ei / \"top_level.txt\"\n if tl.exists():\n try:\n names = [l.strip() for l in tl.read_text(encoding=\"utf-8\").splitlines() if l.strip()]\n if names:\n return names\n except Exception:\n pass\n # also consider dist-info during local builds\n for di in root.rglob(\"*.dist-info\"):\n tl = di / \"top_level.txt\"\n if tl.exists():\n try:\n names = [l.strip() for l in tl.read_text(encoding=\"utf-8\").splitlines() if l.strip()]\n if names:\n return names\n except Exception:\n pass\n return None\n\ndef walk_candidates(roots):\n \"\"\"Return set of plausible top-level import names under candidate roots.\"\"\"\n cands = set()\n for r in roots:\n for path in r.rglob(\"__init__.py\"):\n try:\n pkg_dir = path.parent\n # skip excluded dirs anywhere in the path\n if any(part in EXCLUDE_DIRS for part in pkg_dir.parts):\n continue\n # Construct package name relative to the nearest search root\n try:\n rel = pkg_dir.relative_to(r)\n except Exception:\n continue\n if not rel.parts:\n continue\n top = rel.parts[0]\n if top.startswith(\"_\"):\n # usually private tooling\n continue\n cands.add(top)\n except Exception:\n pass\n # standalone modules at top-level of roots (py_modules case)\n for mod in r.glob(\"*.py\"):\n if mod.stem not in (\"setup\",):\n cands.add(mod.stem)\n return sorted(cands)\n\ndef score_candidates(cands, dist_name):\n \"\"\"Assign a score preferring names that match the dist name.\"\"\"\n scores = {}\n n_dist = _norm(dist_name) if dist_name else None\n prefer = None\n if dist_name and dist_name.lower() in EXCEPTIONS:\n prefer = EXCEPTIONS[dist_name.lower()]\n # also try normalized exception keys (e.g. capitalization)\n for k, v in EXCEPTIONS.items():\n if _norm(k) == _norm(dist_name or \"\"):\n prefer = v\n\n for c in cands:\n s = 0\n if prefer and _norm(c) == _norm(prefer):\n s += 100\n if n_dist and _norm(c) == n_dist:\n s += 80\n if n_dist and (_norm(c).startswith(n_dist) or n_dist.startswith(_norm(c))):\n s += 20\n # shorter, simpler names get a slight bump\n s += max(0, 10 - len(c))\n scores[c] = s\n return sorted(cands, key=lambda x: (-scores.get(x, 0), x)), scores\n\ndef detect(root: str, return_all=False):\n root = pathlib.Path(root).resolve()\n\n pyproject = read_pyproject(root)\n setup_cfg = read_setup_cfg(root)\n dist_name = dist_name_from_config(pyproject, setup_cfg)\n\n # 1) top_level.txt (best signal if present)\n top = read_top_level_from_egg_info(root)\n if top:\n if return_all:\n return top\n # If multiple, score them\n ordered, _ = score_candidates(top, dist_name or \"\")\n return [ordered[0]]\n\n # 2) explicit declarations (py_modules / packages lists)\n explicit = explicit_modules_from_config(pyproject, setup_cfg)\n\n # 3) find correct search roots (src layout, package_dir, etc.)\n roots = package_roots_from_config(root, pyproject, setup_cfg)\n\n # 4) walk code to infer candidates\n walked = walk_candidates(roots)\n\n # merge explicit + walked\n cands = list(dict.fromkeys(explicit + walked)) # keep order & de-dup\n\n # 5) fallback from dist name heuristics/exceptions if still empty\n if not cands and dist_name:\n # exception or simple normalization\n guess = EXCEPTIONS.get(dist_name.lower()) or re.sub(r\"[-\\.]+\", \"_\", dist_name)\n cands = [guess]\n\n if not cands:\n return []\n\n if return_all:\n # return ordered list\n ordered, _ = score_candidates(cands, dist_name or \"\")\n return ordered\n else:\n ordered, _ = score_candidates(cands, dist_name or \"\")\n return [ordered[0]]\n\ndef main():\n ap = argparse.ArgumentParser(description=\"Detect the top-level Python import name for a repo.\")\n ap.add_argument(\"--repo-root\", default=\".\", help=\"Path to repository root\")\n ap.add_argument(\"--all\", action=\"store_true\", help=\"Print all plausible names (JSON list)\")\n args = ap.parse_args()\n\n names = detect(args.repo_root, return_all=args.all)\n if not names:\n sys.exit(1)\n if args.all:\n print(json.dumps(names))\n else:\n print(names[0])\n\nif __name__ == \"__main__\":\n main()\nPY\n chmod +x /usr/local/bin/detect_import_name\n}\n\ninstall_detect_import_name\n\n# -------- Script body --------\n\ninstall_profile_helpers\n# shellcheck disable=SC1091\nsource /etc/profile.d/asv_utils.sh\n\n# Ensure base micromamba is active for introspecting ASV config\nmicromamba activate base\n\ninstall_detect_import_name\ninstall_smokecheck\n\nIMPORT_NAME=\"$(detect_import_name || true)\"\nif [[ -z \"$IMPORT_NAME\" ]]; then\n echo \"WARN: Could not determine import name; the pkg stage will fall back to local detection.\"\nfi\n\n\n# Move into the directory that contains asv.*.json\ncd_asv_json_dir || { echo \"No 'asv.*.json' file found.\" >&2; exit 1; }\n\nCONF_NAME=\"$(asv_conf_name || true)\"\nif [[ -z \"${CONF_NAME:-}\" ]]; then\n echo \"No 'asv.*.json' file found.\" >&2\n exit 1\nfi\n\n# Make sure tomli is available in base for pyproject parsing\nmicromamba install -y -n base -c conda-forge tomli >/dev/null\n\n# Read python versions from the ASV config\nPY_VERSIONS=$(python - <&2\n exit 1\nfi\n###### END SETUP CODE ######\n\n# -----------------------------\n# Agent guidance (read-first)\n# -----------------------------\n# GOAL: For each Python version below, install the project in EDITABLE mode into env asv_{version},\n# with NO build isolation, then run health checks.\n#\n# Below this comment, you should do whatever is necessary to build the project without errors. Including (but not limited to):\n# - Add extra conda/pip dependencies needed to build this project.\n# - Run repo-specific pre-steps (e.g., submodules, generating Cython, env vars).\n# - Run arbitrary micromamba/pip commands in the target env.\n# - Set CFLAGS/CXXFLAGS/LDFLAGS if needed for this repo.\n# - Change files in the repo if needed (e.g., fix a missing #include).\n# - Anything else needed to get a successful editable install.\n#\n# MUST:\n# - Keep this script idempotent.\n# - Use: `pip install --no-build-isolation -v -e .` or `pip install -e .` or equivalent.\n# - Do not modify the SETUP CODE or helper functions below.\n#\n# DO NOT:\n# - Change env names or Python versions outside MODEL EDIT AREA.\n# - Use build isolation unless absolutely necessary.\n\n# -----------------------------\n# Helpers (do not modify)\n# -----------------------------\nlog() { printf \"\u001b[1;34m[build]\u001b[0m %s\n\" \"$*\"; }\nwarn() { printf \"\u001b[1;33m[warn]\u001b[0m %s\n\" \"$*\" >&2; }\ndie() { printf \"\u001b[1;31m[fail]\u001b[0m %s\n\" \"$*\" >&2; exit 1; }\n\n# Conservative default parallelism (override if the repo benefits)\nexport CMAKE_BUILD_PARALLEL_LEVEL=\"${CMAKE_BUILD_PARALLEL_LEVEL:-2}\"\nexport NPY_NUM_BUILD_JOBS=\"${NPY_NUM_BUILD_JOBS:-2}\"\n\n# -----------------------------\n# Build & test across envs\n# -----------------------------\nfor version in $TARGET_VERSIONS; do\n ENV_NAME=\"asv_${version}\"\n log \"==> Building in env: $ENV_NAME (python=$version)\"\n\n if ! micromamba env list | awk '{print $1}' | grep -qx \"$ENV_NAME\"; then\n die \"Env $ENV_NAME not found. Did docker_build_env.sh run?\"\n fi\n\n # Import name resolution (kept simple for the agent)\n IMP=\"${IMPORT_NAME:-}\"\n if [[ -z \"$IMP\" ]]; then\n if ! IMP=\"$(asv_detect_import_name --repo-root \"$REPO_ROOT\" 2>/dev/null)\"; then\n die \"Could not determine import name. Set IMPORT_NAME in /etc/profile.d/asv_build_vars.sh\"\n fi\n fi\n log \"Using import name: $IMP\"\n\n # -----------------------------\n # MODEL EDIT AREA: repo-specific tweaks (optional)\n # -----------------------------\n # Examples (uncomment if needed for this repo):\n #\n # log \"Updating submodules\"\n # git -C \"$REPO_ROOT\" submodule update --init --recursive\n #\n # log \"Installing extra system libs via conda-forge\"\n # micromamba install -y -n \"$ENV_NAME\" -c conda-forge 'openblas' 'blas=*=openblas' 'libopenmp'\n #\n # log \"Pre-generating Cython sources\"\n # micromamba run -n \"$ENV_NAME\" python -m cython --version\n #\n # export CFLAGS=\"${CFLAGS:-}\"\n # export CXXFLAGS=\"${CXXFLAGS:-}\"\n # export LDFLAGS=\"${LDFLAGS:-}\"\n # -----------------------------\n\n # Install some basic micromamba packages.\n\n micromamba install -y -n \"$ENV_NAME\" -c conda-forge git conda mamba \"libmambapy<=1.9.9\" numpy scipy \"cython<3\" joblib threadpoolctl pytest compilers meson-python\n # if maintainer/install_all.sh exists run it with develop\n if [[ -f \"maintainer/install_all.sh\" ]]; then\n micromamba activate \"$ENV_NAME\"\n working_dir=$(pwd)\n cd \"$ROOT_PATH\" || exit 1\n bash maintainer/install_all.sh develop\n cd \"$working_dir\" || exit 1\n else\n # Editable install (no build isolation preferrably). Toolchain lives in the env already.\n log \"Editable install with --no-build-isolation\"\n PIP_NO_BUILD_ISOLATION=1 micromamba run -n \"$ENV_NAME\" python -m pip install --no-build-isolation -v -e \"$REPO_ROOT\"\n fi\n\n\n # Health checks (import + compiled extension probe; optional pytest smoke with RUN_PYTEST_SMOKE=1)\n log \"Running smoke checks\"\n micromamba run -n \"$ENV_NAME\" asv_smokecheck.py --import-name \"$IMP\" --repo-root \"$REPO_ROOT\" ${RUN_PYTEST_SMOKE:+--pytest-smoke}\n\n # Machine-readable markers (useful in logs)\n echo \"::import_name=${IMP}::env=${ENV_NAME}\"\ndone\n\nlog \"All builds complete \u2705\"", + "dockerfile_data": "# syntax=docker/dockerfile:1.7\n\nFROM buildpack-deps:jammy AS base\n\nARG REPO_URL\nARG COMMIT_SHA\n\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nFROM base AS env\nARG REPO_URL\nARG COMMIT_SHA\n\n# Entrypoint is inherited by pkg\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\nENTRYPOINT [\"/entrypoint.sh\"]\n\nRUN git clone \"$REPO_URL\" /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout \"$COMMIT_SHA\"\nLABEL vcs.url=\"$REPO_URL\" vcs.ref=\"$COMMIT_SHA\"\n\n# ---- ENV STAGE: create envs, persist vars, install smoke tool ----\nCOPY docker_build_env.sh /workspace/repo/docker_build_env.sh\nRUN chmod +x /workspace/repo/docker_build_env.sh && \\\n /workspace/repo/docker_build_env.sh\n\n\nFROM env AS pkg\n\n# ---- PKG STAGE: build+test the package for each ASV Python ----\nCOPY docker_build_pkg.sh /workspace/repo/docker_build_pkg.sh\nRUN chmod +x /workspace/repo/docker_build_pkg.sh && \\\n /workspace/repo/docker_build_pkg.sh\n# If you want to restrict to one version at build time, replace with:\n# RUN PY_VERSION=3.10 /workspace/repo/docker_build_pkg.sh\n", + "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n", + "env_building_data": "#!/usr/bin/env bash\nset -euo pipefail\n\n# -------- Helpers installed for all shells --------\ninstall_profile_helpers() {\n cat >/etc/profile.d/asv_utils.sh <<'EOF'\n# asv_utils.sh \u2014 login/interactive shell helpers for ASV builds\nexport MAMBA_ROOT_PREFIX=\"${MAMBA_ROOT_PREFIX:-/opt/conda}\"\n\n# Initialize micromamba for bash shells (no-op if not present)\nif command -v micromamba >/dev/null 2>&1; then\n eval \"$(micromamba shell hook --shell=bash)\"\nfi\n\n# Find and cd into the first directory that contains an asv.*.json\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n if [[ -n \"$match\" ]]; then\n cd \"$(dirname \"$match\")\" || echo \"Failed to change directory\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n return 1\n fi\n}\n\n# Return just the conf filename (e.g., asv.conf.json)\nasv_conf_name() {\n local f\n f=$(find . -type f -name \"asv.*.json\" | head -n 1)\n [[ -n \"$f\" ]] && basename \"$f\" || return 1\n}\n\n# Build performance knobs (overridable)\nexport MAKEFLAGS=\"${MAKEFLAGS:--j$(nproc)}\"\nexport CMAKE_BUILD_PARALLEL_LEVEL=\"${CMAKE_BUILD_PARALLEL_LEVEL:-$(nproc)}\"\nexport NPY_NUM_BUILD_JOBS=\"${NPY_NUM_BUILD_JOBS:-$(nproc)}\"\n\n# Shared pip cache to speed repeated editable builds\nexport PIP_CACHE_DIR=\"${PIP_CACHE_DIR:-/opt/pipcache}\"\nmkdir -p \"$PIP_CACHE_DIR\"\nEOF\n}\n\n# -------- Persisted build variables --------\nwrite_build_vars() {\n local py_versions=\"$1\"\n local import_name=\"$2\"\n\n mkdir -p /etc/asv_env\n echo \"$py_versions\" > /etc/asv_env/py_versions\n echo \"$import_name\" > /etc/asv_env/import_name\n\n # Exported for every future shell (pkg script, interactive, etc.)\n cat >/etc/profile.d/asv_build_vars.sh </usr/local/bin/asv_smokecheck.py <<'PY'\n#!/usr/bin/env python\nimport argparse, importlib, pathlib, sys\n\ndef import_and_version(name: str):\n m = importlib.import_module(name)\n ver = getattr(m, \"__version__\", \"unknown\")\n print(f\"{name} imported ok; __version__={ver}\")\n\ndef probe_compiled(name: str, max_ext: int = 10):\n m = importlib.import_module(name)\n if not hasattr(m, \"__path__\"):\n print(\"No package __path__ (likely a single-module dist); skipping compiled probe.\")\n return\n pkg_path = pathlib.Path(list(m.__path__)[0])\n so_like = list(pkg_path.rglob(\"*.so\")) + list(pkg_path.rglob(\"*.pyd\"))\n failed = []\n for ext in so_like[:max_ext]:\n rel = ext.relative_to(pkg_path).with_suffix(\"\")\n dotted = \".\".join([name] + list(rel.parts))\n try:\n importlib.import_module(dotted)\n except Exception as e:\n failed.append((dotted, str(e)))\n if failed:\n print(\"Some compiled submodules failed to import:\")\n for d, err in failed:\n print(\" -\", d, \"->\", err)\n sys.exit(1)\n else:\n print(\"Compiled submodules (if any) import ok\")\n\ndef main():\n p = argparse.ArgumentParser()\n p.add_argument(\"--import-name\", required=True)\n p.add_argument(\"--repo-root\", default=\".\")\n p.add_argument(\"--pytest-smoke\", action=\"store_true\",\n help=\"Run a quick pytest smoke: -k 'not slow' --maxfail=1\")\n p.add_argument(\"--max-ext\", type=int, default=10)\n args = p.parse_args()\n\n import_and_version(args.import_name)\n probe_compiled(args.import_name, max_ext=args.max_ext)\n\n if args.pytest_smoke:\n import subprocess, os\n if any((pathlib.Path(args.repo_root)/p).exists() for p in (\"tests\", \"pytest.ini\", \"pyproject.toml\")):\n print(\"Running pytest smoke...\")\n rc = subprocess.call([sys.executable, \"-m\", \"pytest\", \"-q\", \"-k\", \"not slow\", \"--maxfail=1\"], cwd=args.repo_root)\n if rc != 0:\n sys.exit(rc)\n else:\n print(\"No tests detected; skipping pytest smoke.\")\n print(\"Smokecheck OK \u2705\")\n\nif __name__ == \"__main__\":\n main()\nPY\n chmod +x /usr/local/bin/asv_smokecheck.py\n}\ninstall_smokecheck\n\n# -------- Install an import-name detector CLI --------\ninstall_detect_import_name() {\n cat >/usr/local/bin/detect_import_name <<'PY'\n#!/usr/bin/env python\nimport argparse, pathlib, re, sys, subprocess, configparser, json\n\n# --- optional TOML loader (py3.11+: tomllib; else tomli if available) ---\ntry:\n import tomllib as toml\nexcept Exception:\n try:\n import tomli as toml\n except Exception:\n toml = None\n\nEXCEPTIONS = {\n # common dist\u2192import mismatches\n \"scikit-learn\": \"sklearn\",\n \"opencv-python\": \"cv2\",\n \"pyyaml\": \"yaml\",\n \"beautifulsoup4\": \"bs4\",\n \"pillow\": \"PIL\",\n \"mysqlclient\": \"MySQLdb\",\n \"psycopg2-binary\": \"psycopg2\",\n \"opencv-contrib-python\": \"cv2\",\n \"protobuf\": \"google\", # top-level package\n \"apache-beam\": \"apache_beam\",\n}\n\n# All the package names we typically query.\nEXCEPTIONS.update({\n # --- core scientific stack ---\n \"scikit-learn\": \"sklearn\",\n \"numpy\": \"numpy\",\n \"pandas\": \"pandas\",\n \"scipy\": \"scipy\",\n \"scikit-image\": \"skimage\",\n \"pywt\": \"pywt\",\n \"xarray\": \"xarray\",\n \"bottleneck\": \"bottleneck\",\n \"h5py\": \"h5py\",\n \"networkx\": \"networkx\",\n \"shapely\": \"shapely\",\n\n # --- ML / stats / optimization / viz ---\n \"optuna\": \"optuna\",\n \"arviz\": \"arviz\",\n \"pymc\": \"pymc\",\n \"kedro\": \"kedro\",\n \"modin\": \"modin\",\n \"napari\": \"napari\",\n \"deepchecks\": \"deepchecks\",\n \"voyager\": \"voyager\", # spotify/voyager\n \"warp\": \"warp\", # NVIDIA/warp\n \"newton\": \"newton\", # newton-physics/newton\n\n # --- domain / ecosystem libs ---\n \"geopandas\": \"geopandas\",\n \"cartopy\": \"cartopy\",\n \"iris\": \"iris\",\n \"anndata\": \"anndata\",\n \"scanpy\": \"scanpy\",\n \"sunpy\": \"sunpy\",\n \"pvlib-python\": \"pvlib\",\n \"PyBaMM\": \"pybamm\",\n \"momepy\": \"momepy\",\n \"satpy\": \"satpy\",\n \"pydicom\": \"pydicom\",\n \"pynetdicom\": \"pynetdicom\",\n\n # --- file formats / IO / infra ---\n \"asdf\": \"asdf\",\n \"arrow\": \"pyarrow\", # apache/arrow\n \"ArcticDB\": \"arcticdb\",\n \"arctic\": \"arctic\",\n\n # --- web / frameworks / utils ---\n \"django-components\": \"django_components\",\n \"h11\": \"h11\",\n \"tqdm\": \"tqdm\",\n \"rich\": \"rich\",\n \"posthog\": \"posthog\",\n \"datalad\": \"datalad\",\n \"ipyparallel\": \"ipyparallel\",\n\n # --- numerical / symbolic / control ---\n \"autograd\": \"autograd\",\n \"python-control\": \"control\",\n \"loopy\": \"loopy\",\n \"thermo\": \"thermo\",\n \"chempy\": \"chempy\",\n \"adaptive\": \"adaptive\",\n\n # --- scientific image / signal ---\n \"metric-learn\": \"metric_learn\",\n\n # --- quantum / physics ---\n \"Cirq\": \"cirq\",\n \"memray\": \"memray\",\n \"devito\": \"devito\",\n\n # --- bio / chem / data ---\n \"sourmash\": \"sourmash\",\n \"dipy\": \"dipy\",\n\n # --- protocol buffers / codegen / outlines ---\n \"python-betterproto\": \"betterproto\",\n \"outlines\": \"outlines\",\n\n # --- DS viz / raster ---\n \"datashader\": \"datashader\",\n \"xarray-spatial\": \"xarray_spatial\",\n\n # --- misc ---\n \"enlighten\": \"enlighten\",\n \"xorbits\": \"xorbits\",\n \"geopandas\": \"geopandas\",\n \"lmfit-py\": \"lmfit\",\n \"mdanalysis\": \"MDAnalysis\",\n \"nilearn\": \"nilearn\",\n})\n\n\nEXCLUDE_DIRS = {\n \".git\", \".hg\", \".svn\", \".tox\", \".nox\", \".venv\", \"venv\",\n \"build\", \"dist\", \"__pycache__\", \".mypy_cache\", \".pytest_cache\",\n \"docs\", \"doc\", \"site\", \"examples\", \"benchmarks\", \"tests\", \"testing\",\n}\n\ndef _norm(s: str) -> str:\n return re.sub(r\"[-_.]+\", \"\", s).lower()\n\ndef read_pyproject(root: pathlib.Path):\n cfg = {}\n p = root / \"pyproject.toml\"\n if toml and p.exists():\n try:\n cfg = toml.loads(p.read_text(encoding=\"utf-8\"))\n except Exception:\n pass\n return cfg\n\ndef read_setup_cfg(root: pathlib.Path):\n p = root / \"setup.cfg\"\n cp = configparser.ConfigParser()\n if p.exists():\n try:\n cp.read(p, encoding=\"utf-8\")\n except Exception:\n pass\n return cp\n\ndef dist_name_from_config(pyproject, setup_cfg):\n # PEP 621 name\n name = (pyproject.get(\"project\", {}) or {}).get(\"name\")\n if not name:\n # setup.cfg [metadata] name\n if setup_cfg.has_section(\"metadata\"):\n name = setup_cfg.get(\"metadata\", \"name\", fallback=None)\n # setup.py --name as last resort\n return name\n\ndef package_roots_from_config(root, pyproject, setup_cfg):\n roots = set([root])\n # setuptools package-dir mapping\n # pyproject: [tool.setuptools.package-dir] \"\" = \"src\"\n pkgdir = ((pyproject.get(\"tool\", {}) or {}).get(\"setuptools\", {}) or {}).get(\"package-dir\", {})\n if isinstance(pkgdir, dict):\n if \"\" in pkgdir:\n roots.add((root / pkgdir[\"\"]).resolve())\n for _, d in pkgdir.items():\n try:\n roots.add((root / d).resolve())\n except Exception:\n pass\n # setup.cfg [options] package_dir\n if setup_cfg.has_section(\"options\"):\n raw = setup_cfg.get(\"options\", \"package_dir\", fallback=None)\n if raw:\n # can be \"=\\nsrc\" or mapping lines\n lines = [l.strip() for l in raw.splitlines() if l.strip()]\n # accept simple \"=src\" or \"\" = \"src\"\n for ln in lines:\n m = re.match(r'^(\"?\\'?)*\\s*=?\\s*(\"?\\'?)*\\s*(?P[^#;]+)$', ln)\n if m:\n roots.add((root / m.group(\"path\").strip()).resolve())\n # setup.cfg [options.packages.find] where\n if setup_cfg.has_section(\"options.packages.find\"):\n where = setup_cfg.get(\"options.packages.find\", \"where\", fallback=None)\n if where:\n for w in re.split(r\"[,\\s]+\", where):\n if w:\n roots.add((root / w).resolve())\n return [r for r in roots if r.exists()]\n\ndef explicit_modules_from_config(pyproject, setup_cfg):\n mods = set()\n # pyproject (tool.setuptools) py-modules / packages\n st = ((pyproject.get(\"tool\", {}) or {}).get(\"setuptools\", {}) or {})\n for key in (\"py-modules\", \"packages\"):\n val = st.get(key)\n if isinstance(val, list):\n mods.update(val)\n # setup.cfg [options] py_modules / packages\n if setup_cfg.has_section(\"options\"):\n for key in (\"py_modules\", \"packages\"):\n raw = setup_cfg.get(\"options\", key, fallback=None)\n if raw:\n for tok in re.split(r\"[\\s,]+\", raw.strip()):\n if tok and tok != \"find:\":\n mods.add(tok)\n return sorted(mods)\n\ndef read_top_level_from_egg_info(root):\n # editable installs often leave ./.egg-info/top_level.txt\n for ei in root.rglob(\"*.egg-info\"):\n tl = ei / \"top_level.txt\"\n if tl.exists():\n try:\n names = [l.strip() for l in tl.read_text(encoding=\"utf-8\").splitlines() if l.strip()]\n if names:\n return names\n except Exception:\n pass\n # also consider dist-info during local builds\n for di in root.rglob(\"*.dist-info\"):\n tl = di / \"top_level.txt\"\n if tl.exists():\n try:\n names = [l.strip() for l in tl.read_text(encoding=\"utf-8\").splitlines() if l.strip()]\n if names:\n return names\n except Exception:\n pass\n return None\n\ndef walk_candidates(roots):\n \"\"\"Return set of plausible top-level import names under candidate roots.\"\"\"\n cands = set()\n for r in roots:\n for path in r.rglob(\"__init__.py\"):\n try:\n pkg_dir = path.parent\n # skip excluded dirs anywhere in the path\n if any(part in EXCLUDE_DIRS for part in pkg_dir.parts):\n continue\n # Construct package name relative to the nearest search root\n try:\n rel = pkg_dir.relative_to(r)\n except Exception:\n continue\n if not rel.parts:\n continue\n top = rel.parts[0]\n if top.startswith(\"_\"):\n # usually private tooling\n continue\n cands.add(top)\n except Exception:\n pass\n # standalone modules at top-level of roots (py_modules case)\n for mod in r.glob(\"*.py\"):\n if mod.stem not in (\"setup\",):\n cands.add(mod.stem)\n return sorted(cands)\n\ndef score_candidates(cands, dist_name):\n \"\"\"Assign a score preferring names that match the dist name.\"\"\"\n scores = {}\n n_dist = _norm(dist_name) if dist_name else None\n prefer = None\n if dist_name and dist_name.lower() in EXCEPTIONS:\n prefer = EXCEPTIONS[dist_name.lower()]\n # also try normalized exception keys (e.g. capitalization)\n for k, v in EXCEPTIONS.items():\n if _norm(k) == _norm(dist_name or \"\"):\n prefer = v\n\n for c in cands:\n s = 0\n if prefer and _norm(c) == _norm(prefer):\n s += 100\n if n_dist and _norm(c) == n_dist:\n s += 80\n if n_dist and (_norm(c).startswith(n_dist) or n_dist.startswith(_norm(c))):\n s += 20\n # shorter, simpler names get a slight bump\n s += max(0, 10 - len(c))\n scores[c] = s\n return sorted(cands, key=lambda x: (-scores.get(x, 0), x)), scores\n\ndef detect(root: str, return_all=False):\n root = pathlib.Path(root).resolve()\n\n pyproject = read_pyproject(root)\n setup_cfg = read_setup_cfg(root)\n dist_name = dist_name_from_config(pyproject, setup_cfg)\n\n # 1) top_level.txt (best signal if present)\n top = read_top_level_from_egg_info(root)\n if top:\n if return_all:\n return top\n # If multiple, score them\n ordered, _ = score_candidates(top, dist_name or \"\")\n return [ordered[0]]\n\n # 2) explicit declarations (py_modules / packages lists)\n explicit = explicit_modules_from_config(pyproject, setup_cfg)\n\n # 3) find correct search roots (src layout, package_dir, etc.)\n roots = package_roots_from_config(root, pyproject, setup_cfg)\n\n # 4) walk code to infer candidates\n walked = walk_candidates(roots)\n\n # merge explicit + walked\n cands = list(dict.fromkeys(explicit + walked)) # keep order & de-dup\n\n # 5) fallback from dist name heuristics/exceptions if still empty\n if not cands and dist_name:\n # exception or simple normalization\n guess = EXCEPTIONS.get(dist_name.lower()) or re.sub(r\"[-\\.]+\", \"_\", dist_name)\n cands = [guess]\n\n if not cands:\n return []\n\n if return_all:\n # return ordered list\n ordered, _ = score_candidates(cands, dist_name or \"\")\n return ordered\n else:\n ordered, _ = score_candidates(cands, dist_name or \"\")\n return [ordered[0]]\n\ndef main():\n ap = argparse.ArgumentParser(description=\"Detect the top-level Python import name for a repo.\")\n ap.add_argument(\"--repo-root\", default=\".\", help=\"Path to repository root\")\n ap.add_argument(\"--all\", action=\"store_true\", help=\"Print all plausible names (JSON list)\")\n args = ap.parse_args()\n\n names = detect(args.repo_root, return_all=args.all)\n if not names:\n sys.exit(1)\n if args.all:\n print(json.dumps(names))\n else:\n print(names[0])\n\nif __name__ == \"__main__\":\n main()\nPY\n chmod +x /usr/local/bin/detect_import_name\n}\n\ninstall_detect_import_name\n\n# -------- Script body --------\n\ninstall_profile_helpers\n# shellcheck disable=SC1091\nsource /etc/profile.d/asv_utils.sh\n\n# Ensure base micromamba is active for introspecting ASV config\nmicromamba activate base\n\ninstall_detect_import_name\ninstall_smokecheck\n\nIMPORT_NAME=\"$(detect_import_name || true)\"\nif [[ -z \"$IMPORT_NAME\" ]]; then\n echo \"WARN: Could not determine import name; the pkg stage will fall back to local detection.\"\nfi\n\n\n# Move into the directory that contains asv.*.json\ncd_asv_json_dir || { echo \"No 'asv.*.json' file found.\" >&2; exit 1; }\n\nCONF_NAME=\"$(asv_conf_name || true)\"\nif [[ -z \"${CONF_NAME:-}\" ]]; then\n echo \"No 'asv.*.json' file found.\" >&2\n exit 1\nfi\n\n# Make sure tomli is available in base for pyproject parsing\nmicromamba install -y -n base -c conda-forge tomli >/dev/null\n\n# Read python versions from the ASV config\nPY_VERSIONS=$(python - <&2\n exit 1\nfi\n###### END SETUP CODE ######\n\n# -----------------------------\n# Agent guidance (read-first)\n# -----------------------------\n# GOAL: For each Python version below, install the project in EDITABLE mode into env asv_{version},\n# with NO build isolation, then run health checks.\n#\n# Below this comment, you should do whatever is necessary to build the project without errors. Including (but not limited to):\n# - Add extra conda/pip dependencies needed to build this project.\n# - Run repo-specific pre-steps (e.g., submodules, generating Cython, env vars).\n# - Run arbitrary micromamba/pip commands in the target env.\n# - Set CFLAGS/CXXFLAGS/LDFLAGS if needed for this repo.\n# - Change files in the repo if needed (e.g., fix a missing #include).\n# - Anything else needed to get a successful editable install.\n#\n# MUST:\n# - Keep this script idempotent.\n# - Use: `pip install --no-build-isolation -v -e .` or `pip install -e .` or equivalent.\n# - Do not modify the SETUP CODE or helper functions below.\n#\n# DO NOT:\n# - Change env names or Python versions outside MODEL EDIT AREA.\n# - Use build isolation unless absolutely necessary.\n\n# -----------------------------\n# Helpers (do not modify)\n# -----------------------------\nlog() { printf \"\u001b[1;34m[build]\u001b[0m %s\n\" \"$*\"; }\nwarn() { printf \"\u001b[1;33m[warn]\u001b[0m %s\n\" \"$*\" >&2; }\ndie() { printf \"\u001b[1;31m[fail]\u001b[0m %s\n\" \"$*\" >&2; exit 1; }\n\n# Conservative default parallelism (override if the repo benefits)\nexport CMAKE_BUILD_PARALLEL_LEVEL=\"${CMAKE_BUILD_PARALLEL_LEVEL:-2}\"\nexport NPY_NUM_BUILD_JOBS=\"${NPY_NUM_BUILD_JOBS:-2}\"\n\n# only run the below if condition if bvh.cpp is present\ngrep -q '^#include ' \"${ROOT_PATH}/warp/native/bvh.cpp\" || sed -i 's|#include |#include \n#include |' \"${ROOT_PATH}/warp/native/bvh.cpp\"\n\n \n# -----------------------------\n# Build & test across envs\n# -----------------------------\nfor version in $TARGET_VERSIONS; do\n ENV_NAME=\"asv_${version}\"\n log \"==> Building in env: $ENV_NAME (python=$version)\"\n\n if ! micromamba env list | awk '{print $1}' | grep -qx \"$ENV_NAME\"; then\n die \"Env $ENV_NAME not found. Did docker_build_env.sh run?\"\n fi\n\n # Import name resolution (kept simple for the agent)\n IMP=\"${IMPORT_NAME:-}\"\n if [[ -z \"$IMP\" ]]; then\n if ! IMP=\"$(asv_detect_import_name --repo-root \"$REPO_ROOT\" 2>/dev/null)\"; then\n die \"Could not determine import name. Set IMPORT_NAME in /etc/profile.d/asv_build_vars.sh\"\n fi\n fi\n log \"Using import name: $IMP\"\n\n # -----------------------------\n # MODEL EDIT AREA: repo-specific tweaks (optional)\n # -----------------------------\n # Examples (uncomment if needed for this repo):\n #\n # log \"Updating submodules\"\n # git -C \"$REPO_ROOT\" submodule update --init --recursive\n #\n # log \"Installing extra system libs via conda-forge\"\n # micromamba install -y -n \"$ENV_NAME\" -c conda-forge 'openblas' 'blas=*=openblas' 'libopenmp'\n #\n # log \"Pre-generating Cython sources\"\n # micromamba run -n \"$ENV_NAME\" python -m cython --version\n #\n # export CFLAGS=\"${CFLAGS:-}\"\n # export CXXFLAGS=\"${CXXFLAGS:-}\"\n # export LDFLAGS=\"${LDFLAGS:-}\"\n # -----------------------------\n\n # Install some basic micromamba packages.\n\n micromamba install -y -n \"$ENV_NAME\" -c conda-forge git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"$ENV_NAME\" pip install meson-python cython\n export CFLAGS=\"${CFLAGS:-} -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"$ENV_NAME\" python \"${ROOT_PATH}/build_lib.py\"\n\n # Editable install (no build isolation preferrably). Toolchain lives in the env already.\n log \"Editable install with --no-build-isolation\"\n PIP_NO_BUILD_ISOLATION=1 micromamba run -n \"$ENV_NAME\" python -m pip install --no-build-isolation -v -e \"$REPO_ROOT\"\n\n # Health checks (import + compiled extension probe; optional pytest smoke with RUN_PYTEST_SMOKE=1)\n log \"Running smoke checks\"\n micromamba run -n \"$ENV_NAME\" asv_smokecheck.py --import-name \"$IMP\" --repo-root \"$REPO_ROOT\" ${RUN_PYTEST_SMOKE:+--pytest-smoke}\n\n # Machine-readable markers (useful in logs)\n echo \"::import_name=${IMP}::env=${ENV_NAME}\"\ndone\n\nlog \"All builds complete \u2705\"", + "dockerfile_data": "# syntax=docker/dockerfile:1.7\n\nFROM buildpack-deps:jammy AS base\n\nARG REPO_URL\nARG COMMIT_SHA\n\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nFROM base AS env\nARG REPO_URL\nARG COMMIT_SHA\n\n# Entrypoint is inherited by pkg\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\nENTRYPOINT [\"/entrypoint.sh\"]\n\nRUN git clone \"$REPO_URL\" /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout \"$COMMIT_SHA\"\nLABEL vcs.url=\"$REPO_URL\" vcs.ref=\"$COMMIT_SHA\"\n\n# ---- ENV STAGE: create envs, persist vars, install smoke tool ----\nCOPY docker_build_env.sh /workspace/repo/docker_build_env.sh\nRUN chmod +x /workspace/repo/docker_build_env.sh && \\\n /workspace/repo/docker_build_env.sh\n\n\nFROM env AS pkg\n\n# ---- PKG STAGE: build+test the package for each ASV Python ----\nCOPY docker_build_pkg.sh /workspace/repo/docker_build_pkg.sh\nRUN chmod +x /workspace/repo/docker_build_pkg.sh && \\\n /workspace/repo/docker_build_pkg.sh\n# If you want to restrict to one version at build time, replace with:\n# RUN PY_VERSION=3.10 /workspace/repo/docker_build_pkg.sh\n", + "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n", + "env_building_data": "#!/usr/bin/env bash\nset -euo pipefail\n\n# -------- Helpers installed for all shells --------\ninstall_profile_helpers() {\n cat >/etc/profile.d/asv_utils.sh <<'EOF'\n# asv_utils.sh \u2014 login/interactive shell helpers for ASV builds\nexport MAMBA_ROOT_PREFIX=\"${MAMBA_ROOT_PREFIX:-/opt/conda}\"\n\n# Initialize micromamba for bash shells (no-op if not present)\nif command -v micromamba >/dev/null 2>&1; then\n eval \"$(micromamba shell hook --shell=bash)\"\nfi\n\n# Find and cd into the first directory that contains an asv.*.json\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n if [[ -n \"$match\" ]]; then\n cd \"$(dirname \"$match\")\" || echo \"Failed to change directory\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n return 1\n fi\n}\n\n# Return just the conf filename (e.g., asv.conf.json)\nasv_conf_name() {\n local f\n f=$(find . -type f -name \"asv.*.json\" | head -n 1)\n [[ -n \"$f\" ]] && basename \"$f\" || return 1\n}\n\n# Build performance knobs (overridable)\nexport MAKEFLAGS=\"${MAKEFLAGS:--j$(nproc)}\"\nexport CMAKE_BUILD_PARALLEL_LEVEL=\"${CMAKE_BUILD_PARALLEL_LEVEL:-$(nproc)}\"\nexport NPY_NUM_BUILD_JOBS=\"${NPY_NUM_BUILD_JOBS:-$(nproc)}\"\n\n# Shared pip cache to speed repeated editable builds\nexport PIP_CACHE_DIR=\"${PIP_CACHE_DIR:-/opt/pipcache}\"\nmkdir -p \"$PIP_CACHE_DIR\"\nEOF\n}\n\n# -------- Persisted build variables --------\nwrite_build_vars() {\n local py_versions=\"$1\"\n local import_name=\"$2\"\n\n mkdir -p /etc/asv_env\n echo \"$py_versions\" > /etc/asv_env/py_versions\n echo \"$import_name\" > /etc/asv_env/import_name\n\n # Exported for every future shell (pkg script, interactive, etc.)\n cat >/etc/profile.d/asv_build_vars.sh </usr/local/bin/asv_smokecheck.py <<'PY'\n#!/usr/bin/env python\nimport argparse, importlib, pathlib, sys\n\ndef import_and_version(name: str):\n m = importlib.import_module(name)\n ver = getattr(m, \"__version__\", \"unknown\")\n print(f\"{name} imported ok; __version__={ver}\")\n\ndef probe_compiled(name: str, max_ext: int = 10):\n m = importlib.import_module(name)\n if not hasattr(m, \"__path__\"):\n print(\"No package __path__ (likely a single-module dist); skipping compiled probe.\")\n return\n pkg_path = pathlib.Path(list(m.__path__)[0])\n so_like = list(pkg_path.rglob(\"*.so\")) + list(pkg_path.rglob(\"*.pyd\"))\n failed = []\n for ext in so_like[:max_ext]:\n rel = ext.relative_to(pkg_path).with_suffix(\"\")\n dotted = \".\".join([name] + list(rel.parts))\n try:\n importlib.import_module(dotted)\n except Exception as e:\n failed.append((dotted, str(e)))\n if failed:\n print(\"Some compiled submodules failed to import:\")\n for d, err in failed:\n print(\" -\", d, \"->\", err)\n sys.exit(1)\n else:\n print(\"Compiled submodules (if any) import ok\")\n\ndef main():\n p = argparse.ArgumentParser()\n p.add_argument(\"--import-name\", required=True)\n p.add_argument(\"--repo-root\", default=\".\")\n p.add_argument(\"--pytest-smoke\", action=\"store_true\",\n help=\"Run a quick pytest smoke: -k 'not slow' --maxfail=1\")\n p.add_argument(\"--max-ext\", type=int, default=10)\n args = p.parse_args()\n\n import_and_version(args.import_name)\n probe_compiled(args.import_name, max_ext=args.max_ext)\n\n if args.pytest_smoke:\n import subprocess, os\n if any((pathlib.Path(args.repo_root)/p).exists() for p in (\"tests\", \"pytest.ini\", \"pyproject.toml\")):\n print(\"Running pytest smoke...\")\n rc = subprocess.call([sys.executable, \"-m\", \"pytest\", \"-q\", \"-k\", \"not slow\", \"--maxfail=1\"], cwd=args.repo_root)\n if rc != 0:\n sys.exit(rc)\n else:\n print(\"No tests detected; skipping pytest smoke.\")\n print(\"Smokecheck OK \u2705\")\n\nif __name__ == \"__main__\":\n main()\nPY\n chmod +x /usr/local/bin/asv_smokecheck.py\n}\ninstall_smokecheck\n\n# -------- Install an import-name detector CLI --------\ninstall_detect_import_name() {\n cat >/usr/local/bin/detect_import_name <<'PY'\n#!/usr/bin/env python\nimport argparse, pathlib, re, sys, subprocess, configparser, json\n\n# --- optional TOML loader (py3.11+: tomllib; else tomli if available) ---\ntry:\n import tomllib as toml\nexcept Exception:\n try:\n import tomli as toml\n except Exception:\n toml = None\n\nEXCEPTIONS = {\n # common dist\u2192import mismatches\n \"scikit-learn\": \"sklearn\",\n \"opencv-python\": \"cv2\",\n \"pyyaml\": \"yaml\",\n \"beautifulsoup4\": \"bs4\",\n \"pillow\": \"PIL\",\n \"mysqlclient\": \"MySQLdb\",\n \"psycopg2-binary\": \"psycopg2\",\n \"opencv-contrib-python\": \"cv2\",\n \"protobuf\": \"google\", # top-level package\n \"apache-beam\": \"apache_beam\",\n}\n\n# All the package names we typically query.\nEXCEPTIONS.update({\n # --- core scientific stack ---\n \"scikit-learn\": \"sklearn\",\n \"numpy\": \"numpy\",\n \"pandas\": \"pandas\",\n \"scipy\": \"scipy\",\n \"scikit-image\": \"skimage\",\n \"pywt\": \"pywt\",\n \"xarray\": \"xarray\",\n \"bottleneck\": \"bottleneck\",\n \"h5py\": \"h5py\",\n \"networkx\": \"networkx\",\n \"shapely\": \"shapely\",\n\n # --- ML / stats / optimization / viz ---\n \"optuna\": \"optuna\",\n \"arviz\": \"arviz\",\n \"pymc\": \"pymc\",\n \"kedro\": \"kedro\",\n \"modin\": \"modin\",\n \"napari\": \"napari\",\n \"deepchecks\": \"deepchecks\",\n \"voyager\": \"voyager\", # spotify/voyager\n \"warp\": \"warp\", # NVIDIA/warp\n \"newton\": \"newton\", # newton-physics/newton\n\n # --- domain / ecosystem libs ---\n \"geopandas\": \"geopandas\",\n \"cartopy\": \"cartopy\",\n \"iris\": \"iris\",\n \"anndata\": \"anndata\",\n \"scanpy\": \"scanpy\",\n \"sunpy\": \"sunpy\",\n \"pvlib-python\": \"pvlib\",\n \"PyBaMM\": \"pybamm\",\n \"momepy\": \"momepy\",\n \"satpy\": \"satpy\",\n \"pydicom\": \"pydicom\",\n \"pynetdicom\": \"pynetdicom\",\n\n # --- file formats / IO / infra ---\n \"asdf\": \"asdf\",\n \"arrow\": \"pyarrow\", # apache/arrow\n \"ArcticDB\": \"arcticdb\",\n \"arctic\": \"arctic\",\n\n # --- web / frameworks / utils ---\n \"django-components\": \"django_components\",\n \"h11\": \"h11\",\n \"tqdm\": \"tqdm\",\n \"rich\": \"rich\",\n \"posthog\": \"posthog\",\n \"datalad\": \"datalad\",\n \"ipyparallel\": \"ipyparallel\",\n\n # --- numerical / symbolic / control ---\n \"autograd\": \"autograd\",\n \"python-control\": \"control\",\n \"loopy\": \"loopy\",\n \"thermo\": \"thermo\",\n \"chempy\": \"chempy\",\n \"adaptive\": \"adaptive\",\n\n # --- scientific image / signal ---\n \"metric-learn\": \"metric_learn\",\n\n # --- quantum / physics ---\n \"Cirq\": \"cirq\",\n \"memray\": \"memray\",\n \"devito\": \"devito\",\n\n # --- bio / chem / data ---\n \"sourmash\": \"sourmash\",\n \"dipy\": \"dipy\",\n\n # --- protocol buffers / codegen / outlines ---\n \"python-betterproto\": \"betterproto\",\n \"outlines\": \"outlines\",\n\n # --- DS viz / raster ---\n \"datashader\": \"datashader\",\n \"xarray-spatial\": \"xarray_spatial\",\n\n # --- misc ---\n \"enlighten\": \"enlighten\",\n \"xorbits\": \"xorbits\",\n \"geopandas\": \"geopandas\",\n \"lmfit-py\": \"lmfit\",\n \"mdanalysis\": \"MDAnalysis\",\n \"nilearn\": \"nilearn\",\n})\n\n\nEXCLUDE_DIRS = {\n \".git\", \".hg\", \".svn\", \".tox\", \".nox\", \".venv\", \"venv\",\n \"build\", \"dist\", \"__pycache__\", \".mypy_cache\", \".pytest_cache\",\n \"docs\", \"doc\", \"site\", \"examples\", \"benchmarks\", \"tests\", \"testing\",\n}\n\ndef _norm(s: str) -> str:\n return re.sub(r\"[-_.]+\", \"\", s).lower()\n\ndef read_pyproject(root: pathlib.Path):\n cfg = {}\n p = root / \"pyproject.toml\"\n if toml and p.exists():\n try:\n cfg = toml.loads(p.read_text(encoding=\"utf-8\"))\n except Exception:\n pass\n return cfg\n\ndef read_setup_cfg(root: pathlib.Path):\n p = root / \"setup.cfg\"\n cp = configparser.ConfigParser()\n if p.exists():\n try:\n cp.read(p, encoding=\"utf-8\")\n except Exception:\n pass\n return cp\n\ndef dist_name_from_config(pyproject, setup_cfg):\n # PEP 621 name\n name = (pyproject.get(\"project\", {}) or {}).get(\"name\")\n if not name:\n # setup.cfg [metadata] name\n if setup_cfg.has_section(\"metadata\"):\n name = setup_cfg.get(\"metadata\", \"name\", fallback=None)\n # setup.py --name as last resort\n return name\n\ndef package_roots_from_config(root, pyproject, setup_cfg):\n roots = set([root])\n # setuptools package-dir mapping\n # pyproject: [tool.setuptools.package-dir] \"\" = \"src\"\n pkgdir = ((pyproject.get(\"tool\", {}) or {}).get(\"setuptools\", {}) or {}).get(\"package-dir\", {})\n if isinstance(pkgdir, dict):\n if \"\" in pkgdir:\n roots.add((root / pkgdir[\"\"]).resolve())\n for _, d in pkgdir.items():\n try:\n roots.add((root / d).resolve())\n except Exception:\n pass\n # setup.cfg [options] package_dir\n if setup_cfg.has_section(\"options\"):\n raw = setup_cfg.get(\"options\", \"package_dir\", fallback=None)\n if raw:\n # can be \"=\\nsrc\" or mapping lines\n lines = [l.strip() for l in raw.splitlines() if l.strip()]\n # accept simple \"=src\" or \"\" = \"src\"\n for ln in lines:\n m = re.match(r'^(\"?\\'?)*\\s*=?\\s*(\"?\\'?)*\\s*(?P[^#;]+)$', ln)\n if m:\n roots.add((root / m.group(\"path\").strip()).resolve())\n # setup.cfg [options.packages.find] where\n if setup_cfg.has_section(\"options.packages.find\"):\n where = setup_cfg.get(\"options.packages.find\", \"where\", fallback=None)\n if where:\n for w in re.split(r\"[,\\s]+\", where):\n if w:\n roots.add((root / w).resolve())\n return [r for r in roots if r.exists()]\n\ndef explicit_modules_from_config(pyproject, setup_cfg):\n mods = set()\n # pyproject (tool.setuptools) py-modules / packages\n st = ((pyproject.get(\"tool\", {}) or {}).get(\"setuptools\", {}) or {})\n for key in (\"py-modules\", \"packages\"):\n val = st.get(key)\n if isinstance(val, list):\n mods.update(val)\n # setup.cfg [options] py_modules / packages\n if setup_cfg.has_section(\"options\"):\n for key in (\"py_modules\", \"packages\"):\n raw = setup_cfg.get(\"options\", key, fallback=None)\n if raw:\n for tok in re.split(r\"[\\s,]+\", raw.strip()):\n if tok and tok != \"find:\":\n mods.add(tok)\n return sorted(mods)\n\ndef read_top_level_from_egg_info(root):\n # editable installs often leave ./.egg-info/top_level.txt\n for ei in root.rglob(\"*.egg-info\"):\n tl = ei / \"top_level.txt\"\n if tl.exists():\n try:\n names = [l.strip() for l in tl.read_text(encoding=\"utf-8\").splitlines() if l.strip()]\n if names:\n return names\n except Exception:\n pass\n # also consider dist-info during local builds\n for di in root.rglob(\"*.dist-info\"):\n tl = di / \"top_level.txt\"\n if tl.exists():\n try:\n names = [l.strip() for l in tl.read_text(encoding=\"utf-8\").splitlines() if l.strip()]\n if names:\n return names\n except Exception:\n pass\n return None\n\ndef walk_candidates(roots):\n \"\"\"Return set of plausible top-level import names under candidate roots.\"\"\"\n cands = set()\n for r in roots:\n for path in r.rglob(\"__init__.py\"):\n try:\n pkg_dir = path.parent\n # skip excluded dirs anywhere in the path\n if any(part in EXCLUDE_DIRS for part in pkg_dir.parts):\n continue\n # Construct package name relative to the nearest search root\n try:\n rel = pkg_dir.relative_to(r)\n except Exception:\n continue\n if not rel.parts:\n continue\n top = rel.parts[0]\n if top.startswith(\"_\"):\n # usually private tooling\n continue\n cands.add(top)\n except Exception:\n pass\n # standalone modules at top-level of roots (py_modules case)\n for mod in r.glob(\"*.py\"):\n if mod.stem not in (\"setup\",):\n cands.add(mod.stem)\n return sorted(cands)\n\ndef score_candidates(cands, dist_name):\n \"\"\"Assign a score preferring names that match the dist name.\"\"\"\n scores = {}\n n_dist = _norm(dist_name) if dist_name else None\n prefer = None\n if dist_name and dist_name.lower() in EXCEPTIONS:\n prefer = EXCEPTIONS[dist_name.lower()]\n # also try normalized exception keys (e.g. capitalization)\n for k, v in EXCEPTIONS.items():\n if _norm(k) == _norm(dist_name or \"\"):\n prefer = v\n\n for c in cands:\n s = 0\n if prefer and _norm(c) == _norm(prefer):\n s += 100\n if n_dist and _norm(c) == n_dist:\n s += 80\n if n_dist and (_norm(c).startswith(n_dist) or n_dist.startswith(_norm(c))):\n s += 20\n # shorter, simpler names get a slight bump\n s += max(0, 10 - len(c))\n scores[c] = s\n return sorted(cands, key=lambda x: (-scores.get(x, 0), x)), scores\n\ndef detect(root: str, return_all=False):\n root = pathlib.Path(root).resolve()\n\n pyproject = read_pyproject(root)\n setup_cfg = read_setup_cfg(root)\n dist_name = dist_name_from_config(pyproject, setup_cfg)\n\n # 1) top_level.txt (best signal if present)\n top = read_top_level_from_egg_info(root)\n if top:\n if return_all:\n return top\n # If multiple, score them\n ordered, _ = score_candidates(top, dist_name or \"\")\n return [ordered[0]]\n\n # 2) explicit declarations (py_modules / packages lists)\n explicit = explicit_modules_from_config(pyproject, setup_cfg)\n\n # 3) find correct search roots (src layout, package_dir, etc.)\n roots = package_roots_from_config(root, pyproject, setup_cfg)\n\n # 4) walk code to infer candidates\n walked = walk_candidates(roots)\n\n # merge explicit + walked\n cands = list(dict.fromkeys(explicit + walked)) # keep order & de-dup\n\n # 5) fallback from dist name heuristics/exceptions if still empty\n if not cands and dist_name:\n # exception or simple normalization\n guess = EXCEPTIONS.get(dist_name.lower()) or re.sub(r\"[-\\.]+\", \"_\", dist_name)\n cands = [guess]\n\n if not cands:\n return []\n\n if return_all:\n # return ordered list\n ordered, _ = score_candidates(cands, dist_name or \"\")\n return ordered\n else:\n ordered, _ = score_candidates(cands, dist_name or \"\")\n return [ordered[0]]\n\ndef main():\n ap = argparse.ArgumentParser(description=\"Detect the top-level Python import name for a repo.\")\n ap.add_argument(\"--repo-root\", default=\".\", help=\"Path to repository root\")\n ap.add_argument(\"--all\", action=\"store_true\", help=\"Print all plausible names (JSON list)\")\n args = ap.parse_args()\n\n names = detect(args.repo_root, return_all=args.all)\n if not names:\n sys.exit(1)\n if args.all:\n print(json.dumps(names))\n else:\n print(names[0])\n\nif __name__ == \"__main__\":\n main()\nPY\n chmod +x /usr/local/bin/detect_import_name\n}\n\ninstall_detect_import_name\n\n# -------- Script body --------\n\ninstall_profile_helpers\n# shellcheck disable=SC1091\nsource /etc/profile.d/asv_utils.sh\n\n# Ensure base micromamba is active for introspecting ASV config\nmicromamba activate base\n\ninstall_detect_import_name\ninstall_smokecheck\n\nIMPORT_NAME=\"$(detect_import_name || true)\"\nif [[ -z \"$IMPORT_NAME\" ]]; then\n echo \"WARN: Could not determine import name; the pkg stage will fall back to local detection.\"\nfi\n\n\n# Move into the directory that contains asv.*.json\ncd_asv_json_dir || { echo \"No 'asv.*.json' file found.\" >&2; exit 1; }\n\nCONF_NAME=\"$(asv_conf_name || true)\"\nif [[ -z \"${CONF_NAME:-}\" ]]; then\n echo \"No 'asv.*.json' file found.\" >&2\n exit 1\nfi\n\n# Make sure tomli is available in base for pyproject parsing\nmicromamba install -y -n base -c conda-forge tomli >/dev/null\n\n# Read python versions from the ASV config\nPY_VERSIONS=$(python - <&2\n exit 1\nfi\n###### END SETUP CODE ######\n\n# -----------------------------\n# Agent guidance (read-first)\n# -----------------------------\n# GOAL: For each Python version below, install the project in EDITABLE mode into env asv_{version},\n# with NO build isolation, then run health checks.\n#\n# Below this comment, you should do whatever is necessary to build the project without errors. Including (but not limited to):\n# - Add extra conda/pip dependencies needed to build this project.\n# - Run repo-specific pre-steps (e.g., submodules, generating Cython, env vars).\n# - Run arbitrary micromamba/pip commands in the target env.\n# - Set CFLAGS/CXXFLAGS/LDFLAGS if needed for this repo.\n# - Change files in the repo if needed (e.g., fix a missing #include).\n# - Anything else needed to get a successful editable install.\n#\n# MUST:\n# - Keep this script idempotent.\n# - Use: `pip install --no-build-isolation -v -e .` or `pip install -e .` or equivalent.\n# - Do not modify the SETUP CODE or helper functions below.\n#\n# DO NOT:\n# - Change env names or Python versions outside MODEL EDIT AREA.\n# - Use build isolation unless absolutely necessary.\n\n# -----------------------------\n# Helpers (do not modify)\n# -----------------------------\nlog() { printf \"\u001b[1;34m[build]\u001b[0m %s\n\" \"$*\"; }\nwarn() { printf \"\u001b[1;33m[warn]\u001b[0m %s\n\" \"$*\" >&2; }\ndie() { printf \"\u001b[1;31m[fail]\u001b[0m %s\n\" \"$*\" >&2; exit 1; }\n\n# Conservative default parallelism (override if the repo benefits)\nexport CMAKE_BUILD_PARALLEL_LEVEL=\"${CMAKE_BUILD_PARALLEL_LEVEL:-2}\"\nexport NPY_NUM_BUILD_JOBS=\"${NPY_NUM_BUILD_JOBS:-2}\"\n\n# -----------------------------\n# Build & test across envs\n# -----------------------------\nfor version in $TARGET_VERSIONS; do\n ENV_NAME=\"asv_${version}\"\n log \"==> Building in env: $ENV_NAME (python=$version)\"\n\n if ! micromamba env list | awk '{print $1}' | grep -qx \"$ENV_NAME\"; then\n die \"Env $ENV_NAME not found. Did docker_build_env.sh run?\"\n fi\n\n # Import name resolution (kept simple for the agent)\n IMP=\"${IMPORT_NAME:-}\"\n if [[ -z \"$IMP\" ]]; then\n if ! IMP=\"$(asv_detect_import_name --repo-root \"$REPO_ROOT\" 2>/dev/null)\"; then\n die \"Could not determine import name. Set IMPORT_NAME in /etc/profile.d/asv_build_vars.sh\"\n fi\n fi\n log \"Using import name: $IMP\"\n\n # -----------------------------\n # MODEL EDIT AREA: repo-specific tweaks (optional)\n # -----------------------------\n # Examples (uncomment if needed for this repo):\n #\n # log \"Updating submodules\"\n # git -C \"$REPO_ROOT\" submodule update --init --recursive\n #\n # log \"Installing extra system libs via conda-forge\"\n # micromamba install -y -n \"$ENV_NAME\" -c conda-forge 'openblas' 'blas=*=openblas' 'libopenmp'\n #\n # log \"Pre-generating Cython sources\"\n # micromamba run -n \"$ENV_NAME\" python -m cython --version\n #\n # export CFLAGS=\"${CFLAGS:-}\"\n # export CXXFLAGS=\"${CXXFLAGS:-}\"\n # export LDFLAGS=\"${LDFLAGS:-}\"\n # -----------------------------\n\n # Install some basic micromamba packages.\n\n micromamba install -y -n \"$ENV_NAME\" -c conda-forge git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n if [[ -f \"${ROOT_PATH}/make_version.py\" ]]; then\n micromamba run -n \"$ENV_NAME\" python \"${ROOT_PATH}/make_version.py\"\n fi\n\n # Editable install (no build isolation preferrably). Toolchain lives in the env already.\n log \"Editable install with --no-build-isolation\"\n PIP_NO_BUILD_ISOLATION=1 micromamba run -n \"$ENV_NAME\" python -m pip install --no-build-isolation -v -e \"$REPO_ROOT\"\n\n # Health checks (import + compiled extension probe; optional pytest smoke with RUN_PYTEST_SMOKE=1)\n log \"Running smoke checks\"\n micromamba run -n \"$ENV_NAME\" asv_smokecheck.py --import-name \"$IMP\" --repo-root \"$REPO_ROOT\" ${RUN_PYTEST_SMOKE:+--pytest-smoke}\n\n # Machine-readable markers (useful in logs)\n echo \"::import_name=${IMP}::env=${ENV_NAME}\"\ndone\n\nlog \"All builds complete \u2705\"", + "dockerfile_data": "# syntax=docker/dockerfile:1.7\n\nFROM buildpack-deps:jammy AS base\n\nARG REPO_URL\nARG COMMIT_SHA\n\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nFROM base AS env\nARG REPO_URL\nARG COMMIT_SHA\n\n# Entrypoint is inherited by pkg\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\nENTRYPOINT [\"/entrypoint.sh\"]\n\nRUN git clone \"$REPO_URL\" /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout \"$COMMIT_SHA\"\nLABEL vcs.url=\"$REPO_URL\" vcs.ref=\"$COMMIT_SHA\"\n\n# ---- ENV STAGE: create envs, persist vars, install smoke tool ----\nCOPY docker_build_env.sh /workspace/repo/docker_build_env.sh\nRUN chmod +x /workspace/repo/docker_build_env.sh && \\\n /workspace/repo/docker_build_env.sh\n\n\nFROM env AS pkg\n\n# ---- PKG STAGE: build+test the package for each ASV Python ----\nCOPY docker_build_pkg.sh /workspace/repo/docker_build_pkg.sh\nRUN chmod +x /workspace/repo/docker_build_pkg.sh && \\\n /workspace/repo/docker_build_pkg.sh\n# If you want to restrict to one version at build time, replace with:\n# RUN PY_VERSION=3.10 /workspace/repo/docker_build_pkg.sh\n", + "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n", + "env_building_data": "#!/usr/bin/env bash\nset -euo pipefail\n\n# -------- Helpers installed for all shells --------\ninstall_profile_helpers() {\n cat >/etc/profile.d/asv_utils.sh <<'EOF'\n# asv_utils.sh \u2014 login/interactive shell helpers for ASV builds\nexport MAMBA_ROOT_PREFIX=\"${MAMBA_ROOT_PREFIX:-/opt/conda}\"\n\n# Initialize micromamba for bash shells (no-op if not present)\nif command -v micromamba >/dev/null 2>&1; then\n eval \"$(micromamba shell hook --shell=bash)\"\nfi\n\n# Find and cd into the first directory that contains an asv.*.json\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n if [[ -n \"$match\" ]]; then\n cd \"$(dirname \"$match\")\" || echo \"Failed to change directory\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n return 1\n fi\n}\n\n# Return just the conf filename (e.g., asv.conf.json)\nasv_conf_name() {\n local f\n f=$(find . -type f -name \"asv.*.json\" | head -n 1)\n [[ -n \"$f\" ]] && basename \"$f\" || return 1\n}\n\n# Build performance knobs (overridable)\nexport MAKEFLAGS=\"${MAKEFLAGS:--j$(nproc)}\"\nexport CMAKE_BUILD_PARALLEL_LEVEL=\"${CMAKE_BUILD_PARALLEL_LEVEL:-$(nproc)}\"\nexport NPY_NUM_BUILD_JOBS=\"${NPY_NUM_BUILD_JOBS:-$(nproc)}\"\n\n# Shared pip cache to speed repeated editable builds\nexport PIP_CACHE_DIR=\"${PIP_CACHE_DIR:-/opt/pipcache}\"\nmkdir -p \"$PIP_CACHE_DIR\"\nEOF\n}\n\n# -------- Persisted build variables --------\nwrite_build_vars() {\n local py_versions=\"$1\"\n local import_name=\"$2\"\n\n mkdir -p /etc/asv_env\n echo \"$py_versions\" > /etc/asv_env/py_versions\n echo \"$import_name\" > /etc/asv_env/import_name\n\n # Exported for every future shell (pkg script, interactive, etc.)\n cat >/etc/profile.d/asv_build_vars.sh </usr/local/bin/asv_smokecheck.py <<'PY'\n#!/usr/bin/env python\nimport argparse, importlib, pathlib, sys\n\ndef import_and_version(name: str):\n m = importlib.import_module(name)\n ver = getattr(m, \"__version__\", \"unknown\")\n print(f\"{name} imported ok; __version__={ver}\")\n\ndef probe_compiled(name: str, max_ext: int = 10):\n m = importlib.import_module(name)\n if not hasattr(m, \"__path__\"):\n print(\"No package __path__ (likely a single-module dist); skipping compiled probe.\")\n return\n pkg_path = pathlib.Path(list(m.__path__)[0])\n so_like = list(pkg_path.rglob(\"*.so\")) + list(pkg_path.rglob(\"*.pyd\"))\n failed = []\n for ext in so_like[:max_ext]:\n rel = ext.relative_to(pkg_path).with_suffix(\"\")\n dotted = \".\".join([name] + list(rel.parts))\n try:\n importlib.import_module(dotted)\n except Exception as e:\n failed.append((dotted, str(e)))\n if failed:\n print(\"Some compiled submodules failed to import:\")\n for d, err in failed:\n print(\" -\", d, \"->\", err)\n sys.exit(1)\n else:\n print(\"Compiled submodules (if any) import ok\")\n\ndef main():\n p = argparse.ArgumentParser()\n p.add_argument(\"--import-name\", required=True)\n p.add_argument(\"--repo-root\", default=\".\")\n p.add_argument(\"--pytest-smoke\", action=\"store_true\",\n help=\"Run a quick pytest smoke: -k 'not slow' --maxfail=1\")\n p.add_argument(\"--max-ext\", type=int, default=10)\n args = p.parse_args()\n\n import_and_version(args.import_name)\n probe_compiled(args.import_name, max_ext=args.max_ext)\n\n if args.pytest_smoke:\n import subprocess, os\n if any((pathlib.Path(args.repo_root)/p).exists() for p in (\"tests\", \"pytest.ini\", \"pyproject.toml\")):\n print(\"Running pytest smoke...\")\n rc = subprocess.call([sys.executable, \"-m\", \"pytest\", \"-q\", \"-k\", \"not slow\", \"--maxfail=1\"], cwd=args.repo_root)\n if rc != 0:\n sys.exit(rc)\n else:\n print(\"No tests detected; skipping pytest smoke.\")\n print(\"Smokecheck OK \u2705\")\n\nif __name__ == \"__main__\":\n main()\nPY\n chmod +x /usr/local/bin/asv_smokecheck.py\n}\ninstall_smokecheck\n\n# -------- Install an import-name detector CLI --------\ninstall_detect_import_name() {\n cat >/usr/local/bin/detect_import_name <<'PY'\n#!/usr/bin/env python\nimport argparse, pathlib, re, sys, subprocess, configparser, json\n\n# --- optional TOML loader (py3.11+: tomllib; else tomli if available) ---\ntry:\n import tomllib as toml\nexcept Exception:\n try:\n import tomli as toml\n except Exception:\n toml = None\n\nEXCEPTIONS = {\n # common dist\u2192import mismatches\n \"scikit-learn\": \"sklearn\",\n \"opencv-python\": \"cv2\",\n \"pyyaml\": \"yaml\",\n \"beautifulsoup4\": \"bs4\",\n \"pillow\": \"PIL\",\n \"mysqlclient\": \"MySQLdb\",\n \"psycopg2-binary\": \"psycopg2\",\n \"opencv-contrib-python\": \"cv2\",\n \"protobuf\": \"google\", # top-level package\n \"apache-beam\": \"apache_beam\",\n}\n\n# All the package names we typically query.\nEXCEPTIONS.update({\n # --- core scientific stack ---\n \"scikit-learn\": \"sklearn\",\n \"numpy\": \"numpy\",\n \"pandas\": \"pandas\",\n \"scipy\": \"scipy\",\n \"scikit-image\": \"skimage\",\n \"pywt\": \"pywt\",\n \"xarray\": \"xarray\",\n \"bottleneck\": \"bottleneck\",\n \"h5py\": \"h5py\",\n \"networkx\": \"networkx\",\n \"shapely\": \"shapely\",\n\n # --- ML / stats / optimization / viz ---\n \"optuna\": \"optuna\",\n \"arviz\": \"arviz\",\n \"pymc\": \"pymc\",\n \"kedro\": \"kedro\",\n \"modin\": \"modin\",\n \"napari\": \"napari\",\n \"deepchecks\": \"deepchecks\",\n \"voyager\": \"voyager\", # spotify/voyager\n \"warp\": \"warp\", # NVIDIA/warp\n \"newton\": \"newton\", # newton-physics/newton\n\n # --- domain / ecosystem libs ---\n \"geopandas\": \"geopandas\",\n \"cartopy\": \"cartopy\",\n \"iris\": \"iris\",\n \"anndata\": \"anndata\",\n \"scanpy\": \"scanpy\",\n \"sunpy\": \"sunpy\",\n \"pvlib-python\": \"pvlib\",\n \"PyBaMM\": \"pybamm\",\n \"momepy\": \"momepy\",\n \"satpy\": \"satpy\",\n \"pydicom\": \"pydicom\",\n \"pynetdicom\": \"pynetdicom\",\n\n # --- file formats / IO / infra ---\n \"asdf\": \"asdf\",\n \"arrow\": \"pyarrow\", # apache/arrow\n \"ArcticDB\": \"arcticdb\",\n \"arctic\": \"arctic\",\n\n # --- web / frameworks / utils ---\n \"django-components\": \"django_components\",\n \"h11\": \"h11\",\n \"tqdm\": \"tqdm\",\n \"rich\": \"rich\",\n \"posthog\": \"posthog\",\n \"datalad\": \"datalad\",\n \"ipyparallel\": \"ipyparallel\",\n\n # --- numerical / symbolic / control ---\n \"autograd\": \"autograd\",\n \"python-control\": \"control\",\n \"loopy\": \"loopy\",\n \"thermo\": \"thermo\",\n \"chempy\": \"chempy\",\n \"adaptive\": \"adaptive\",\n\n # --- scientific image / signal ---\n \"metric-learn\": \"metric_learn\",\n\n # --- quantum / physics ---\n \"Cirq\": \"cirq\",\n \"memray\": \"memray\",\n \"devito\": \"devito\",\n\n # --- bio / chem / data ---\n \"sourmash\": \"sourmash\",\n \"dipy\": \"dipy\",\n\n # --- protocol buffers / codegen / outlines ---\n \"python-betterproto\": \"betterproto\",\n \"outlines\": \"outlines\",\n\n # --- DS viz / raster ---\n \"datashader\": \"datashader\",\n \"xarray-spatial\": \"xarray_spatial\",\n\n # --- misc ---\n \"enlighten\": \"enlighten\",\n \"xorbits\": \"xorbits\",\n \"geopandas\": \"geopandas\",\n \"lmfit-py\": \"lmfit\",\n \"mdanalysis\": \"MDAnalysis\",\n \"nilearn\": \"nilearn\",\n})\n\n\nEXCLUDE_DIRS = {\n \".git\", \".hg\", \".svn\", \".tox\", \".nox\", \".venv\", \"venv\",\n \"build\", \"dist\", \"__pycache__\", \".mypy_cache\", \".pytest_cache\",\n \"docs\", \"doc\", \"site\", \"examples\", \"benchmarks\", \"tests\", \"testing\",\n}\n\ndef _norm(s: str) -> str:\n return re.sub(r\"[-_.]+\", \"\", s).lower()\n\ndef read_pyproject(root: pathlib.Path):\n cfg = {}\n p = root / \"pyproject.toml\"\n if toml and p.exists():\n try:\n cfg = toml.loads(p.read_text(encoding=\"utf-8\"))\n except Exception:\n pass\n return cfg\n\ndef read_setup_cfg(root: pathlib.Path):\n p = root / \"setup.cfg\"\n cp = configparser.ConfigParser()\n if p.exists():\n try:\n cp.read(p, encoding=\"utf-8\")\n except Exception:\n pass\n return cp\n\ndef dist_name_from_config(pyproject, setup_cfg):\n # PEP 621 name\n name = (pyproject.get(\"project\", {}) or {}).get(\"name\")\n if not name:\n # setup.cfg [metadata] name\n if setup_cfg.has_section(\"metadata\"):\n name = setup_cfg.get(\"metadata\", \"name\", fallback=None)\n # setup.py --name as last resort\n return name\n\ndef package_roots_from_config(root, pyproject, setup_cfg):\n roots = set([root])\n # setuptools package-dir mapping\n # pyproject: [tool.setuptools.package-dir] \"\" = \"src\"\n pkgdir = ((pyproject.get(\"tool\", {}) or {}).get(\"setuptools\", {}) or {}).get(\"package-dir\", {})\n if isinstance(pkgdir, dict):\n if \"\" in pkgdir:\n roots.add((root / pkgdir[\"\"]).resolve())\n for _, d in pkgdir.items():\n try:\n roots.add((root / d).resolve())\n except Exception:\n pass\n # setup.cfg [options] package_dir\n if setup_cfg.has_section(\"options\"):\n raw = setup_cfg.get(\"options\", \"package_dir\", fallback=None)\n if raw:\n # can be \"=\\nsrc\" or mapping lines\n lines = [l.strip() for l in raw.splitlines() if l.strip()]\n # accept simple \"=src\" or \"\" = \"src\"\n for ln in lines:\n m = re.match(r'^(\"?\\'?)*\\s*=?\\s*(\"?\\'?)*\\s*(?P[^#;]+)$', ln)\n if m:\n roots.add((root / m.group(\"path\").strip()).resolve())\n # setup.cfg [options.packages.find] where\n if setup_cfg.has_section(\"options.packages.find\"):\n where = setup_cfg.get(\"options.packages.find\", \"where\", fallback=None)\n if where:\n for w in re.split(r\"[,\\s]+\", where):\n if w:\n roots.add((root / w).resolve())\n return [r for r in roots if r.exists()]\n\ndef explicit_modules_from_config(pyproject, setup_cfg):\n mods = set()\n # pyproject (tool.setuptools) py-modules / packages\n st = ((pyproject.get(\"tool\", {}) or {}).get(\"setuptools\", {}) or {})\n for key in (\"py-modules\", \"packages\"):\n val = st.get(key)\n if isinstance(val, list):\n mods.update(val)\n # setup.cfg [options] py_modules / packages\n if setup_cfg.has_section(\"options\"):\n for key in (\"py_modules\", \"packages\"):\n raw = setup_cfg.get(\"options\", key, fallback=None)\n if raw:\n for tok in re.split(r\"[\\s,]+\", raw.strip()):\n if tok and tok != \"find:\":\n mods.add(tok)\n return sorted(mods)\n\ndef read_top_level_from_egg_info(root):\n # editable installs often leave ./.egg-info/top_level.txt\n for ei in root.rglob(\"*.egg-info\"):\n tl = ei / \"top_level.txt\"\n if tl.exists():\n try:\n names = [l.strip() for l in tl.read_text(encoding=\"utf-8\").splitlines() if l.strip()]\n if names:\n return names\n except Exception:\n pass\n # also consider dist-info during local builds\n for di in root.rglob(\"*.dist-info\"):\n tl = di / \"top_level.txt\"\n if tl.exists():\n try:\n names = [l.strip() for l in tl.read_text(encoding=\"utf-8\").splitlines() if l.strip()]\n if names:\n return names\n except Exception:\n pass\n return None\n\ndef walk_candidates(roots):\n \"\"\"Return set of plausible top-level import names under candidate roots.\"\"\"\n cands = set()\n for r in roots:\n for path in r.rglob(\"__init__.py\"):\n try:\n pkg_dir = path.parent\n # skip excluded dirs anywhere in the path\n if any(part in EXCLUDE_DIRS for part in pkg_dir.parts):\n continue\n # Construct package name relative to the nearest search root\n try:\n rel = pkg_dir.relative_to(r)\n except Exception:\n continue\n if not rel.parts:\n continue\n top = rel.parts[0]\n if top.startswith(\"_\"):\n # usually private tooling\n continue\n cands.add(top)\n except Exception:\n pass\n # standalone modules at top-level of roots (py_modules case)\n for mod in r.glob(\"*.py\"):\n if mod.stem not in (\"setup\",):\n cands.add(mod.stem)\n return sorted(cands)\n\ndef score_candidates(cands, dist_name):\n \"\"\"Assign a score preferring names that match the dist name.\"\"\"\n scores = {}\n n_dist = _norm(dist_name) if dist_name else None\n prefer = None\n if dist_name and dist_name.lower() in EXCEPTIONS:\n prefer = EXCEPTIONS[dist_name.lower()]\n # also try normalized exception keys (e.g. capitalization)\n for k, v in EXCEPTIONS.items():\n if _norm(k) == _norm(dist_name or \"\"):\n prefer = v\n\n for c in cands:\n s = 0\n if prefer and _norm(c) == _norm(prefer):\n s += 100\n if n_dist and _norm(c) == n_dist:\n s += 80\n if n_dist and (_norm(c).startswith(n_dist) or n_dist.startswith(_norm(c))):\n s += 20\n # shorter, simpler names get a slight bump\n s += max(0, 10 - len(c))\n scores[c] = s\n return sorted(cands, key=lambda x: (-scores.get(x, 0), x)), scores\n\ndef detect(root: str, return_all=False):\n root = pathlib.Path(root).resolve()\n\n pyproject = read_pyproject(root)\n setup_cfg = read_setup_cfg(root)\n dist_name = dist_name_from_config(pyproject, setup_cfg)\n\n # 1) top_level.txt (best signal if present)\n top = read_top_level_from_egg_info(root)\n if top:\n if return_all:\n return top\n # If multiple, score them\n ordered, _ = score_candidates(top, dist_name or \"\")\n return [ordered[0]]\n\n # 2) explicit declarations (py_modules / packages lists)\n explicit = explicit_modules_from_config(pyproject, setup_cfg)\n\n # 3) find correct search roots (src layout, package_dir, etc.)\n roots = package_roots_from_config(root, pyproject, setup_cfg)\n\n # 4) walk code to infer candidates\n walked = walk_candidates(roots)\n\n # merge explicit + walked\n cands = list(dict.fromkeys(explicit + walked)) # keep order & de-dup\n\n # 5) fallback from dist name heuristics/exceptions if still empty\n if not cands and dist_name:\n # exception or simple normalization\n guess = EXCEPTIONS.get(dist_name.lower()) or re.sub(r\"[-\\.]+\", \"_\", dist_name)\n cands = [guess]\n\n if not cands:\n return []\n\n if return_all:\n # return ordered list\n ordered, _ = score_candidates(cands, dist_name or \"\")\n return ordered\n else:\n ordered, _ = score_candidates(cands, dist_name or \"\")\n return [ordered[0]]\n\ndef main():\n ap = argparse.ArgumentParser(description=\"Detect the top-level Python import name for a repo.\")\n ap.add_argument(\"--repo-root\", default=\".\", help=\"Path to repository root\")\n ap.add_argument(\"--all\", action=\"store_true\", help=\"Print all plausible names (JSON list)\")\n args = ap.parse_args()\n\n names = detect(args.repo_root, return_all=args.all)\n if not names:\n sys.exit(1)\n if args.all:\n print(json.dumps(names))\n else:\n print(names[0])\n\nif __name__ == \"__main__\":\n main()\nPY\n chmod +x /usr/local/bin/detect_import_name\n}\n\ninstall_detect_import_name\n\n# -------- Script body --------\n\ninstall_profile_helpers\n# shellcheck disable=SC1091\nsource /etc/profile.d/asv_utils.sh\n\n# Ensure base micromamba is active for introspecting ASV config\nmicromamba activate base\n\ninstall_detect_import_name\ninstall_smokecheck\n\nIMPORT_NAME=\"$(detect_import_name || true)\"\nif [[ -z \"$IMPORT_NAME\" ]]; then\n echo \"WARN: Could not determine import name; the pkg stage will fall back to local detection.\"\nfi\n\n\n# Move into the directory that contains asv.*.json\ncd_asv_json_dir || { echo \"No 'asv.*.json' file found.\" >&2; exit 1; }\n\nCONF_NAME=\"$(asv_conf_name || true)\"\nif [[ -z \"${CONF_NAME:-}\" ]]; then\n echo \"No 'asv.*.json' file found.\" >&2\n exit 1\nfi\n\n# Make sure tomli is available in base for pyproject parsing\nmicromamba install -y -n base -c conda-forge tomli >/dev/null\n\n# Read python versions from the ASV config\nPY_VERSIONS=$(python - <&2\n exit 1\nfi\n###### END SETUP CODE ######\n\n# -----------------------------\n# Agent guidance (read-first)\n# -----------------------------\n# GOAL: For each Python version below, install the project in EDITABLE mode into env asv_{version},\n# with NO build isolation, then run health checks.\n#\n# Below this comment, you should do whatever is necessary to build the project without errors. Including (but not limited to):\n# - Add extra conda/pip dependencies needed to build this project.\n# - Run repo-specific pre-steps (e.g., submodules, generating Cython, env vars).\n# - Run arbitrary micromamba/pip commands in the target env.\n# - Set CFLAGS/CXXFLAGS/LDFLAGS if needed for this repo.\n# - Change files in the repo if needed (e.g., fix a missing #include).\n# - Anything else needed to get a successful editable install.\n#\n# MUST:\n# - Keep this script idempotent.\n# - Use: `pip install --no-build-isolation -v -e .` or `pip install -e .` or equivalent.\n# - Do not modify the SETUP CODE or helper functions below.\n#\n# DO NOT:\n# - Change env names or Python versions outside MODEL EDIT AREA.\n# - Use build isolation unless absolutely necessary.\n\n# -----------------------------\n# Helpers (do not modify)\n# -----------------------------\nlog() { printf \"\u001b[1;34m[build]\u001b[0m %s\n\" \"$*\"; }\nwarn() { printf \"\u001b[1;33m[warn]\u001b[0m %s\n\" \"$*\" >&2; }\ndie() { printf \"\u001b[1;31m[fail]\u001b[0m %s\n\" \"$*\" >&2; exit 1; }\n\n# Conservative default parallelism (override if the repo benefits)\nexport CMAKE_BUILD_PARALLEL_LEVEL=\"${CMAKE_BUILD_PARALLEL_LEVEL:-2}\"\nexport NPY_NUM_BUILD_JOBS=\"${NPY_NUM_BUILD_JOBS:-2}\"\n\n# -----------------------------\n# Build & test across envs\n# -----------------------------\nfor version in $TARGET_VERSIONS; do\n ENV_NAME=\"asv_${version}\"\n log \"==> Building in env: $ENV_NAME (python=$version)\"\n\n if ! micromamba env list | awk '{print $1}' | grep -qx \"$ENV_NAME\"; then\n die \"Env $ENV_NAME not found. Did docker_build_env.sh run?\"\n fi\n\n # Import name resolution (kept simple for the agent)\n IMP=\"${IMPORT_NAME:-}\"\n if [[ -z \"$IMP\" ]]; then\n if ! IMP=\"$(asv_detect_import_name --repo-root \"$REPO_ROOT\" 2>/dev/null)\"; then\n die \"Could not determine import name. Set IMPORT_NAME in /etc/profile.d/asv_build_vars.sh\"\n fi\n fi\n log \"Using import name: $IMP\"\n\n # -----------------------------\n # MODEL EDIT AREA: repo-specific tweaks (optional)\n # -----------------------------\n # Examples (uncomment if needed for this repo):\n #\n # log \"Updating submodules\"\n # git -C \"$REPO_ROOT\" submodule update --init --recursive\n #\n # log \"Installing extra system libs via conda-forge\"\n # micromamba install -y -n \"$ENV_NAME\" -c conda-forge 'openblas' 'blas=*=openblas' 'libopenmp'\n #\n # log \"Pre-generating Cython sources\"\n # micromamba run -n \"$ENV_NAME\" python -m cython --version\n #\n # export CFLAGS=\"${CFLAGS:-}\"\n # export CXXFLAGS=\"${CXXFLAGS:-}\"\n # export LDFLAGS=\"${LDFLAGS:-}\"\n # -----------------------------\n\n # Install some basic micromamba packages.\n\n micromamba install -y -n \"$ENV_NAME\" -c conda-forge git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"$ENV_NAME\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"${CFLAGS:-} -Wno-error=incompatible-pointer-types\"\n\n # Editable install (no build isolation preferrably). Toolchain lives in the env already.\n log \"Editable install with --no-build-isolation\"\n PIP_NO_BUILD_ISOLATION=1 micromamba run -n \"$ENV_NAME\" python -m pip install --no-build-isolation -v -e \"$REPO_ROOT\"\n\n # Health checks (import + compiled extension probe; optional pytest smoke with RUN_PYTEST_SMOKE=1)\n log \"Running smoke checks\"\n micromamba run -n \"$ENV_NAME\" asv_smokecheck.py --import-name \"$IMP\" --repo-root \"$REPO_ROOT\" ${RUN_PYTEST_SMOKE:+--pytest-smoke}\n\n # Machine-readable markers (useful in logs)\n echo \"::import_name=${IMP}::env=${ENV_NAME}\"\ndone\n\nlog \"All builds complete \u2705\"", + "dockerfile_data": "# syntax=docker/dockerfile:1.7\n\nFROM buildpack-deps:jammy AS base\n\nARG REPO_URL\nARG COMMIT_SHA\n\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nFROM base AS env\nARG REPO_URL\nARG COMMIT_SHA\n\n# Entrypoint is inherited by pkg\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\nENTRYPOINT [\"/entrypoint.sh\"]\n\nRUN git clone \"$REPO_URL\" /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout \"$COMMIT_SHA\"\nLABEL vcs.url=\"$REPO_URL\" vcs.ref=\"$COMMIT_SHA\"\n\n# ---- ENV STAGE: create envs, persist vars, install smoke tool ----\nCOPY docker_build_env.sh /workspace/repo/docker_build_env.sh\nRUN chmod +x /workspace/repo/docker_build_env.sh && \\\n /workspace/repo/docker_build_env.sh\n\n\nFROM env AS pkg\n\n# ---- PKG STAGE: build+test the package for each ASV Python ----\nCOPY docker_build_pkg.sh /workspace/repo/docker_build_pkg.sh\nRUN chmod +x /workspace/repo/docker_build_pkg.sh && \\\n /workspace/repo/docker_build_pkg.sh\n# If you want to restrict to one version at build time, replace with:\n# RUN PY_VERSION=3.10 /workspace/repo/docker_build_pkg.sh\n", + "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n", + "env_building_data": "#!/usr/bin/env bash\nset -euo pipefail\n\n# -------- Helpers installed for all shells --------\ninstall_profile_helpers() {\n cat >/etc/profile.d/asv_utils.sh <<'EOF'\n# asv_utils.sh \u2014 login/interactive shell helpers for ASV builds\nexport MAMBA_ROOT_PREFIX=\"${MAMBA_ROOT_PREFIX:-/opt/conda}\"\n\n# Initialize micromamba for bash shells (no-op if not present)\nif command -v micromamba >/dev/null 2>&1; then\n eval \"$(micromamba shell hook --shell=bash)\"\nfi\n\n# Find and cd into the first directory that contains an asv.*.json\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n if [[ -n \"$match\" ]]; then\n cd \"$(dirname \"$match\")\" || echo \"Failed to change directory\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n return 1\n fi\n}\n\n# Return just the conf filename (e.g., asv.conf.json)\nasv_conf_name() {\n local f\n f=$(find . -type f -name \"asv.*.json\" | head -n 1)\n [[ -n \"$f\" ]] && basename \"$f\" || return 1\n}\n\n# Build performance knobs (overridable)\nexport MAKEFLAGS=\"${MAKEFLAGS:--j$(nproc)}\"\nexport CMAKE_BUILD_PARALLEL_LEVEL=\"${CMAKE_BUILD_PARALLEL_LEVEL:-$(nproc)}\"\nexport NPY_NUM_BUILD_JOBS=\"${NPY_NUM_BUILD_JOBS:-$(nproc)}\"\n\n# Shared pip cache to speed repeated editable builds\nexport PIP_CACHE_DIR=\"${PIP_CACHE_DIR:-/opt/pipcache}\"\nmkdir -p \"$PIP_CACHE_DIR\"\nEOF\n}\n\n# -------- Persisted build variables --------\nwrite_build_vars() {\n local py_versions=\"$1\"\n local import_name=\"$2\"\n\n mkdir -p /etc/asv_env\n echo \"$py_versions\" > /etc/asv_env/py_versions\n echo \"$import_name\" > /etc/asv_env/import_name\n\n # Exported for every future shell (pkg script, interactive, etc.)\n cat >/etc/profile.d/asv_build_vars.sh </usr/local/bin/asv_smokecheck.py <<'PY'\n#!/usr/bin/env python\nimport argparse, importlib, pathlib, sys\n\ndef import_and_version(name: str):\n m = importlib.import_module(name)\n ver = getattr(m, \"__version__\", \"unknown\")\n print(f\"{name} imported ok; __version__={ver}\")\n\ndef probe_compiled(name: str, max_ext: int = 10):\n m = importlib.import_module(name)\n if not hasattr(m, \"__path__\"):\n print(\"No package __path__ (likely a single-module dist); skipping compiled probe.\")\n return\n pkg_path = pathlib.Path(list(m.__path__)[0])\n so_like = list(pkg_path.rglob(\"*.so\")) + list(pkg_path.rglob(\"*.pyd\"))\n failed = []\n for ext in so_like[:max_ext]:\n rel = ext.relative_to(pkg_path).with_suffix(\"\")\n dotted = \".\".join([name] + list(rel.parts))\n try:\n importlib.import_module(dotted)\n except Exception as e:\n failed.append((dotted, str(e)))\n if failed:\n print(\"Some compiled submodules failed to import:\")\n for d, err in failed:\n print(\" -\", d, \"->\", err)\n sys.exit(1)\n else:\n print(\"Compiled submodules (if any) import ok\")\n\ndef main():\n p = argparse.ArgumentParser()\n p.add_argument(\"--import-name\", required=True)\n p.add_argument(\"--repo-root\", default=\".\")\n p.add_argument(\"--pytest-smoke\", action=\"store_true\",\n help=\"Run a quick pytest smoke: -k 'not slow' --maxfail=1\")\n p.add_argument(\"--max-ext\", type=int, default=10)\n args = p.parse_args()\n\n import_and_version(args.import_name)\n probe_compiled(args.import_name, max_ext=args.max_ext)\n\n if args.pytest_smoke:\n import subprocess, os\n if any((pathlib.Path(args.repo_root)/p).exists() for p in (\"tests\", \"pytest.ini\", \"pyproject.toml\")):\n print(\"Running pytest smoke...\")\n rc = subprocess.call([sys.executable, \"-m\", \"pytest\", \"-q\", \"-k\", \"not slow\", \"--maxfail=1\"], cwd=args.repo_root)\n if rc != 0:\n sys.exit(rc)\n else:\n print(\"No tests detected; skipping pytest smoke.\")\n print(\"Smokecheck OK \u2705\")\n\nif __name__ == \"__main__\":\n main()\nPY\n chmod +x /usr/local/bin/asv_smokecheck.py\n}\ninstall_smokecheck\n\n# -------- Install an import-name detector CLI --------\ninstall_detect_import_name() {\n cat >/usr/local/bin/detect_import_name <<'PY'\n#!/usr/bin/env python\nimport argparse, pathlib, re, sys, subprocess, configparser, json\n\n# --- optional TOML loader (py3.11+: tomllib; else tomli if available) ---\ntry:\n import tomllib as toml\nexcept Exception:\n try:\n import tomli as toml\n except Exception:\n toml = None\n\nEXCEPTIONS = {\n # common dist\u2192import mismatches\n \"scikit-learn\": \"sklearn\",\n \"opencv-python\": \"cv2\",\n \"pyyaml\": \"yaml\",\n \"beautifulsoup4\": \"bs4\",\n \"pillow\": \"PIL\",\n \"mysqlclient\": \"MySQLdb\",\n \"psycopg2-binary\": \"psycopg2\",\n \"opencv-contrib-python\": \"cv2\",\n \"protobuf\": \"google\", # top-level package\n \"apache-beam\": \"apache_beam\",\n}\n\n# All the package names we typically query.\nEXCEPTIONS.update({\n # --- core scientific stack ---\n \"scikit-learn\": \"sklearn\",\n \"numpy\": \"numpy\",\n \"pandas\": \"pandas\",\n \"scipy\": \"scipy\",\n \"scikit-image\": \"skimage\",\n \"pywt\": \"pywt\",\n \"xarray\": \"xarray\",\n \"bottleneck\": \"bottleneck\",\n \"h5py\": \"h5py\",\n \"networkx\": \"networkx\",\n \"shapely\": \"shapely\",\n\n # --- ML / stats / optimization / viz ---\n \"optuna\": \"optuna\",\n \"arviz\": \"arviz\",\n \"pymc\": \"pymc\",\n \"kedro\": \"kedro\",\n \"modin\": \"modin\",\n \"napari\": \"napari\",\n \"deepchecks\": \"deepchecks\",\n \"voyager\": \"voyager\", # spotify/voyager\n \"warp\": \"warp\", # NVIDIA/warp\n \"newton\": \"newton\", # newton-physics/newton\n\n # --- domain / ecosystem libs ---\n \"geopandas\": \"geopandas\",\n \"cartopy\": \"cartopy\",\n \"iris\": \"iris\",\n \"anndata\": \"anndata\",\n \"scanpy\": \"scanpy\",\n \"sunpy\": \"sunpy\",\n \"pvlib-python\": \"pvlib\",\n \"PyBaMM\": \"pybamm\",\n \"momepy\": \"momepy\",\n \"satpy\": \"satpy\",\n \"pydicom\": \"pydicom\",\n \"pynetdicom\": \"pynetdicom\",\n\n # --- file formats / IO / infra ---\n \"asdf\": \"asdf\",\n \"arrow\": \"pyarrow\", # apache/arrow\n \"ArcticDB\": \"arcticdb\",\n \"arctic\": \"arctic\",\n\n # --- web / frameworks / utils ---\n \"django-components\": \"django_components\",\n \"h11\": \"h11\",\n \"tqdm\": \"tqdm\",\n \"rich\": \"rich\",\n \"posthog\": \"posthog\",\n \"datalad\": \"datalad\",\n \"ipyparallel\": \"ipyparallel\",\n\n # --- numerical / symbolic / control ---\n \"autograd\": \"autograd\",\n \"python-control\": \"control\",\n \"loopy\": \"loopy\",\n \"thermo\": \"thermo\",\n \"chempy\": \"chempy\",\n \"adaptive\": \"adaptive\",\n\n # --- scientific image / signal ---\n \"metric-learn\": \"metric_learn\",\n\n # --- quantum / physics ---\n \"Cirq\": \"cirq\",\n \"memray\": \"memray\",\n \"devito\": \"devito\",\n\n # --- bio / chem / data ---\n \"sourmash\": \"sourmash\",\n \"dipy\": \"dipy\",\n\n # --- protocol buffers / codegen / outlines ---\n \"python-betterproto\": \"betterproto\",\n \"outlines\": \"outlines\",\n\n # --- DS viz / raster ---\n \"datashader\": \"datashader\",\n \"xarray-spatial\": \"xarray_spatial\",\n\n # --- misc ---\n \"enlighten\": \"enlighten\",\n \"xorbits\": \"xorbits\",\n \"geopandas\": \"geopandas\",\n \"lmfit-py\": \"lmfit\",\n \"mdanalysis\": \"MDAnalysis\",\n \"nilearn\": \"nilearn\",\n})\n\n\nEXCLUDE_DIRS = {\n \".git\", \".hg\", \".svn\", \".tox\", \".nox\", \".venv\", \"venv\",\n \"build\", \"dist\", \"__pycache__\", \".mypy_cache\", \".pytest_cache\",\n \"docs\", \"doc\", \"site\", \"examples\", \"benchmarks\", \"tests\", \"testing\",\n}\n\ndef _norm(s: str) -> str:\n return re.sub(r\"[-_.]+\", \"\", s).lower()\n\ndef read_pyproject(root: pathlib.Path):\n cfg = {}\n p = root / \"pyproject.toml\"\n if toml and p.exists():\n try:\n cfg = toml.loads(p.read_text(encoding=\"utf-8\"))\n except Exception:\n pass\n return cfg\n\ndef read_setup_cfg(root: pathlib.Path):\n p = root / \"setup.cfg\"\n cp = configparser.ConfigParser()\n if p.exists():\n try:\n cp.read(p, encoding=\"utf-8\")\n except Exception:\n pass\n return cp\n\ndef dist_name_from_config(pyproject, setup_cfg):\n # PEP 621 name\n name = (pyproject.get(\"project\", {}) or {}).get(\"name\")\n if not name:\n # setup.cfg [metadata] name\n if setup_cfg.has_section(\"metadata\"):\n name = setup_cfg.get(\"metadata\", \"name\", fallback=None)\n # setup.py --name as last resort\n return name\n\ndef package_roots_from_config(root, pyproject, setup_cfg):\n roots = set([root])\n # setuptools package-dir mapping\n # pyproject: [tool.setuptools.package-dir] \"\" = \"src\"\n pkgdir = ((pyproject.get(\"tool\", {}) or {}).get(\"setuptools\", {}) or {}).get(\"package-dir\", {})\n if isinstance(pkgdir, dict):\n if \"\" in pkgdir:\n roots.add((root / pkgdir[\"\"]).resolve())\n for _, d in pkgdir.items():\n try:\n roots.add((root / d).resolve())\n except Exception:\n pass\n # setup.cfg [options] package_dir\n if setup_cfg.has_section(\"options\"):\n raw = setup_cfg.get(\"options\", \"package_dir\", fallback=None)\n if raw:\n # can be \"=\\nsrc\" or mapping lines\n lines = [l.strip() for l in raw.splitlines() if l.strip()]\n # accept simple \"=src\" or \"\" = \"src\"\n for ln in lines:\n m = re.match(r'^(\"?\\'?)*\\s*=?\\s*(\"?\\'?)*\\s*(?P[^#;]+)$', ln)\n if m:\n roots.add((root / m.group(\"path\").strip()).resolve())\n # setup.cfg [options.packages.find] where\n if setup_cfg.has_section(\"options.packages.find\"):\n where = setup_cfg.get(\"options.packages.find\", \"where\", fallback=None)\n if where:\n for w in re.split(r\"[,\\s]+\", where):\n if w:\n roots.add((root / w).resolve())\n return [r for r in roots if r.exists()]\n\ndef explicit_modules_from_config(pyproject, setup_cfg):\n mods = set()\n # pyproject (tool.setuptools) py-modules / packages\n st = ((pyproject.get(\"tool\", {}) or {}).get(\"setuptools\", {}) or {})\n for key in (\"py-modules\", \"packages\"):\n val = st.get(key)\n if isinstance(val, list):\n mods.update(val)\n # setup.cfg [options] py_modules / packages\n if setup_cfg.has_section(\"options\"):\n for key in (\"py_modules\", \"packages\"):\n raw = setup_cfg.get(\"options\", key, fallback=None)\n if raw:\n for tok in re.split(r\"[\\s,]+\", raw.strip()):\n if tok and tok != \"find:\":\n mods.add(tok)\n return sorted(mods)\n\ndef read_top_level_from_egg_info(root):\n # editable installs often leave ./.egg-info/top_level.txt\n for ei in root.rglob(\"*.egg-info\"):\n tl = ei / \"top_level.txt\"\n if tl.exists():\n try:\n names = [l.strip() for l in tl.read_text(encoding=\"utf-8\").splitlines() if l.strip()]\n if names:\n return names\n except Exception:\n pass\n # also consider dist-info during local builds\n for di in root.rglob(\"*.dist-info\"):\n tl = di / \"top_level.txt\"\n if tl.exists():\n try:\n names = [l.strip() for l in tl.read_text(encoding=\"utf-8\").splitlines() if l.strip()]\n if names:\n return names\n except Exception:\n pass\n return None\n\ndef walk_candidates(roots):\n \"\"\"Return set of plausible top-level import names under candidate roots.\"\"\"\n cands = set()\n for r in roots:\n for path in r.rglob(\"__init__.py\"):\n try:\n pkg_dir = path.parent\n # skip excluded dirs anywhere in the path\n if any(part in EXCLUDE_DIRS for part in pkg_dir.parts):\n continue\n # Construct package name relative to the nearest search root\n try:\n rel = pkg_dir.relative_to(r)\n except Exception:\n continue\n if not rel.parts:\n continue\n top = rel.parts[0]\n if top.startswith(\"_\"):\n # usually private tooling\n continue\n cands.add(top)\n except Exception:\n pass\n # standalone modules at top-level of roots (py_modules case)\n for mod in r.glob(\"*.py\"):\n if mod.stem not in (\"setup\",):\n cands.add(mod.stem)\n return sorted(cands)\n\ndef score_candidates(cands, dist_name):\n \"\"\"Assign a score preferring names that match the dist name.\"\"\"\n scores = {}\n n_dist = _norm(dist_name) if dist_name else None\n prefer = None\n if dist_name and dist_name.lower() in EXCEPTIONS:\n prefer = EXCEPTIONS[dist_name.lower()]\n # also try normalized exception keys (e.g. capitalization)\n for k, v in EXCEPTIONS.items():\n if _norm(k) == _norm(dist_name or \"\"):\n prefer = v\n\n for c in cands:\n s = 0\n if prefer and _norm(c) == _norm(prefer):\n s += 100\n if n_dist and _norm(c) == n_dist:\n s += 80\n if n_dist and (_norm(c).startswith(n_dist) or n_dist.startswith(_norm(c))):\n s += 20\n # shorter, simpler names get a slight bump\n s += max(0, 10 - len(c))\n scores[c] = s\n return sorted(cands, key=lambda x: (-scores.get(x, 0), x)), scores\n\ndef detect(root: str, return_all=False):\n root = pathlib.Path(root).resolve()\n\n pyproject = read_pyproject(root)\n setup_cfg = read_setup_cfg(root)\n dist_name = dist_name_from_config(pyproject, setup_cfg)\n\n # 1) top_level.txt (best signal if present)\n top = read_top_level_from_egg_info(root)\n if top:\n if return_all:\n return top\n # If multiple, score them\n ordered, _ = score_candidates(top, dist_name or \"\")\n return [ordered[0]]\n\n # 2) explicit declarations (py_modules / packages lists)\n explicit = explicit_modules_from_config(pyproject, setup_cfg)\n\n # 3) find correct search roots (src layout, package_dir, etc.)\n roots = package_roots_from_config(root, pyproject, setup_cfg)\n\n # 4) walk code to infer candidates\n walked = walk_candidates(roots)\n\n # merge explicit + walked\n cands = list(dict.fromkeys(explicit + walked)) # keep order & de-dup\n\n # 5) fallback from dist name heuristics/exceptions if still empty\n if not cands and dist_name:\n # exception or simple normalization\n guess = EXCEPTIONS.get(dist_name.lower()) or re.sub(r\"[-\\.]+\", \"_\", dist_name)\n cands = [guess]\n\n if not cands:\n return []\n\n if return_all:\n # return ordered list\n ordered, _ = score_candidates(cands, dist_name or \"\")\n return ordered\n else:\n ordered, _ = score_candidates(cands, dist_name or \"\")\n return [ordered[0]]\n\ndef main():\n ap = argparse.ArgumentParser(description=\"Detect the top-level Python import name for a repo.\")\n ap.add_argument(\"--repo-root\", default=\".\", help=\"Path to repository root\")\n ap.add_argument(\"--all\", action=\"store_true\", help=\"Print all plausible names (JSON list)\")\n args = ap.parse_args()\n\n names = detect(args.repo_root, return_all=args.all)\n if not names:\n sys.exit(1)\n if args.all:\n print(json.dumps(names))\n else:\n print(names[0])\n\nif __name__ == \"__main__\":\n main()\nPY\n chmod +x /usr/local/bin/detect_import_name\n}\n\ninstall_detect_import_name\n\n# -------- Script body --------\n\ninstall_profile_helpers\n# shellcheck disable=SC1091\nsource /etc/profile.d/asv_utils.sh\n\n# Ensure base micromamba is active for introspecting ASV config\nmicromamba activate base\n\ninstall_detect_import_name\ninstall_smokecheck\n\nIMPORT_NAME=\"$(detect_import_name || true)\"\nif [[ -z \"$IMPORT_NAME\" ]]; then\n echo \"WARN: Could not determine import name; the pkg stage will fall back to local detection.\"\nfi\n\n\n# Move into the directory that contains asv.*.json\ncd_asv_json_dir || { echo \"No 'asv.*.json' file found.\" >&2; exit 1; }\n\nCONF_NAME=\"$(asv_conf_name || true)\"\nif [[ -z \"${CONF_NAME:-}\" ]]; then\n echo \"No 'asv.*.json' file found.\" >&2\n exit 1\nfi\n\n# Make sure tomli is available in base for pyproject parsing\nmicromamba install -y -n base -c conda-forge tomli >/dev/null\n\n# Read python versions from the ASV config\nPY_VERSIONS=$(python - <&2\n exit 1\nfi\n###### END SETUP CODE ######\n\n# -----------------------------\n# Agent guidance (read-first)\n# -----------------------------\n# GOAL: For each Python version below, install the project in EDITABLE mode into env asv_{version},\n# with NO build isolation, then run health checks.\n#\n# Below this comment, you should do whatever is necessary to build the project without errors. Including (but not limited to):\n# - Add extra conda/pip dependencies needed to build this project.\n# - Run repo-specific pre-steps (e.g., submodules, generating Cython, env vars).\n# - Run arbitrary micromamba/pip commands in the target env.\n# - Set CFLAGS/CXXFLAGS/LDFLAGS if needed for this repo.\n# - Change files in the repo if needed (e.g., fix a missing #include).\n# - Anything else needed to get a successful editable install.\n#\n# MUST:\n# - Keep this script idempotent.\n# - Use: `pip install --no-build-isolation -v -e .` or `pip install -e .` or equivalent.\n# - Do not modify the SETUP CODE or helper functions below.\n#\n# DO NOT:\n# - Change env names or Python versions outside MODEL EDIT AREA.\n# - Use build isolation unless absolutely necessary.\n\n# -----------------------------\n# Helpers (do not modify)\n# -----------------------------\nlog() { printf \"\u001b[1;34m[build]\u001b[0m %s\n\" \"$*\"; }\nwarn() { printf \"\u001b[1;33m[warn]\u001b[0m %s\n\" \"$*\" >&2; }\ndie() { printf \"\u001b[1;31m[fail]\u001b[0m %s\n\" \"$*\" >&2; exit 1; }\n\n# Conservative default parallelism (override if the repo benefits)\nexport CMAKE_BUILD_PARALLEL_LEVEL=\"${CMAKE_BUILD_PARALLEL_LEVEL:-2}\"\nexport NPY_NUM_BUILD_JOBS=\"${NPY_NUM_BUILD_JOBS:-2}\"\n\n# -----------------------------\n# Build & test across envs\n# -----------------------------\nfor version in $TARGET_VERSIONS; do\n ENV_NAME=\"asv_${version}\"\n log \"==> Building in env: $ENV_NAME (python=$version)\"\n\n if ! micromamba env list | awk '{print $1}' | grep -qx \"$ENV_NAME\"; then\n die \"Env $ENV_NAME not found. Did docker_build_env.sh run?\"\n fi\n\n # Import name resolution (kept simple for the agent)\n IMP=\"${IMPORT_NAME:-}\"\n if [[ -z \"$IMP\" ]]; then\n if ! IMP=\"$(asv_detect_import_name --repo-root \"$REPO_ROOT\" 2>/dev/null)\"; then\n die \"Could not determine import name. Set IMPORT_NAME in /etc/profile.d/asv_build_vars.sh\"\n fi\n fi\n log \"Using import name: $IMP\"\n\n # -----------------------------\n # MODEL EDIT AREA: repo-specific tweaks (optional)\n # -----------------------------\n # Examples (uncomment if needed for this repo):\n #\n # log \"Updating submodules\"\n # git -C \"$REPO_ROOT\" submodule update --init --recursive\n #\n # log \"Installing extra system libs via conda-forge\"\n # micromamba install -y -n \"$ENV_NAME\" -c conda-forge 'openblas' 'blas=*=openblas' 'libopenmp'\n #\n # log \"Pre-generating Cython sources\"\n # micromamba run -n \"$ENV_NAME\" python -m cython --version\n #\n # export CFLAGS=\"${CFLAGS:-}\"\n # export CXXFLAGS=\"${CXXFLAGS:-}\"\n # export LDFLAGS=\"${LDFLAGS:-}\"\n # -----------------------------\n\n # Install some basic micromamba packages.\n\n micromamba install -y -n \"$ENV_NAME\" -c conda-forge git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"$ENV_NAME\" pip install meson-python cython\n\n # Editable install (no build isolation preferrably). Toolchain lives in the env already.\n log \"Editable install with --no-build-isolation\"\n PIP_NO_BUILD_ISOLATION=1 micromamba run -n \"$ENV_NAME\" python -m pip install --no-build-isolation -v -e \"$REPO_ROOT\"\n\n # Health checks (import + compiled extension probe; optional pytest smoke with RUN_PYTEST_SMOKE=1)\n log \"Running smoke checks\"\n micromamba run -n \"$ENV_NAME\" asv_smokecheck.py --import-name \"$IMP\" --repo-root \"$REPO_ROOT\" ${RUN_PYTEST_SMOKE:+--pytest-smoke}\n\n # Machine-readable markers (useful in logs)\n echo \"::import_name=${IMP}::env=${ENV_NAME}\"\ndone\n\nlog \"All builds complete \u2705\"", + "dockerfile_data": "# syntax=docker/dockerfile:1.7\n\nFROM buildpack-deps:jammy AS base\n\nARG REPO_URL\nARG COMMIT_SHA\n\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nFROM base AS env\nARG REPO_URL\nARG COMMIT_SHA\n\n# Entrypoint is inherited by pkg\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\nENTRYPOINT [\"/entrypoint.sh\"]\n\nRUN git clone \"$REPO_URL\" /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout \"$COMMIT_SHA\"\nLABEL vcs.url=\"$REPO_URL\" vcs.ref=\"$COMMIT_SHA\"\n\n# ---- ENV STAGE: create envs, persist vars, install smoke tool ----\nCOPY docker_build_env.sh /workspace/repo/docker_build_env.sh\nRUN chmod +x /workspace/repo/docker_build_env.sh && \\\n /workspace/repo/docker_build_env.sh\n\n\nFROM env AS pkg\n\n# ---- PKG STAGE: build+test the package for each ASV Python ----\nCOPY docker_build_pkg.sh /workspace/repo/docker_build_pkg.sh\nRUN chmod +x /workspace/repo/docker_build_pkg.sh && \\\n /workspace/repo/docker_build_pkg.sh\n# If you want to restrict to one version at build time, replace with:\n# RUN PY_VERSION=3.10 /workspace/repo/docker_build_pkg.sh\n", + "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n", + "env_building_data": "#!/usr/bin/env bash\nset -euo pipefail\n\n# -------- Helpers installed for all shells --------\ninstall_profile_helpers() {\n cat >/etc/profile.d/asv_utils.sh <<'EOF'\n# asv_utils.sh \u2014 login/interactive shell helpers for ASV builds\nexport MAMBA_ROOT_PREFIX=\"${MAMBA_ROOT_PREFIX:-/opt/conda}\"\n\n# Initialize micromamba for bash shells (no-op if not present)\nif command -v micromamba >/dev/null 2>&1; then\n eval \"$(micromamba shell hook --shell=bash)\"\nfi\n\n# Find and cd into the first directory that contains an asv.*.json\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n if [[ -n \"$match\" ]]; then\n cd \"$(dirname \"$match\")\" || echo \"Failed to change directory\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n return 1\n fi\n}\n\n# Return just the conf filename (e.g., asv.conf.json)\nasv_conf_name() {\n local f\n f=$(find . -type f -name \"asv.*.json\" | head -n 1)\n [[ -n \"$f\" ]] && basename \"$f\" || return 1\n}\n\n# Build performance knobs (overridable)\nexport MAKEFLAGS=\"${MAKEFLAGS:--j$(nproc)}\"\nexport CMAKE_BUILD_PARALLEL_LEVEL=\"${CMAKE_BUILD_PARALLEL_LEVEL:-$(nproc)}\"\nexport NPY_NUM_BUILD_JOBS=\"${NPY_NUM_BUILD_JOBS:-$(nproc)}\"\n\n# Shared pip cache to speed repeated editable builds\nexport PIP_CACHE_DIR=\"${PIP_CACHE_DIR:-/opt/pipcache}\"\nmkdir -p \"$PIP_CACHE_DIR\"\nEOF\n}\n\n# -------- Persisted build variables --------\nwrite_build_vars() {\n local py_versions=\"$1\"\n local import_name=\"$2\"\n\n mkdir -p /etc/asv_env\n echo \"$py_versions\" > /etc/asv_env/py_versions\n echo \"$import_name\" > /etc/asv_env/import_name\n\n # Exported for every future shell (pkg script, interactive, etc.)\n cat >/etc/profile.d/asv_build_vars.sh </usr/local/bin/asv_smokecheck.py <<'PY'\n#!/usr/bin/env python\nimport argparse, importlib, pathlib, sys\n\ndef import_and_version(name: str):\n m = importlib.import_module(name)\n ver = getattr(m, \"__version__\", \"unknown\")\n print(f\"{name} imported ok; __version__={ver}\")\n\ndef probe_compiled(name: str, max_ext: int = 10):\n m = importlib.import_module(name)\n if not hasattr(m, \"__path__\"):\n print(\"No package __path__ (likely a single-module dist); skipping compiled probe.\")\n return\n pkg_path = pathlib.Path(list(m.__path__)[0])\n so_like = list(pkg_path.rglob(\"*.so\")) + list(pkg_path.rglob(\"*.pyd\"))\n failed = []\n for ext in so_like[:max_ext]:\n rel = ext.relative_to(pkg_path).with_suffix(\"\")\n dotted = \".\".join([name] + list(rel.parts))\n try:\n importlib.import_module(dotted)\n except Exception as e:\n failed.append((dotted, str(e)))\n if failed:\n print(\"Some compiled submodules failed to import:\")\n for d, err in failed:\n print(\" -\", d, \"->\", err)\n sys.exit(1)\n else:\n print(\"Compiled submodules (if any) import ok\")\n\ndef main():\n p = argparse.ArgumentParser()\n p.add_argument(\"--import-name\", required=True)\n p.add_argument(\"--repo-root\", default=\".\")\n p.add_argument(\"--pytest-smoke\", action=\"store_true\",\n help=\"Run a quick pytest smoke: -k 'not slow' --maxfail=1\")\n p.add_argument(\"--max-ext\", type=int, default=10)\n args = p.parse_args()\n\n import_and_version(args.import_name)\n probe_compiled(args.import_name, max_ext=args.max_ext)\n\n if args.pytest_smoke:\n import subprocess, os\n if any((pathlib.Path(args.repo_root)/p).exists() for p in (\"tests\", \"pytest.ini\", \"pyproject.toml\")):\n print(\"Running pytest smoke...\")\n rc = subprocess.call([sys.executable, \"-m\", \"pytest\", \"-q\", \"-k\", \"not slow\", \"--maxfail=1\"], cwd=args.repo_root)\n if rc != 0:\n sys.exit(rc)\n else:\n print(\"No tests detected; skipping pytest smoke.\")\n print(\"Smokecheck OK \u2705\")\n\nif __name__ == \"__main__\":\n main()\nPY\n chmod +x /usr/local/bin/asv_smokecheck.py\n}\ninstall_smokecheck\n\n# -------- Install an import-name detector CLI --------\ninstall_detect_import_name() {\n cat >/usr/local/bin/detect_import_name <<'PY'\n#!/usr/bin/env python\nimport argparse, pathlib, re, sys, subprocess, configparser, json\n\n# --- optional TOML loader (py3.11+: tomllib; else tomli if available) ---\ntry:\n import tomllib as toml\nexcept Exception:\n try:\n import tomli as toml\n except Exception:\n toml = None\n\nEXCEPTIONS = {\n # common dist\u2192import mismatches\n \"scikit-learn\": \"sklearn\",\n \"opencv-python\": \"cv2\",\n \"pyyaml\": \"yaml\",\n \"beautifulsoup4\": \"bs4\",\n \"pillow\": \"PIL\",\n \"mysqlclient\": \"MySQLdb\",\n \"psycopg2-binary\": \"psycopg2\",\n \"opencv-contrib-python\": \"cv2\",\n \"protobuf\": \"google\", # top-level package\n \"apache-beam\": \"apache_beam\",\n}\n\n# All the package names we typically query.\nEXCEPTIONS.update({\n # --- core scientific stack ---\n \"scikit-learn\": \"sklearn\",\n \"numpy\": \"numpy\",\n \"pandas\": \"pandas\",\n \"scipy\": \"scipy\",\n \"scikit-image\": \"skimage\",\n \"pywt\": \"pywt\",\n \"xarray\": \"xarray\",\n \"bottleneck\": \"bottleneck\",\n \"h5py\": \"h5py\",\n \"networkx\": \"networkx\",\n \"shapely\": \"shapely\",\n\n # --- ML / stats / optimization / viz ---\n \"optuna\": \"optuna\",\n \"arviz\": \"arviz\",\n \"pymc\": \"pymc\",\n \"kedro\": \"kedro\",\n \"modin\": \"modin\",\n \"napari\": \"napari\",\n \"deepchecks\": \"deepchecks\",\n \"voyager\": \"voyager\", # spotify/voyager\n \"warp\": \"warp\", # NVIDIA/warp\n \"newton\": \"newton\", # newton-physics/newton\n\n # --- domain / ecosystem libs ---\n \"geopandas\": \"geopandas\",\n \"cartopy\": \"cartopy\",\n \"iris\": \"iris\",\n \"anndata\": \"anndata\",\n \"scanpy\": \"scanpy\",\n \"sunpy\": \"sunpy\",\n \"pvlib-python\": \"pvlib\",\n \"PyBaMM\": \"pybamm\",\n \"momepy\": \"momepy\",\n \"satpy\": \"satpy\",\n \"pydicom\": \"pydicom\",\n \"pynetdicom\": \"pynetdicom\",\n\n # --- file formats / IO / infra ---\n \"asdf\": \"asdf\",\n \"arrow\": \"pyarrow\", # apache/arrow\n \"ArcticDB\": \"arcticdb\",\n \"arctic\": \"arctic\",\n\n # --- web / frameworks / utils ---\n \"django-components\": \"django_components\",\n \"h11\": \"h11\",\n \"tqdm\": \"tqdm\",\n \"rich\": \"rich\",\n \"posthog\": \"posthog\",\n \"datalad\": \"datalad\",\n \"ipyparallel\": \"ipyparallel\",\n\n # --- numerical / symbolic / control ---\n \"autograd\": \"autograd\",\n \"python-control\": \"control\",\n \"loopy\": \"loopy\",\n \"thermo\": \"thermo\",\n \"chempy\": \"chempy\",\n \"adaptive\": \"adaptive\",\n\n # --- scientific image / signal ---\n \"metric-learn\": \"metric_learn\",\n\n # --- quantum / physics ---\n \"Cirq\": \"cirq\",\n \"memray\": \"memray\",\n \"devito\": \"devito\",\n\n # --- bio / chem / data ---\n \"sourmash\": \"sourmash\",\n \"dipy\": \"dipy\",\n\n # --- protocol buffers / codegen / outlines ---\n \"python-betterproto\": \"betterproto\",\n \"outlines\": \"outlines\",\n\n # --- DS viz / raster ---\n \"datashader\": \"datashader\",\n \"xarray-spatial\": \"xarray_spatial\",\n\n # --- misc ---\n \"enlighten\": \"enlighten\",\n \"xorbits\": \"xorbits\",\n \"geopandas\": \"geopandas\",\n \"lmfit-py\": \"lmfit\",\n \"mdanalysis\": \"MDAnalysis\",\n \"nilearn\": \"nilearn\",\n})\n\n\nEXCLUDE_DIRS = {\n \".git\", \".hg\", \".svn\", \".tox\", \".nox\", \".venv\", \"venv\",\n \"build\", \"dist\", \"__pycache__\", \".mypy_cache\", \".pytest_cache\",\n \"docs\", \"doc\", \"site\", \"examples\", \"benchmarks\", \"tests\", \"testing\",\n}\n\ndef _norm(s: str) -> str:\n return re.sub(r\"[-_.]+\", \"\", s).lower()\n\ndef read_pyproject(root: pathlib.Path):\n cfg = {}\n p = root / \"pyproject.toml\"\n if toml and p.exists():\n try:\n cfg = toml.loads(p.read_text(encoding=\"utf-8\"))\n except Exception:\n pass\n return cfg\n\ndef read_setup_cfg(root: pathlib.Path):\n p = root / \"setup.cfg\"\n cp = configparser.ConfigParser()\n if p.exists():\n try:\n cp.read(p, encoding=\"utf-8\")\n except Exception:\n pass\n return cp\n\ndef dist_name_from_config(pyproject, setup_cfg):\n # PEP 621 name\n name = (pyproject.get(\"project\", {}) or {}).get(\"name\")\n if not name:\n # setup.cfg [metadata] name\n if setup_cfg.has_section(\"metadata\"):\n name = setup_cfg.get(\"metadata\", \"name\", fallback=None)\n # setup.py --name as last resort\n return name\n\ndef package_roots_from_config(root, pyproject, setup_cfg):\n roots = set([root])\n # setuptools package-dir mapping\n # pyproject: [tool.setuptools.package-dir] \"\" = \"src\"\n pkgdir = ((pyproject.get(\"tool\", {}) or {}).get(\"setuptools\", {}) or {}).get(\"package-dir\", {})\n if isinstance(pkgdir, dict):\n if \"\" in pkgdir:\n roots.add((root / pkgdir[\"\"]).resolve())\n for _, d in pkgdir.items():\n try:\n roots.add((root / d).resolve())\n except Exception:\n pass\n # setup.cfg [options] package_dir\n if setup_cfg.has_section(\"options\"):\n raw = setup_cfg.get(\"options\", \"package_dir\", fallback=None)\n if raw:\n # can be \"=\\nsrc\" or mapping lines\n lines = [l.strip() for l in raw.splitlines() if l.strip()]\n # accept simple \"=src\" or \"\" = \"src\"\n for ln in lines:\n m = re.match(r'^(\"?\\'?)*\\s*=?\\s*(\"?\\'?)*\\s*(?P[^#;]+)$', ln)\n if m:\n roots.add((root / m.group(\"path\").strip()).resolve())\n # setup.cfg [options.packages.find] where\n if setup_cfg.has_section(\"options.packages.find\"):\n where = setup_cfg.get(\"options.packages.find\", \"where\", fallback=None)\n if where:\n for w in re.split(r\"[,\\s]+\", where):\n if w:\n roots.add((root / w).resolve())\n return [r for r in roots if r.exists()]\n\ndef explicit_modules_from_config(pyproject, setup_cfg):\n mods = set()\n # pyproject (tool.setuptools) py-modules / packages\n st = ((pyproject.get(\"tool\", {}) or {}).get(\"setuptools\", {}) or {})\n for key in (\"py-modules\", \"packages\"):\n val = st.get(key)\n if isinstance(val, list):\n mods.update(val)\n # setup.cfg [options] py_modules / packages\n if setup_cfg.has_section(\"options\"):\n for key in (\"py_modules\", \"packages\"):\n raw = setup_cfg.get(\"options\", key, fallback=None)\n if raw:\n for tok in re.split(r\"[\\s,]+\", raw.strip()):\n if tok and tok != \"find:\":\n mods.add(tok)\n return sorted(mods)\n\ndef read_top_level_from_egg_info(root):\n # editable installs often leave ./.egg-info/top_level.txt\n for ei in root.rglob(\"*.egg-info\"):\n tl = ei / \"top_level.txt\"\n if tl.exists():\n try:\n names = [l.strip() for l in tl.read_text(encoding=\"utf-8\").splitlines() if l.strip()]\n if names:\n return names\n except Exception:\n pass\n # also consider dist-info during local builds\n for di in root.rglob(\"*.dist-info\"):\n tl = di / \"top_level.txt\"\n if tl.exists():\n try:\n names = [l.strip() for l in tl.read_text(encoding=\"utf-8\").splitlines() if l.strip()]\n if names:\n return names\n except Exception:\n pass\n return None\n\ndef walk_candidates(roots):\n \"\"\"Return set of plausible top-level import names under candidate roots.\"\"\"\n cands = set()\n for r in roots:\n for path in r.rglob(\"__init__.py\"):\n try:\n pkg_dir = path.parent\n # skip excluded dirs anywhere in the path\n if any(part in EXCLUDE_DIRS for part in pkg_dir.parts):\n continue\n # Construct package name relative to the nearest search root\n try:\n rel = pkg_dir.relative_to(r)\n except Exception:\n continue\n if not rel.parts:\n continue\n top = rel.parts[0]\n if top.startswith(\"_\"):\n # usually private tooling\n continue\n cands.add(top)\n except Exception:\n pass\n # standalone modules at top-level of roots (py_modules case)\n for mod in r.glob(\"*.py\"):\n if mod.stem not in (\"setup\",):\n cands.add(mod.stem)\n return sorted(cands)\n\ndef score_candidates(cands, dist_name):\n \"\"\"Assign a score preferring names that match the dist name.\"\"\"\n scores = {}\n n_dist = _norm(dist_name) if dist_name else None\n prefer = None\n if dist_name and dist_name.lower() in EXCEPTIONS:\n prefer = EXCEPTIONS[dist_name.lower()]\n # also try normalized exception keys (e.g. capitalization)\n for k, v in EXCEPTIONS.items():\n if _norm(k) == _norm(dist_name or \"\"):\n prefer = v\n\n for c in cands:\n s = 0\n if prefer and _norm(c) == _norm(prefer):\n s += 100\n if n_dist and _norm(c) == n_dist:\n s += 80\n if n_dist and (_norm(c).startswith(n_dist) or n_dist.startswith(_norm(c))):\n s += 20\n # shorter, simpler names get a slight bump\n s += max(0, 10 - len(c))\n scores[c] = s\n return sorted(cands, key=lambda x: (-scores.get(x, 0), x)), scores\n\ndef detect(root: str, return_all=False):\n root = pathlib.Path(root).resolve()\n\n pyproject = read_pyproject(root)\n setup_cfg = read_setup_cfg(root)\n dist_name = dist_name_from_config(pyproject, setup_cfg)\n\n # 1) top_level.txt (best signal if present)\n top = read_top_level_from_egg_info(root)\n if top:\n if return_all:\n return top\n # If multiple, score them\n ordered, _ = score_candidates(top, dist_name or \"\")\n return [ordered[0]]\n\n # 2) explicit declarations (py_modules / packages lists)\n explicit = explicit_modules_from_config(pyproject, setup_cfg)\n\n # 3) find correct search roots (src layout, package_dir, etc.)\n roots = package_roots_from_config(root, pyproject, setup_cfg)\n\n # 4) walk code to infer candidates\n walked = walk_candidates(roots)\n\n # merge explicit + walked\n cands = list(dict.fromkeys(explicit + walked)) # keep order & de-dup\n\n # 5) fallback from dist name heuristics/exceptions if still empty\n if not cands and dist_name:\n # exception or simple normalization\n guess = EXCEPTIONS.get(dist_name.lower()) or re.sub(r\"[-\\.]+\", \"_\", dist_name)\n cands = [guess]\n\n if not cands:\n return []\n\n if return_all:\n # return ordered list\n ordered, _ = score_candidates(cands, dist_name or \"\")\n return ordered\n else:\n ordered, _ = score_candidates(cands, dist_name or \"\")\n return [ordered[0]]\n\ndef main():\n ap = argparse.ArgumentParser(description=\"Detect the top-level Python import name for a repo.\")\n ap.add_argument(\"--repo-root\", default=\".\", help=\"Path to repository root\")\n ap.add_argument(\"--all\", action=\"store_true\", help=\"Print all plausible names (JSON list)\")\n args = ap.parse_args()\n\n names = detect(args.repo_root, return_all=args.all)\n if not names:\n sys.exit(1)\n if args.all:\n print(json.dumps(names))\n else:\n print(names[0])\n\nif __name__ == \"__main__\":\n main()\nPY\n chmod +x /usr/local/bin/detect_import_name\n}\n\ninstall_detect_import_name\n\n# -------- Script body --------\n\ninstall_profile_helpers\n# shellcheck disable=SC1091\nsource /etc/profile.d/asv_utils.sh\n\n# Ensure base micromamba is active for introspecting ASV config\nmicromamba activate base\n\ninstall_detect_import_name\ninstall_smokecheck\n\nIMPORT_NAME=\"$(detect_import_name || true)\"\nif [[ -z \"$IMPORT_NAME\" ]]; then\n echo \"WARN: Could not determine import name; the pkg stage will fall back to local detection.\"\nfi\n\n\n# Move into the directory that contains asv.*.json\ncd_asv_json_dir || { echo \"No 'asv.*.json' file found.\" >&2; exit 1; }\n\nCONF_NAME=\"$(asv_conf_name || true)\"\nif [[ -z \"${CONF_NAME:-}\" ]]; then\n echo \"No 'asv.*.json' file found.\" >&2\n exit 1\nfi\n\n# Make sure tomli is available in base for pyproject parsing\nmicromamba install -y -n base -c conda-forge tomli >/dev/null\n\n# Read python versions from the ASV config\nPY_VERSIONS=$(python - <=0.29.13\" \"numpy>=1.16.0\" \"biopython>=1.71\" \"networkx>=1.0\" \"griddataformats>=0.4.0\" \"mmtf-python>=1.0.0\" \"gsd>=1.4.0\" \"scipy>=1.0.0\" \"joblib\" \"mock\" \"packaging\" \"pytest\" \"pytest-xdist\" \"pytest-cov\" \"pytest-timeout\" \"psutil\" \"hypothesis\"\n \n # Build and install MDAnalysis in development mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='1cfe404e5d2c2a807162d4e3d440b6969e14d87b', commit_date=1732305078.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build and test dependencies\n micromamba run -n \"asv_${version}\" pip install \"cython>=0.29.36\" \"numpy>=1.21.0\" pytest pytest-xdist sphinx sphinx-sitemap sphinx_rtd_theme\n micromamba run -n \"asv_${version}\" pip install mmtf-python gsd networkx biopython tidynamics\n \n # Ensure build system requirements are met\n micromamba run -n \"asv_${version}\" pip install build setuptools wheel\n \n # Look for package in subdirectories\n cd ${ROOT_PATH}\n if [ -d \"package\" ]; then\n cd package\n fi\n \n # Build and install MDAnalysis in development mode\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .[test,analysis]\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install -e .[test,analysis]\n else\n echo \"Neither pyproject.toml nor setup.py found. Cannot install package.\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='1eca65591fa402584dd29b6d1a02111af30e68eb', commit_date=1691706686.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Install build dependencies with specific versions to avoid compatibility issues\n micromamba run -n \"asv_${version}\" pip install \"setuptools<75.0.0\" wheel \"cython<3.0.0\" \"numpy<2.0.0\"\n \n # Install additional required packages\n cd ${ROOT_PATH}\n if [ -f \"package/requirements.txt\" ]; then\n # Install requirements one by one to better handle failures\n while IFS= read -r requirement || [[ -n \"$requirement\" ]]; do\n # Skip empty lines and comments\n [[ -z \"$requirement\" || \"$requirement\" =~ ^#.*$ ]] && continue\n micromamba run -n \"asv_${version}\" pip install --no-deps \"$requirement\" || true\n done < package/requirements.txt\n fi\n \n # Build and install MDAnalysis\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install -e .\n else\n echo \"No pyproject.toml or setup.py found\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='264d6f9357a978444baa1f99411a03453664ab2b', commit_date=1672867721.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Attempt to install using pyproject.toml or setup.py if available\n if [[ -f \"${ROOT_PATH}/pyproject.toml\" ]]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\n elif [[ -f \"${ROOT_PATH}/setup.py\" ]]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n else\n echo \"No 'setup.py' or 'pyproject.toml' found in ${ROOT_PATH}. Cannot install the project.\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='26880f0f0a4bb831fca9668650400858c34f442b', commit_date=1602889606.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps -r ${ROOT_PATH}/requirements.txt\n # Install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='2ee4e9da5aa3a2c1b21fc3d1897bd70e0ab2064d', commit_date=1602770152.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest sphinx sphinx-sitemap sphinx-rtd-theme\n \n # Build and install MDAnalysis with optimized flags\n export CFLAGS=\"-O3\"\n export CXXFLAGS=\"-O3\"\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='35d9d2e3ab08e7e6741b57fe02a7215fe3b91a6c', commit_date=1742597504.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies and tools\n micromamba run -n \"asv_${version}\" pip install build setuptools wheel cython\n \n # Install package dependencies\n micromamba run -n \"asv_${version}\" pip install networkx matplotlib seaborn netCDF4 mmtf-python gsd biopython parmed griddataformats joblib threadpoolctl scikit-learn hypothesis codecov\n \n # Install MDAnalysis in editable mode\n cd ${ROOT_PATH}/package\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='392c8ae5391e20f5e496f7ac03dae08c44deca3b', commit_date=1646727863.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Check for pyproject.toml or setup.py and install accordingly\n if [[ -f \"${ROOT_PATH}/pyproject.toml\" ]]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\n elif [[ -f \"${ROOT_PATH}/setup.py\" ]]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n else\n echo \"No 'setup.py' or 'pyproject.toml' found in ${ROOT_PATH}. Cannot install the project.\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='39b0e4cc184725cd0e5e710780c8154ed4de9f4f', commit_date=1524419705.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install \"setuptools>=45.0\" wheel \"cython>=0.29\" numpy\n \n # Install MDAnalysis in editable mode with specific dependencies for this older version\n micromamba run -n \"asv_${version}\" pip install --no-deps --verbose --editable \"${ROOT_PATH}\"\n \n # Install runtime dependencies appropriate for the 2018 version\n micromamba run -n \"asv_${version}\" pip install six mmtf-python mock biopython networkx gsd scipy matplotlib\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='404040598f78db05882fa5b2bba1d35fc6a30510', commit_date=1605754667.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps -r ${ROOT_PATH}/requirements.txt\n # Install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='42c541771ab7aee318783d296caa3e10b33f53eb', commit_date=1613225552.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install \"cython>=0.29.13,<3.0\" \"numpy>=1.16.0\" \"setuptools>=40.8.0\" wheel\n \n # Additional dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" conda install -y -c conda-forge gsd matplotlib netcdf4 networkx\n \n # Build and install MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='4365f3b07c1bf2ebcf16424b26162102954c5b90', commit_date=1591777205.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest sphinx sphinx-sitemap sphinx-rtd-theme\n \n # Build and install MDAnalysis in development mode\n cd ${ROOT_PATH}\n if [ -d \"package\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable ./package\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable ./testsuite\n else\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable .\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='45e56e8314c278e3eb98ed7a6029b74e7435e8be', commit_date=1598362533.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest sphinx sphinx-sitemap sphinx-rtd-theme\n \n # Install MDAnalysis in development mode with test dependencies\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable .[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='474be5bbe32270bb9ddf02dc3cab74d3c1312c5e', commit_date=1728274662.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme\n micromamba run -n \"asv_${version}\" pip install mmtf-python mock gsd networkx biopython\n \n # Check if we're in the right directory and if setup.py exists\n cd ${ROOT_PATH}\n if [ ! -f \"setup.py\" ] && [ ! -f \"pyproject.toml\" ]; then\n # Try to find the package directory\n if [ -d \"package\" ]; then\n cd package\n elif [ -d \"mdanalysis\" ]; then\n cd mdanalysis\n fi\n fi\n \n # Build and install MDAnalysis in development mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='481e36a3aa8767c4b895eabfd7ef8b89132ab611', commit_date=1723835551.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme\n micromamba run -n \"asv_${version}\" pip install mmtf-python gsd networkx tidynamics biopython\n \n # Check if we're in the right directory and if setup.py exists\n if [ ! -f \"${ROOT_PATH}/setup.py\" ]; then\n cd \"${ROOT_PATH}/package\" || exit 1\n fi\n \n # Build and install MDAnalysis in development mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='4fafd51de84d5b89be0559a412acefde0040847c', commit_date=1726273184.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme\n # Build and install MDAnalysis in development mode\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable ${ROOT_PATH}/package/\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable ${ROOT_PATH}/testsuite/\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='52b3d261240efed0546d9f15ee42c7f445e72c13', commit_date=1693261706.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies with version constraints for Python 3.8\n micromamba run -n \"asv_${version}\" pip install \"setuptools<75.0.0\" wheel \"numpy<2.0.0\" cython\n \n # Install additional dependencies specific to MDAnalysis\n micromamba run -n \"asv_${version}\" pip install pytest pytest-xdist sphinx sphinx_rtd_theme\n micromamba run -n \"asv_${version}\" pip install mmtf-python mock biopython networkx gsd\n \n # Install package in development mode\n cd \"${ROOT_PATH}\"\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-deps --no-build-isolation -e .\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-deps --no-build-isolation -e .\n else\n echo \"Neither pyproject.toml nor setup.py found. Attempting direct install.\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-deps --no-build-isolation .\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='559528f3349bebcaeb82e7f97fd6b76ae8aecce2', commit_date=1501861121.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with basic dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\"\n \n # Install numpy and other build dependencies separately to handle version constraints\n if [[ \"$version\" == \"2.7\" ]]; then\n micromamba install -y -n \"asv_${version}\" -c conda-forge \"numpy<1.17\" \"scipy<1.3\" \"cython<3.0\" pytest setuptools\n else\n micromamba install -y -n \"asv_${version}\" -c conda-forge \"numpy<2.0\" \"scipy<2.0\" \"cython<3.0\" pytest setuptools\n fi\n \n # Install compilers and build tools\n micromamba install -y -n \"asv_${version}\" -c conda-forge compilers wheel\n \n # Install ASV\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Build and install MDAnalysis in development mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install --no-deps -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='5948963e0e9d92c9ddd0829ba3df3d9d496bbf01', commit_date=1672872621.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies with specific versions\n micromamba run -n \"asv_${version}\" pip install --upgrade \"pip<24.0\" setuptools wheel\n micromamba run -n \"asv_${version}\" pip install \"cython<3.0\" \"numpy<2.0\"\n \n # Install package requirements from package directory\n if [ -f \"${ROOT_PATH}/package/requirements.txt\" ]; then\n # Install with relaxed constraints and ignore errors\n sed 's/>=/~=/g' ${ROOT_PATH}/package/requirements.txt | grep -v \"numpy\" | micromamba run -n \"asv_${version}\" pip install -r /dev/stdin || true\n fi\n \n # Install additional dependencies needed for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install \"biopython~=1.80\" fasteners griddataformats\n \n # Install the package in development mode\n cd ${ROOT_PATH}\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e .\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e .\n else\n echo \"No pyproject.toml or setup.py found in ${ROOT_PATH}\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='59f4e395178240d5e3f36088d7a4d98ddd0e3607', commit_date=1680135568.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install \"setuptools<75.0.0\" wheel \"numpy<2.0.0\" cython pytest pytest-xdist sphinx sphinx-sitemap sphinx-rtd-theme\n # Install optional dependencies that may be needed for benchmarks\n micromamba run -n \"asv_${version}\" pip install gsd parmed biopython networkx tidynamics\n # Install MDAnalysis in editable mode with all dependencies\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .[test,analysis]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='5bf1979b36cd4d5f55d691e6927aa606fbeb8791', commit_date=1703619619.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip wheel setuptools build\n micromamba run -n \"asv_${version}\" pip install \"numpy>=1.21.0\" \"cython>=0.29.32\" \"mmtf-python>=1.0.0\" gsd biopython scipy pytest\n\n # Look for package directory containing setup.py\n cd \"${ROOT_PATH}\"\n if [ -d \"package\" ] && [ -f \"package/setup.py\" ]; then\n cd package\n fi\n\n # Set environment variables to help with compilation\n export CFLAGS=\"-std=c99 -O3 -funroll-loops -fsigned-zeros\"\n export NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION\n\n # Build and install MDAnalysis with specific build settings\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -v -e .\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install -v -e .\n else\n echo \"No pyproject.toml or setup.py found in current directory\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='5c19974c43125c94f98ab45d2f9965c70e427eec', commit_date=1541518721.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis dependencies first\n micromamba run -n \"asv_${version}\" pip install --no-deps \"cython>=0.16\" numpy>=1.10.0 biopython>=1.71 networkx>=1.0 griddataformats>=0.4.0 six>=1.4.0 fasteners mmtf-python>=1.0.0 tqdm>=4.43.0 packaging>=20.0 pytest>=3.3.0 mock\n \n # Build and install MDAnalysis in development mode with specific numpy version constraint\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation \"numpy>=1.16.5,<2.0\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='5cf8c5599e1a27c53e774c436b4e03fe71080f7a', commit_date=1534279531.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers setuptools wheel\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install additional dependencies required by MDAnalysis\n micromamba run -n \"asv_${version}\" pip install six biopython networkx gsd griddataformats mmtf-python tqdm mock joblib\n\n # Build and install MDAnalysis with appropriate flags\n if [[ \"$version\" == \"2.7\" ]]; then\n # For Python 2.7, use a more conservative installation approach\n micromamba run -n \"asv_${version}\" pip install --no-deps --editable ${ROOT_PATH}\n else\n # For Python 3.x, use build isolation disabled for better compatibility\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable ${ROOT_PATH}\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='61e236d45c52030d74ba6277c0a59e8a43a13ea9', commit_date=1593710203.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis dependencies with pinned versions appropriate for 2020\n micromamba run -n \"asv_${version}\" pip install \"cython>=0.29,<0.30\" \"numpy>=1.13.0,<1.19\" \"biopython>=1.71,<1.78\" \\\n \"networkx>=1.0,<2.5\" \"griddataformats>=0.4.0\" \"mmtf-python>=1.0.0\" \"gsd>=1.4.0\" \"scipy>=1.0.0,<1.6\" \\\n \"joblib<1.0\" \"mock\" \"psutil<5.8\" \"pytest<6.0\" \"pytest-cov\" \"pytest-xdist<2.0\" \"hypothesis<6.0\"\n \n # Build and install MDAnalysis in development mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='62c35d49bd9458f2b5057d28d4904391a4a38513', commit_date=1534780584.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest sphinx sphinx-sitemap sphinx-rtd-theme\n \n # Build and install MDAnalysis in development mode\n cd \"${ROOT_PATH}\"\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable .\n\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='6bc52ec2f0744cdf3c63a2e43aff232381ec4dd1', commit_date=1669766518.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme setuptools wheel build\n\n # Ensure we're in the package directory\n cd ${ROOT_PATH}/package || cd ${ROOT_PATH}\n\n # Try to build and install MDAnalysis\n if [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install -e .\n elif [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .\n else\n echo \"Neither setup.py nor pyproject.toml found in current directory\"\n exit 1\n fi\n\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='6d5ef34292899958ea2a0148388ecc47cf499da1', commit_date=1620729923.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps -r ${ROOT_PATH}/requirements.txt\n # Install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='73cd1e69be88f1b47b1327c1918c0ad326bec302', commit_date=1603501474.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\"\n \n # Install build dependencies \n micromamba install -y -n \"asv_${version}\" -c conda-forge numpy scipy cython pytest compilers setuptools pip wheel\n \n # Install ASV\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install additional build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --no-deps cython numpy pytest sphinx sphinx-sitemap sphinx-rtd-theme\n \n # Build and install MDAnalysis\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='740cae26820eba538f9990ec904adc9f39a65b2e', commit_date=1619881090.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme\n \n # Install MDAnalysis in development mode with test dependencies\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py clean\n micromamba run -n \"asv_${version}\" pip install --no-deps -e .\n micromamba run -n \"asv_${version}\" pip install -e .[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='740e74e8c61ea01a4b2120bd369b11a58cb9c304', commit_date=1728331627.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create base environment with required dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Install MDAnalysis-specific dependencies\n micromamba run -n \"asv_${version}\" pip install --no-cache-dir \\\n cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme \\\n mmtf-python mock gsd griddataformats tidynamics \\\n setuptools wheel build\n\n # Look for package subdirectories\n cd ${ROOT_PATH}\n if [ -d \"package\" ]; then\n cd package\n fi\n\n # Try to build and install\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e .\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" python setup.py develop\n else\n echo \"Neither pyproject.toml nor setup.py found in current directory\"\n exit 1\n fi\n cd ${ROOT_PATH}/benchmarks\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='79dead30cc19cd821617a6746663a68709b276e0', commit_date=1754497815.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install meson-python ninja cython packaging\n # Build and install MDAnalysis with meson\n cd ${ROOT_PATH}\n # Ensure we're in the package directory with pyproject.toml\n if [ -f \"package/pyproject.toml\" ]; then\n cd package\n fi\n micromamba run -n \"asv_${version}\" python -m pip install --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='7c468a46344d17f91d44059332fcc533dad01cde', commit_date=1567026117.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers setuptools wheel\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps biopython networkx matplotlib gsd griddataformats tidynamics\n \n # Install package in development mode with explicit build step\n cd \"${ROOT_PATH}\"\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install --no-deps -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='81b8ef51e5bc1aa2824294ac6c52818c74975658', commit_date=1741727282.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install build setuptools wheel cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme\n \n # Additional dependencies specific to MDAnalysis\n micromamba run -n \"asv_${version}\" pip install packaging mmtf-python mock gsd griddataformats scipy matplotlib biopython networkx tidynamics\n\n # Build and install MDAnalysis in development mode\n cd ${ROOT_PATH}\n if [ -f \"package/setup.py\" ]; then\n cd package\n micromamba run -n \"asv_${version}\" pip install -e .\n cd ..\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install -e .\n elif [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .\n else\n echo \"No setup files found in expected locations. Please check repository structure.\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='84ee67b99fc3bf165d2f58057fac3315d8bb33af', commit_date=1727431157.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip wheel setuptools build\n micromamba run -n \"asv_${version}\" pip install numpy cython pytest pytest-xdist sphinx sphinx_rtd_theme\n micromamba run -n \"asv_${version}\" pip install packaging\n \n # Try to find and build from package directory\n cd ${ROOT_PATH}\n if [ -d \"package\" ]; then\n cd package\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" python -m build --wheel\n micromamba run -n \"asv_${version}\" pip install dist/*.whl\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .\n fi\n else\n echo \"Package directory not found in ${ROOT_PATH}\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='8599e47b77a89486a1ffe97a3f146751611d9595', commit_date=1680132537.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme\n # Build and install MDAnalysis in development mode\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable ${ROOT_PATH}/package/\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable ${ROOT_PATH}/testsuite/\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='8c3577f5a72bee654d94367e4bef51791ffa5d0b', commit_date=1591177328.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install setuptools wheel\n \n # Install package dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps six gsd mmtf-python networkx matplotlib biopython griddataformats GridDataFormats scipy tqdm joblib mock\n\n # Install package in development mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='93c4a97761469a2fd013c280d04435ae178f2c44', commit_date=1693273052.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n # Skip Python versions < 3.9 as MDAnalysis requires Python 3.9+\n if [[ $(echo \"$version\" | cut -d. -f2) -lt 9 ]]; then\n echo \"Skipping Python $version as MDAnalysis requires Python 3.9+\"\n continue\n fi\n\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with required dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme setuptools wheel build\n \n # Additional dependencies specific to MDAnalysis\n micromamba run -n \"asv_${version}\" pip install packaging mmtf-python gsd networkx matplotlib tqdm scipy biopython\n\n # Ensure we're in the root directory\n cd ${ROOT_PATH}\n \n # Look for package subdirectory\n if [ -d \"package\" ]; then\n cd package\n fi\n \n # Try to build and install the package\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation -v -e .\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation -v -e .\n else\n echo \"No pyproject.toml or setup.py found in current directory\"\n exit 1\n fi\n \n # Install remaining dependencies\n micromamba run -n \"asv_${version}\" pip install -e .[test,doc]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='95fedb590d1afd268c0a643302cd703b8756f5d3', commit_date=1685194826.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Check Python version requirement (MDAnalysis needs >=3.9)\n if (( $(echo \"$version\" | cut -d. -f1,2 | sed 's/\\.//' | bc) < 39 )); then\n echo \"Skipping Python $version as MDAnalysis requires Python >=3.9\"\n continue\n fi\n\n # Create environment with required dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge \\\n python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" \\\n numpy scipy cython pytest compilers \\\n gsd networkx matplotlib tqdm pandas\n\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n cd ${ROOT_PATH}\n\n # Install build dependencies and package\n micromamba run -n \"asv_${version}\" pip install build wheel setuptools cython numpy\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e \".[test,analysis]\"\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='9a2cd43fccd4426f91b195ea9902e5b78a6c2e3b', commit_date=1710090427.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies and required packages\n micromamba run -n \"asv_${version}\" pip install build setuptools wheel matplotlib pandas\n micromamba run -n \"asv_${version}\" pip install GridDataFormats mmtf-python networkx fasteners mda-xdrlib waterdynamics pathsimanalysis mdahole2\n \n # Install the package in editable mode\n cd ${ROOT_PATH}\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .\n else\n echo \"Neither pyproject.toml nor setup.py found in the root directory\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='9ba1ab964920acfc986d8e264f78c965e062e9d0', commit_date=1511010257.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with basic dependencies\n # Using older versions since this is a 2017 commit\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" \"numpy<=1.13\" \"scipy<=1.0\" \"cython<=0.27\" setuptools wheel pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install additional build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install \"sphinx<1.7\" \"sphinx_rtd_theme<0.3\"\n \n cd ${ROOT_PATH}\n # Build and install MDAnalysis with optimizations disabled to avoid timeouts\n CFLAGS=\"-O0\" CXXFLAGS=\"-O0\" micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install --no-deps -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='a1bca526f473325f91c12fb15c887243a2a9244b', commit_date=1646736472.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install \"cython<3.0\" numpy pytest pytest-xdist sphinx sphinx_rtd_theme\n # Build and install MDAnalysis in development mode with older Cython version\n cd ${ROOT_PATH}\n # First install the core package\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable package/\n # Then install the test suite\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable testsuite/\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='a3672f216aa162f2549d1712fad0118b2cc98d49', commit_date=1734398599.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip wheel setuptools build\n micromamba run -n \"asv_${version}\" pip install numpy cython pytest pytest-xdist sphinx sphinx_rtd_theme\n \n # Additional dependencies specific to MDAnalysis\n micromamba run -n \"asv_${version}\" pip install gsd mmtf-python networkx scipy tqdm packaging matplotlib biopython griddataformats\n \n # Build and install MDAnalysis\n cd ${ROOT_PATH}\n if [ -d \"package\" ]; then\n cd package\n fi\n \n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" python -m build\n micromamba run -n \"asv_${version}\" pip install dist/*.whl\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable .\n else\n echo \"Neither pyproject.toml nor setup.py found in the root directory\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='a6034750dc47c8904a297efa184292c73c0690bb', commit_date=1692115614.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy \"packaging<22\" pytest\n \n # Install package in development mode\n if [ -f \"package/setup.py\" ]; then\n cd package\n fi\n \n # Try to build and install\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .\n \n # Return to root directory\n cd ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='a64eed98b38307e4699b59eef9f265cbead37ad6', commit_date=1607980019.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest sphinx sphinx-sitemap sphinx-rtd-theme\n \n # Install MDAnalysis in development mode with explicit numpy dependency\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --no-deps --editable .\n micromamba run -n \"asv_${version}\" pip install numpy scipy\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='a6edec02af44fbb4589ef1da25a54a4cc8895ee4', commit_date=1671201733.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n\n # Install ASV\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Install MDAnalysis-specific dependencies\n micromamba run -n \"asv_${version}\" conda install -y -c conda-forge gsd netcdf4 bzip2 mmtf-python\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install pytest-xdist sphinx sphinx_rtd_theme\n\n # Ensure we're in the root directory before building\n cd \"${ROOT_PATH}\"\n\n # Build and install MDAnalysis with optimizations\n export CFLAGS=\"-O3\"\n export CXXFLAGS=\"-O3\"\n \n # First try pyproject.toml-based install\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation -v -e .\n # Fallback to setup.py if exists\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" python setup.py develop\n else\n echo \"Neither pyproject.toml nor setup.py found. Checking package subdirectories...\"\n # Check for package subdirectories\n if [ -f \"package/pyproject.toml\" ]; then\n cd package\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation -v -e .\n cd \"${ROOT_PATH}\"\n elif [ -f \"package/setup.py\" ]; then\n cd package\n micromamba run -n \"asv_${version}\" python setup.py develop\n cd \"${ROOT_PATH}\"\n else\n echo \"No installation method found. Build failed.\"\n exit 1\n fi\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='aaa4456db50e237cf580c8c986c00d7c5fbe3075', commit_date=1703622753.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install --upgrade pip wheel setuptools\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme\n micromamba run -n \"asv_${version}\" pip install mmtf-python mock gsd networkx biopython\n\n # Navigate to package directory if needed\n if [ ! -f \"${ROOT_PATH}/setup.py\" ]; then\n cd ${ROOT_PATH}/package || exit 1\n fi\n \n # Build and install MDAnalysis with specific compiler flags and additional dependencies\n export CFLAGS=\"-DXDR_GETPOS_RETURNS_UINT32=1 -DXDR_SETPOS_RETURNS_INT=1\"\n # Try installing with conda-forge compilers first\n micromamba install -y -n \"asv_${version}\" -c conda-forge gcc gxx\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='b3208b39aab61be53f8b610f1fef628f83262205', commit_date=1725909222.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip wheel setuptools build\n micromamba run -n \"asv_${version}\" pip install numpy cython pytest pytest-xdist sphinx sphinx_rtd_theme\n # Try to find and use setup.py in package subdirectories\n cd ${ROOT_PATH}\n if [ -d \"package\" ]; then\n cd package\n fi\n # Install MDAnalysis in development mode with verbose output\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='b5ba8278b3e09b80109aa06f77832be00f8752f0', commit_date=1510724778.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install numpy cython\n \n # Build and install MDAnalysis\n cd ${ROOT_PATH}\n # For older versions of MDAnalysis, build_ext is needed before install\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='b672b595b57f6862d486391d646cf30c31fd8501', commit_date=1598490143.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis build dependencies\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy\n \n # Build and install MDAnalysis with all dependencies\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='b7f36bd148f1eed47f2dc935b89d28c8cae468c4', commit_date=1541446943.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install setuptools wheel\n \n # Install build dependencies first\n if [ -f \"${ROOT_PATH}/requirements.txt\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-deps -r ${ROOT_PATH}/requirements.txt\n fi\n \n # Build and install MDAnalysis with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='bc95e31af1bd1a583161318ab381d005452d48ea', commit_date=1611524871.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps -r ${ROOT_PATH}/requirements.txt\n # Install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='bdb1352f4743aa2101ba2d6b3c9c4fbeb5ae8584', commit_date=1680212962.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install \"setuptools<75.0.0\" wheel \"numpy<2.0.0\" cython pytest pytest-xdist sphinx sphinx-sitemap sphinx_rtd_theme\n # Install optional dependencies that may be needed for benchmarks\n micromamba run -n \"asv_${version}\" pip install gsd parmed biopython networkx tidynamics\n # Install MDAnalysis in editable mode with all dependencies\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .[test,analysis]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='be4b6ee8fa243a0d9e18b936a3d018f2b7418914', commit_date=1650356257.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n\n # Install ASV\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Install build dependencies with specific versions to avoid Cython errors\n micromamba run -n \"asv_${version}\" pip install \"setuptools<75.0.0\" wheel \"cython==0.29.36\" \"numpy<2.0.0\"\n\n # Install required dependencies\n micromamba run -n \"asv_${version}\" pip install \\\n \"mmtf-python>=1.0.0\" \\\n \"networkx>=2.0\" \\\n \"gsd>=1.9.3\" \\\n \"scipy>=1.5.0\" \\\n \"biopython>=1.80\" \\\n \"griddataformats>=0.4.0\" \\\n \"packaging\" \\\n \"tqdm>=4.43.0\" \\\n \"fasteners\"\n\n # Build and install MDAnalysis\n cd \"${ROOT_PATH}\"\n if [ -f \"package/setup.py\" ]; then\n cd package\n # Use --no-build-isolation to ensure our carefully installed dependencies are used\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --no-deps --editable .\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --no-deps --editable .\n else\n echo \"No setup.py found in expected locations\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='c07b5c8897688d778e57e1ef34be86f58c969fe7', commit_date=1607478583.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest sphinx sphinx-sitemap sphinx-rtd-theme\n \n # Build and install MDAnalysis components separately\n cd ${ROOT_PATH}/package\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\n \n cd ${ROOT_PATH}/testsuite\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='c3289d8994936ce7dbe7842e8877d597ca96360a', commit_date=1752273263.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install build setuptools wheel cython numpy\n # Build and install MDAnalysis in development mode\n cd ${ROOT_PATH}/package\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='c565b9d3a11508604a1217e37199ac17a8c618f2', commit_date=1654106359.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme setuptools wheel build\n \n # Additional dependencies specific to MDAnalysis\n micromamba run -n \"asv_${version}\" pip install mmtf-python gsd networkx biopython matplotlib tqdm pandas tidynamics\n\n # Build and install MDAnalysis from source\n cd ${ROOT_PATH}\n if [ -f \"pyproject.toml\" ]; then\n # Use build system if pyproject.toml exists\n micromamba run -n \"asv_${version}\" python -m build --wheel\n micromamba run -n \"asv_${version}\" pip install dist/*.whl\n elif [ -f \"setup.py\" ]; then\n # Use setup.py if available\n micromamba run -n \"asv_${version}\" pip install -e .\n else\n echo \"No setup.py or pyproject.toml found in package root directory.\"\n # Try looking in package subdirectory\n if [ -d \"package\" ] && [ -f \"package/setup.py\" ]; then\n cd package\n micromamba run -n \"asv_${version}\" pip install -e .\n else\n echo \"Could not find build configuration. Cannot build package.\"\n exit 1\n fi\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='c56e8df543e1aba21959a7c7b3029eacd57d9130', commit_date=1661799771.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" \"numpy<2.0.0\" scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n\n # Install MDAnalysis dependencies\n micromamba run -n \"asv_${version}\" pip install \\\n \"mmtf-python>=1.0.0\" \\\n \"gsd>=1.9.3,<4.0.0\" \\\n \"mock>=3.0.5\" \\\n \"packaging>=20.4\" \\\n \"pytest-xdist>=1.31.0\" \\\n \"pytest-cov>=2.10.1\" \\\n \"pytest-timeout>=1.4.2\" \\\n \"hypothesis>=5.19.0\" \\\n \"psutil>=4.3.1\" \\\n \"biopython>=1.80\" \\\n \"duecredit>=0.9.0\" \\\n \"griddataformats>=0.4.0\" \\\n \"tqdm>=4.43.0\" \\\n \"joblib>=0.12\" \\\n \"fasteners>=0.15\" \\\n \"networkx>=2.0\" \\\n \"threadpoolctl>=2.0.0\"\n\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Build and install MDAnalysis in editable mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='c5cbc2551c1175e8d13887783c7ab2894607ac92', commit_date=1671293813.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with required dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme\n \n # Additional dependencies that might be needed for compilation\n micromamba install -y -n \"asv_${version}\" -c conda-forge gsd netcdf4 bzip2 gcc gxx\n \n # Install MDAnalysis with verbose output and no build isolation\n cd \"${ROOT_PATH}\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='c620b141f018628356bb9cdd16eefa640b6080ba', commit_date=1671200774.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers cmake\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Install build dependencies and required packages\n micromamba run -n \"asv_${version}\" micromamba install -y -c conda-forge \\\n biopython \\\n gsd \\\n griddataformats \\\n fasteners \\\n \"numpy<2.0\" \\\n \"cython<3.0\" \\\n setuptools \\\n wheel \\\n pip \\\n build\n\n # Try building and installing from source\n cd ${ROOT_PATH}\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" python -m build\n micromamba run -n \"asv_${version}\" pip install dist/*.whl\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install -e .\n else\n echo \"Neither pyproject.toml nor setup.py found in ${ROOT_PATH}\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='c6f1a5a5663913f00cc5f727ad0e662bbf23f18f', commit_date=1617010037.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis-specific dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps gsd pmda gridDataFormats mmtf-python mock biopython networkx\n \n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install \"cython<3.0\" \"numpy<2.0\" setuptools wheel\n \n # Build and install MDAnalysis in development mode with specific flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='c70504d99e8b6ff7f61778cff1f5956da708ddad', commit_date=1619628547.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest sphinx sphinx-sitemap sphinx-rtd-theme\n \n # Build and install MDAnalysis in development mode\n cd \"${ROOT_PATH}\"\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable .\n micromamba run -n \"asv_${version}\" pip install -r requirements.txt\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='c815614b5ae8ed86eaa0d68e10451fde7e72242b', commit_date=1671293292.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies with compatible versions\n micromamba run -n \"asv_${version}\" pip install \"setuptools<75.0.0\" wheel \"cython<3.0.0\" \"numpy<2.0.0\"\n \n # Install package requirements\n if [ -f \"${ROOT_PATH}/package/requirements.txt\" ]; then\n # Install requirements one by one to handle dependencies better\n while IFS= read -r requirement; do\n micromamba run -n \"asv_${version}\" pip install --no-deps \"$requirement\" || true\n done < \"${ROOT_PATH}/package/requirements.txt\"\n fi\n \n # Build and install MDAnalysis\n cd ${ROOT_PATH}\n if [ -f \"pyproject.toml\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --no-deps -e .\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-deps -e .\n else\n echo \"No pyproject.toml or setup.py found\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='cb05695ca422c216406a0eae4040c782a2a03812', commit_date=1629822068.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install setuptools wheel cython numpy scipy\n \n # Install optional dependencies that might be needed for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --no-deps matplotlib networkx gsd biopython\n \n # Install the package in editable mode with test dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable \"${ROOT_PATH}[test]\"\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='d2e22ffb0cb46af5266e39b940d7f00c1ca293c1', commit_date=1534167809.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps biopython griddataformats gsd networkx matplotlib mmtf-python tqdm tidynamics setuptools wheel\n \n # Build and install MDAnalysis in development mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='d73b653f19e8446bbb9de51bb41d71f78d148d30', commit_date=1534803427.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install numpy cython\n \n # Build and install MDAnalysis with test dependencies\n cd \"${ROOT_PATH}\"\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='da77f2bead8c4a634d2ba5b61cd7d7f841c01c0b', commit_date=1671205345.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install build setuptools wheel cython numpy pytest pytest-xdist\n # Build and install MDAnalysis using setup.py since pyproject.toml is not found\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='daee516f23ead8e42c2e42b7636f9ec243ab306e', commit_date=1603119467.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest sphinx sphinx-sitemap sphinx-rtd-theme\n \n # Build and install MDAnalysis in development mode\n cd ${ROOT_PATH}\n if [ -d \"package\" ]; then\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable ./package\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable ./testsuite\n else\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable .\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='dcfa60a2ee0bcee7f54e969666950941905d825a', commit_date=1621773545.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps -r ${ROOT_PATH}/requirements.txt\n # Install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='e213f2be8e8741efc7cdddd35dc4bd2d88e0ff85', commit_date=1745000938.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install build wheel setuptools cython numpy\n \n # Install package-specific dependencies\n cd ${ROOT_PATH}/package\n if [ -f \"requirements.txt\" ]; then\n micromamba run -n \"asv_${version}\" pip install -r requirements.txt\n fi\n \n # Build and install package\n cd ${ROOT_PATH}\n if [ -f \"package/setup.py\" ]; then\n cd package\n micromamba run -n \"asv_${version}\" pip install -e .\n else\n echo \"No setup.py found in package directory\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='e3966303776577e15a043daeceff5a591370398a', commit_date=1534255980.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install setuptools wheel\n \n # Install additional build dependencies\n micromamba run -n \"asv_${version}\" pip install six biopython networkx gsd griddataformats mmtf-python mock joblib\n \n # Install in editable mode with test dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='e8fbd529fc55cb187d38bdef141d74757f22bdc5', commit_date=1594518308.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # MDAnalysis specific build dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps -r ${ROOT_PATH}/requirements.txt\n # Install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}[test]\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='eab18cb8418ddb1dd72b44f474833de4a2999884', commit_date=1654100638.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers cmake\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n\n # Install build dependencies and required packages\n micromamba run -n \"asv_${version}\" micromamba install -y -c conda-forge \\\n biopython \\\n gsd \\\n griddataformats \\\n fasteners \\\n mmtf-python \\\n networkx \\\n scipy \\\n matplotlib \\\n tqdm \\\n \"cython<3.0\" \\\n \"numpy<2.0\" \\\n pip \\\n setuptools \\\n wheel \\\n build\n\n # Try building and installing with specific C compiler flags\n cd ${ROOT_PATH}\n export CFLAGS=\"-fcommon\"\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation -v .\n\n # If that fails, try alternative installation method\n if [ $? -ne 0 ]; then\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install --no-deps -e .\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='eae5845cf5488ae1db1cdcc2075f68406291721e', commit_date=1517964764.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis specific dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps six mmtf-python mock biopython networkx gsd joblib setuptools wheel\n \n # Build and install MDAnalysis in development mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='ee4759293e1a4a5109c6b66e133acb1af7d24b0d', commit_date=1567703043.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest\n \n # Install MDAnalysis in development mode with specific build settings\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='f5e9603f35b1e1587c1a1583793374fbfa0f80c5', commit_date=1629232880.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis dependencies\n micromamba run -n \"asv_${version}\" pip install \\\n \"cython>=0.29.13\" \\\n \"numpy>=1.16.0\" \\\n \"biopython>=1.74\" \\\n \"networkx>=1.0\" \\\n \"griddataformats>=0.4.0\" \\\n \"mmtf-python>=1.0.0\" \\\n \"gsd>=1.9.3\" \\\n \"scipy>=1.0.0\" \\\n \"joblib\" \\\n \"mock\" \\\n \"packaging\" \\\n \"pytest\" \\\n \"pytest-xdist\" \\\n \"pytest-cov\" \\\n \"pytest-timeout\" \\\n \"psutil\" \\\n \"hypothesis\" \\\n \"matplotlib>=1.5.1\" \\\n \"tqdm>=4.43.0\" \\\n \"fasteners\" \\\n \"duecredit\"\n \n # Build and install MDAnalysis in development mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='f7a6f47e9c8c4637770c2c0cc0c20da841d11622', commit_date=1516881817.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers setuptools pip wheel\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps biopython griddataformats gsd networkx matplotlib mmtf-python tqdm tidynamics six\n \n # Build and install MDAnalysis in development mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install --no-deps -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='fb9e0bc786b21c15cefe0027fc83a441e1b19950', commit_date=1685186356.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n\n # Install ASV\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install build dependencies for MDAnalysis\n micromamba run -n \"asv_${version}\" pip install cython numpy pytest pytest-xdist sphinx sphinx_rtd_theme setuptools wheel build\n \n # Additional dependencies specific to MDAnalysis\n micromamba run -n \"asv_${version}\" pip install packaging mmtf-python gsd networkx matplotlib tqdm pandas biopython griddataformats scipy\n\n # Ensure we're in the root directory\n cd \"${ROOT_PATH}\"\n \n # Build and install MDAnalysis\n if [ -f \"package/setup.py\" ]; then\n cd package\n micromamba run -n \"asv_${version}\" pip install -e .\n cd ..\n elif [ -f \"setup.py\" ]; then\n micromamba run -n \"asv_${version}\" pip install -e .\n else\n echo \"No setup.py found in expected locations\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='fe22dc3794f1f5d466f9128e4c7050fa0d58e62f', commit_date=1619962288.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis-specific dependencies\n micromamba run -n \"asv_${version}\" pip install --no-deps gsd pmda gridDataFormats mmtf-python mock biopython networkx\n \n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install cython numpy setuptools wheel\n \n # Build and install MDAnalysis in development mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='fed8be34a3434a621bacd438d2f9307139a24511', commit_date=1511384425.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Skip Python 2.7 as it's not available in conda-forge anymore\n if [[ \"$version\" == \"2.7\" ]]; then\n echo \"Skipping Python 2.7 as it's no longer supported\"\n continue\n fi\n\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" \"numpy>=1.16\" \"scipy>=1.5\" cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis dependencies for the 2017 commit\n micromamba run -n \"asv_${version}\" pip install \"cython>=0.16\" \"biopython>=1.71\" \\\n \"networkx>=1.0\" \"griddataformats>=0.4.0\" \"six>=1.4.0\" \"mmtf-python>=1.0.0\" \"gsd>=1.4.0\" \\\n \"mock>=2.0.0\" \"psutil>=4.0.0\" \"fasteners>=0.12.0\" \"matplotlib>=1.5.1\" \\\n \"tqdm>=4.43.0\" \"packaging>=20.0\" \"pytest>=3.3.0\" \"pytest-xdist>=1.4.0\" \"pytest-cov>=2.5.1\"\n \n # Build and install MDAnalysis\n cd ${ROOT_PATH}\n # Use older build approach appropriate for 2017 commit\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation -e .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha='ff7ffa10901e2df2be12c3d3dd78e4e0a262e90e', commit_date=1614816697.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n # Create environment with core dependencies\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n \n # Install MDAnalysis dependencies with specific version constraints\n micromamba run -n \"asv_${version}\" pip install \"cython>=0.29.13\" \"numpy>=1.16.0\" \"biopython>=1.74\" \"networkx>=1.0\" \\\n \"griddataformats>=0.4.0\" \"mmtf-python>=1.0.0\" \"gsd>=1.9.3\" \"scipy>=1.0.0\" \"joblib\" \"mock\" \"packaging\" \\\n \"pytest\" \"pytest-xdist\" \"pytest-cov\" \"pytest-timeout\" \"psutil\" \"hypothesis\"\n \n # Build and install MDAnalysis in development mode with explicit numpy requirement\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='mdanalysis', repo='mdanalysis', sha=None, commit_date=0.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy \"cython<3\" joblib threadpoolctl pytest compilers meson-python\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # if maintainer/install_all.sh exists run it with develop\n if [[ -f \"maintainer/install_all.sh\" ]]; then\n micromamba activate \"asv_${version}\"\n working_dir=$(pwd)\n cd \"$ROOT_PATH\" || exit 1\n bash maintainer/install_all.sh develop\n cd \"$working_dir\" || exit 1\n else\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .\n fi\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='modin-project', repo='modin', sha='be3e716107a185961fc209c343b0feefe0fb9751', commit_date=1684841207.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='modin-project', repo='modin', sha='c5aac3ef99d14305ea9a130e14155fc37495e199', commit_date=1608304159.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='napari', repo='napari', sha='3b6800763f97452ccf8230abf5a65fd6beedd247', commit_date=1606539287.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='napari', repo='napari', sha='dfeefb43af6538dd1e5ad7820128dfc844dc54b1', commit_date=1723973799.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='networkx', repo='networkx', sha='1071e14b81baaa4f0becc1849e85839ae8c671d9', commit_date=1716269137.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='networkx', repo='networkx', sha='81df24ce59b5b4fddfa65cd0a57db96748bba904', commit_date=1745208237.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n if [[ \"$version\" == \"3.13\" ]]; then\n echo \"Skipping unsupported Python version: $version\"\n continue\n fi\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='newton-physics', repo='newton', sha='5b18850fd8243e4c707b596880c01c1966e5168e', commit_date=1753825967.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='newton-physics', repo='newton', sha='cd07ab2c989df6392253a77e82333ec57a433e94', commit_date=1751556054.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='nilearn', repo='nilearn', sha='6c1a76e37cf1c0dd6b800271cb3994f3efd38d07', commit_date=1744125996.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='nilearn', repo='nilearn', sha='73fe9520ea705056f89b1cd5982947de13d515a0', commit_date=1754650581.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='numpy', repo='numpy', sha='4092a9e160cc247a4a45724579a0c829733688ca', commit_date=1459109632.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='numpy', repo='numpy', sha='9c3f0bb9955d530d43487f2ab800c765c83a3ea7', commit_date=1716460609.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --use-pep517 ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='nvidia', repo='warp', sha='5495dc762dae2f09b648588d0f979e03ea3ef88b', commit_date=1741386626.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy pytest ninja cmake\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n # Run build_lib.py first as required by the error message\n micromamba run -n \"asv_${version}\" python ${ROOT_PATH}/build_lib.py\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --verbose --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='nvidia', repo='warp', sha='626fc946dcfe2150b6aed956c57e89ec907ca44a', commit_date=1746035128.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy pytest ninja cmake\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # WARP specific build requirements\n micromamba run -n \"asv_${version}\" pip install setuptools wheel\n # Run build_lib.py first as required by the error message\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python build_lib.py\n # Build and install WARP with CUDA support\n CUDA_PATH=/usr/local/cuda micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='nvidia', repo='warp', sha='9958a89058d16e7ac634c46b37d9aad6c14b3f10', commit_date=1740864850.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest ninja cmake\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # WARP specific build requirements\n micromamba run -n \"asv_${version}\" pip install torch cuda-python\n # Run build_lib.py first as required by the error message\n cd ${ROOT_PATH}\n WARP_BUILD_CUDA=1 micromamba run -n \"asv_${version}\" python build_lib.py\n # Now install in editable mode\n WARP_BUILD_CUDA=1 micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='nvidia', repo='warp', sha='a447d70c372b4dbe1b574ebf587c51c9742272db', commit_date=1748714623.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy pytest ninja cmake compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # WARP specific build steps\n micromamba run -n \"asv_${version}\" pip install warp-lang\n # Run build_lib.py first as required by the error message\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python build_lib.py\n # Now try the editable install\n micromamba run -n \"asv_${version}\" pip install --no-deps --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='nvidia', repo='warp', sha='a81f7e773f2905e06fe52262002c2e34a5daa4d8', commit_date=1743362346.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy cmake ninja pytest\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install --upgrade pip setuptools wheel\n # Run build_lib.py first as required by the error message\n micromamba run -n \"asv_${version}\" python ${ROOT_PATH}/build_lib.py\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='nvidia', repo='warp', sha='d641e89a288746c380ef9b4871f45b0d862fd69e', commit_date=1755703901.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython pytest ninja cmake\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n # WARP specific dependencies and build requirements\n micromamba run -n \"asv_${version}\" pip install meson-python build wheel setuptools\n # First run build_lib.py to generate required libraries\n cd ${ROOT_PATH}\n # Add missing climits header to fix build error\n sed -i '1i\\#include ' warp/native/bvh.cpp\n micromamba run -n \"asv_${version}\" python build_lib.py\n # Then install WARP without CUDA support since error suggests basic build issues first\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable .\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='nvidia', repo='warp', sha='dc693d89d5b85ac7e72c7f4e226eb58a5d54131f', commit_date=1751384285.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Ensure the necessary libraries are built before attempting to install the package\n micromamba run -n \"asv_${version}\" python ${ROOT_PATH}/build_lib.py\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='nvidia', repo='warp', sha=None, commit_date=0.0)": { - "building_data": "#!/usr/bin/env bash\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# only run the below if condition if bvh.cpp is present\ngrep -q '^#include ' \"${ROOT_PATH}/warp/native/bvh.cpp\" || sed -i 's|#include |#include \n#include |' \"${ROOT_PATH}/warp/native/bvh.cpp\"\n\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" python \"${ROOT_PATH}/build_lib.py\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='optuna', repo='optuna', sha='445048a74c9090e60a82a49605044cc42727642a', commit_date=1650874136.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='optuna', repo='optuna', sha='c634449ebbd2160ee44a1845d1efd6c20ee200ae', commit_date=1714538588.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pandas-dev', repo='pandas', sha='2f4c93e8322775a0bb06429a02429b95ba6abb26', commit_date=1698253642.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || {\n echo \"Editable install failed, attempting wheel install\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\n }\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pandas-dev', repo='pandas', sha='94a8af55b703fbaea19da9902a9790c7b93dc0ad', commit_date=1686591905.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || {\n echo \"Editable install failed, attempting wheel install\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\n }\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='posthog', repo='posthog', sha='16075ff5c3671587db9e6a6a3ed396058d0f413b', commit_date=1733419912.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Attempt to fix the pyproject.toml issue by ensuring the 'version' field is present\n if ! grep -q \"version\" \"${ROOT_PATH}/pyproject.toml\"; then\n echo \"version = '0.1.0'\" >> \"${ROOT_PATH}/pyproject.toml\"\n fi\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='posthog', repo='posthog', sha='3578a0c1c2b6f4425dc0fddf31d3d256bbf3fc87', commit_date=1655908403.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pvlib', repo='pvlib-python', sha='3692427bef155a32eac525fe965ed8d407a7846e', commit_date=1660774705.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pvlib', repo='pvlib-python', sha='b8c56c5e725ed12f15342c5336f71d52ec8008ce', commit_date=1749300951.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pybamm-team', repo='pybamm', sha='b1fc5950f0d8e5c8e104e00573fdff5561818014', commit_date=1723152711.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pybamm-team', repo='pybamm', sha='e1f52ffcf9811bb7d5046af47c48a2291bfd50b8', commit_date=1653925577.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} --constraint \"<3.10,>=3.7\"\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pydata', repo='bottleneck', sha='c5356daccdab4afc293f56d4b4ff47c154be5bcd', commit_date=1716493787.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pydata', repo='bottleneck', sha='dc01fad42713181b1f2bb13a965eb0651d1308b6', commit_date=1729241092.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} --ignore-requires-python\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pydata', repo='xarray', sha='4cbb7cbd86af1ccfe2b3b98f0e36a410f86d77ef', commit_date=1523669869.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pydata', repo='xarray', sha='dd6222f01a476caa96630e26d5b02fad6777a886', commit_date=1747916222.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pydicom', repo='pydicom', sha='50cd981a068c74b01d854c6cac9bb897fe0b74a9', commit_date=1726970247.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install flit-core\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pydicom', repo='pydicom', sha='87266d96add6a6cccaa3032bbc96b0e3009c6dea', commit_date=1690047796.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install flit-core\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pydicom', repo='pynetdicom', sha='1b701e898b489d561884d20ad78920607a6d1df0', commit_date=1563786471.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pydicom', repo='pynetdicom', sha='bb1f9d164d5c408fc28e02f924b3821b92cb45ad', commit_date=1555925288.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pymc-devs', repo='pymc', sha='6360b005fc610d0505f84885743215a3e09f046e', commit_date=1614035911.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pymc-devs', repo='pymc', sha='a06081e1e9649bd56e3528cb96380efdf6bb2dc0', commit_date=1710322397.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pysal', repo='momepy', sha='6467ae26e8bfca9ba91e7795ab7899aaf89c576c', commit_date=1604013921.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pysal', repo='momepy', sha='7619f2f760d9027434369114a49150e3d3a483fb', commit_date=1603224289.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-adaptive', repo='adaptive', sha='50fae4341c53439f57fcea63346ba3581bd187d4', commit_date=1665457361.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-adaptive', repo='adaptive', sha='a9bb7f612717000dd2cf6899d8ebbf479807f6f5', commit_date=1550239213.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha='0422c82a80b3ec0dc7fcbc69562f99e35358ee80', commit_date=1680293750.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # Install additional dependencies required by python-control\n micromamba run -n \"asv_${version}\" pip install numpy scipy matplotlib\n \n # Build and install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable \"${ROOT_PATH}[test]\"\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha='283f5e7480a7c39f0e11abe63e3c1ecd8b5d8911', commit_date=1616243491.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # Install required dependencies for python-control\n micromamba run -n \"asv_${version}\" pip install numpy scipy matplotlib\n\n # Create version file to fix the invalid version error and setup.cfg\n mkdir -p \"${ROOT_PATH}/control\"\n echo \"__version__ = '0.0.0.dev0'\" > \"${ROOT_PATH}/control/version.py\"\n echo \"[metadata]\nversion = 0.0.0.dev0\" > \"${ROOT_PATH}/setup.cfg\"\n \n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install setuptools wheel build\n\n # Try installing in development mode with all dependencies\n cd \"${ROOT_PATH}\"\n micromamba run -n \"asv_${version}\" python -m build --wheel\n micromamba run -n \"asv_${version}\" pip install dist/*.whl\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha='2ce4bbd983ce00aa2998bce00c7c161ff7c0f1d5', commit_date=1640530701.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # Install required dependencies for python-control\n micromamba run -n \"asv_${version}\" pip install numpy scipy matplotlib\n\n # Create version file since setup.py fails due to invalid version\n echo \"__version__ = '0.0.0.dev0'\" > \"${ROOT_PATH}/control/version.py\"\n \n # Install the package in development mode with all dependencies\n cd \"${ROOT_PATH}\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha='4ef15c4e95ec73cf5fc4d571be103e67b00caadf', commit_date=1647713524.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # Install required build dependencies\n micromamba run -n \"asv_${version}\" pip install numpy scipy matplotlib setuptools wheel\n\n # Fix the version in setup.py before installing\n sed -i 's/version='\"'\"'dev'\"'\"'/version='\"'\"'0.0.0.dev0'\"'\"'/' \"${ROOT_PATH}/setup.py\"\n \n # Build and install in editable mode with test dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable \"${ROOT_PATH}[test]\"\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha='82f3fe343422289f076d6883a2448d169606f821', commit_date=1701474288.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # Install additional dependencies required by python-control\n micromamba run -n \"asv_${version}\" pip install numpy scipy matplotlib\n \n # Build and install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable \"${ROOT_PATH}[test]\"\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha='a042895507367a5d001af7d3febfd8f386497554', commit_date=1739343810.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # Install additional dependencies required by python-control\n micromamba run -n \"asv_${version}\" pip install numpy scipy matplotlib\n \n # Build and install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable \"${ROOT_PATH}[test]\"\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha='a111b03e651d7c1828d264c1b143d9ccc9030b3f', commit_date=1640969033.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # Install required dependencies for python-control\n micromamba run -n \"asv_${version}\" pip install numpy scipy matplotlib\n\n # Generate version file since setup.py shows version error\n echo \"__version__ = '0.0.0.dev0'\" > \"${ROOT_PATH}/control/version.py\"\n \n # Install the package in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable \"${ROOT_PATH}\"\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha='abeb0e46a3d56c98b4534f73202a5a7ef5a0af87', commit_date=1751727883.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # Install additional dependencies required by python-control\n micromamba run -n \"asv_${version}\" pip install numpy scipy matplotlib\n \n # Build and install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable \"${ROOT_PATH}[test]\"\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha='c3c659638fb22bde11e40868f80f540060c50b40', commit_date=1616196419.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # Install required dependencies for python-control\n micromamba run -n \"asv_${version}\" pip install numpy scipy matplotlib\n\n # Generate version file since setup.py shows version error\n echo \"__version__ = '0.0.0.dev0'\" > \"${ROOT_PATH}/control/version.py\"\n \n # Install the package in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable \"${ROOT_PATH}\"\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha='f7d18f17bf90bfb99a06648982b22d1e4af6ccd2', commit_date=1686374157.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # Install additional dependencies required by python-control\n micromamba run -n \"asv_${version}\" pip install numpy scipy matplotlib\n \n # Build and install in editable mode with all dependencies\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable \"${ROOT_PATH}[test]\"\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-control', repo='python-control', sha=None, commit_date=0.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n # if make_version exists run it\n if [[ -f \"${ROOT_PATH}/make_version.py\" ]]; then\n micromamba run -n \"asv_${version}\" python \"${ROOT_PATH}/make_version.py\"\n fi\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-hyper', repo='h11', sha='80805f06e5859692a9dcc32484b2745b7f215a8a', commit_date=1597311658.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='python-hyper', repo='h11', sha='d64468627a4adeb4140e1480a836c85ba903a2c6', commit_date=1522821575.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pytroll', repo='satpy', sha='94fc4f7749bc2a27f76c7a16a7289037d41120f2', commit_date=1644305622.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pytroll', repo='satpy', sha='aa7f0dd616a973eb2de0e5b77a9ec51d08cc601c', commit_date=1659722497.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pywavelets', repo='pywt', sha='21a30d2af5aca2b3c5f827aa407cb549e2c99fb9', commit_date=1551150162.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} --use-pep517\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='pywavelets', repo='pywt', sha='74b44217a66199fa2e0f8e036955fc00f5cbc21a', commit_date=1708613848.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='qiskit', repo='qiskit', sha='023cbd4ec646fc81e0434b6de434bb477ad94979', commit_date=1755506488.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n if [[ \"$version\" == \"3.13\" ]]; then\n echo \"Skipping unsupported Python version: $version\"\n continue\n fi\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='qiskit', repo='qiskit', sha='b12e9ec3cff020983e3dde9b16f5ccc4fd0f4963', commit_date=1715792171.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython setuptools-rust\n micromamba run -n \"asv_${version}\" pip install rustup\n micromamba run -n \"asv_${version}\" rustup toolchain install stable\n micromamba run -n \"asv_${version}\" rustup default stable\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='quantumlib', repo='cirq', sha='01ae51eebf3b18a5cbee9fc0c697d4e1511c07f2', commit_date=1640302944.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --no-use-pep517 ${ROOT_PATH} || {\n echo \"Editable install failed, attempting wheel install\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --no-use-pep517 ${ROOT_PATH}\n }\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='quantumlib', repo='cirq', sha='1a75d9faee3b78765bb4badcf73e3d3e72a3ca2a', commit_date=1744652301.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='rockhopper-technologies', repo='enlighten', sha='d239fa5496a6c342b85343d53a4c16d8db9a87a5', commit_date=1698502059.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-image', repo='scikit-image', sha='0ff35b21293405e9922e44b9dda3818db960b87e', commit_date=1674543103.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython pythran\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-image', repo='scikit-image', sha='c7479c1d7430020a9ee9d92f25a1f0c33e36a7c1', commit_date=1597584715.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='044f1b00a62c9083ce3212a3e69046c9afac0de6', commit_date=1662470783.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies for scikit-learn\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='04860335c82d557e663b4cfa218663d1c7bf65fd', commit_date=1689974588.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='05ce8141bc71ad21e55be4d1b3f6609f65e91e49', commit_date=1603277025.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='06e566eb86cfd8c6107cf3bc2b477c97b80002a3', commit_date=1705578508.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='08b6157b0e18480569a5cc08efd44dabad9e60ce', commit_date=1701071115.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='092caed407f3b60de7677d4353bfe0db20a2faab', commit_date=1682603301.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='0937b4ab48136eb161ead4abd4806d0708b1bb4c', commit_date=1607961058.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to handle compatibility\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<61.0.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set compiler flags for warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Create a temporary setup.cfg to handle package discovery\n cat > ${ROOT_PATH}/setup.cfg << EOF\n[options]\npackages = find:\n\n[options.packages.find]\ninclude = sklearn*\nexclude = build_tools*, maint_tools*, asv_benchmarks*\nEOF\n \n # Install scikit-learn in editable mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e .\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='0a5af0d2a11c64d59381110f3967acbe7d88a031', commit_date=1599664355.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='0b45ac56f1c6acbd254f77fe562aa4919be6ca21', commit_date=1627651692.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set compiler flags and build options\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n \n # Install scikit-learn in editable mode with specific build configuration\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='0c65bbfe8ce816a181780d2a249c94dd653e115a', commit_date=1642433763.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='0c74b8b7d5cdb60dc3a3240cdb36af40b9f40288', commit_date=1615733031.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid compatibility issues\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<61.0.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set environment variables for build\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SKLEARN_SKIP_NETWORK_TESTS=1\n \n # Install scikit-learn in development mode with explicit package specification\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e . --config-settings=package=sklearn\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='0de3b0d1eaacee9f7b15cabc05752cba945c7621', commit_date=1644500459.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='1045d16ec13b1cab7878e7555538573d1884aad3', commit_date=1614793397.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid compatibility issues\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<61.0.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set environment variables for build\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SKLEARN_SKIP_NETWORK_TESTS=1\n \n # Install scikit-learn in development mode with explicit package specification\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e . --config-settings=package=sklearn\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='119b837a43d939ec02cf2aeba5bd203f8ebab4c7', commit_date=1649335379.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='1415a2890b0451d80feef2d81e921a15d2b9d680', commit_date=1685431571.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='15cb8695a27eb8d4dc281ac3c937e12db8b5a6c1', commit_date=1604221237.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to handle the multiple packages error\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<61.0.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set environment variables for build\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SKLEARN_SKIP_NETWORK_TESTS=1\n \n # Create setup.cfg to explicitly specify packages\n cat > ${ROOT_PATH}/setup.cfg << EOF\n[options]\npackages = find:\npackage_dir =\n = .\n\n[options.packages.find]\ninclude = sklearn*\nexclude = build_tools*, maint_tools*, asv_benchmarks*\nEOF\n \n # Install scikit-learn in editable mode with explicit package specification\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable .\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='16625450b58f555dc3955d223f0c3b64a5686984', commit_date=1652277602.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='191f96908d6bbb46cf7293fb0ac1299f1e8b783d', commit_date=1719904631.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='1a78993217b52745d63a3495a819efd7f1b0530a', commit_date=1691676945.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='1bb0306a1309f9a57d8c652dec731a95cbd0052b', commit_date=1610422145.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid compatibility issues\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<61.0.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set environment variables for build\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SKLEARN_SKIP_NETWORK_TESTS=1\n \n # Use setup.py directly to avoid package discovery issues\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py develop --no-deps\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='1d1aadd0711b87d2a11c80aad15df6f8cf156712', commit_date=1642210241.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='1db03ce68be362baa12330ae3f42b9673863fa52', commit_date=1626800410.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set compiler flags and build options\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n \n # Install scikit-learn in editable mode with specific build configuration\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='1fbf5fb317034e604d7ae71f368cd9e5b236ec0c', commit_date=1694855355.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='210740408a732940430047fe9437c2193735573f', commit_date=1719586131.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='226da0d7c458816776549c2580abaa4782dc4c48', commit_date=1637400914.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='28831879f2b5a8f623623735480399735c1bb742', commit_date=1755578702.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='2b2e2903e5635dd93a741c955a87260fb69cfc3d', commit_date=1720704772.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='2ca6d4d2fd53a53f92f8b220edee862553b76ffa', commit_date=1750250202.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='2e213c618841f3635885bab034606512c40a7fd4', commit_date=1646246849.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='320b4c61f97fec3facc3c4c2b4cf9351d3425b44', commit_date=1596283836.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='32c5d05cbd7551fd983a250945013239e0e5cb94', commit_date=1631705680.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='3cdfb56d340e77c2ffb5ad341ec4abebd8094a25', commit_date=1608655766.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='3d0a98d7765ccaf5aede89d0ec1088fda24e0465', commit_date=1644832679.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='408f561b87f9955e92619cbf924d595a2655344f', commit_date=1678175921.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='432778464cbffc8ca675c1df786c31f8c23fc62c', commit_date=1642715056.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='45a817933ef51a24f0c5863c1026b4fe664b26fa', commit_date=1608647213.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid compatibility issues\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<61.0.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set environment variables for build\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SKLEARN_SKIP_NETWORK_TESTS=1\n \n # Use setup.py directly to handle the multiple packages issue\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py develop --no-deps\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='4685cf624582cbc9a35d646f239347e54db798dc', commit_date=1652472968.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='49d26cb63fefe43c9b310136e4f2c172d8c433cb', commit_date=1599140563.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools==60.0.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and environment variables\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SKLEARN_SKIP_NETWORK_TESTS=1\n\n # Ensure we're in the root directory\n cd \"${ROOT_PATH}\"\n\n # Install scikit-learn in development mode with specific build settings\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='4bc61a09eac44a86758c6a02a2b47f912a696d3b', commit_date=1719575535.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='4e44edebf9e811c718c2842b65db2eb41ba01786', commit_date=1723709827.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='52d93e141a5d874bd288f15cc1d8990f09721aad', commit_date=1754304060.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='55a65a2fa5653257225d7e184da3d0c00ff852b1', commit_date=1695213631.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='584d413fec25fb5c38f06c1fe88e652111395330', commit_date=1675930888.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='598045569c8f96fb345059f5316ea8903d374ff4', commit_date=1615476313.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid compatibility issues\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<61.0.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set environment variables for build\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SKLEARN_SKIP_NETWORK_TESTS=1\n \n # Install scikit-learn in development mode with explicit package specification\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e . --config-settings=package=sklearn\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='5a332e77a10a44107276843d8532ef79f239c8f3', commit_date=1681854133.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='5a850eb044ca07f1f3bcb1b284116d6f2d37df1b', commit_date=1657115862.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies for scikit-learn\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='5b46d01f8d5015114644b91ce88ee4bc4fa5386d', commit_date=1680769691.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='5c4e9a0fd82dd096bbdf78b69c264a741c768a86', commit_date=1690911539.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='5ffec3233034e0413f548380d4a22f4e0eecae94', commit_date=1678722797.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='63a1a31a17f9bd9cdf617b2cf04bfaf2f32f0a17', commit_date=1639082235.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='63ff30396a062a88387529a28bdb8a1675e9332e', commit_date=1678351529.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='64d54483edfa55ab44d836f9b08ff1bd38f7f6bb', commit_date=1627659978.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set compiler flags and build options\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n \n # Install scikit-learn in editable mode with specific build configuration\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='6595229d116b128c5b36f204dc941f69e14abc7f', commit_date=1718288797.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='673f6259f3fb7bd2a057b1889e23b280fe638998', commit_date=1612389138.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='67ca4dda1d61c9ad95ed68b04cb40da2c822e960', commit_date=1678114713.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='687e84a126965b4179b02d86041a9e997eba87c9', commit_date=1751036214.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='691b00f4b7d169d38cc46cf14668a5029b2df8eb', commit_date=1728910531.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='6d7d0f275db08ca97e7ce9765e5e8f0604e490dd', commit_date=1641981733.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='6f91cbebe5c439d5712860315616b70cd2ca9f87', commit_date=1633437528.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='701537ecca85a333449814c82ac2b78db5f534a8', commit_date=1682379515.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='70ca21f106b603b611da73012c9ade7cd8e438b8', commit_date=1713791446.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='767e9ae7e4fec8bea36c0433ab42f500aacfde64', commit_date=1651223539.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='769da3d51feef52b97b8129bf4700cf088a247b2', commit_date=1613120619.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to handle distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" wheel\n\n # Set compiler flags for warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Build and install scikit-learn in development mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py build_ext --inplace\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation -e .\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='76c28285d3d3eb6a2834b7d1db01e296187c60b8', commit_date=1677233852.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='7798fd829d0eb3637da17cc5cb359bf52efa551f', commit_date=1630429058.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set compiler flags and build options\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n \n # Install scikit-learn in editable mode with specific build configuration\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='7a2f5ca3a8478333f194a085b0c3635d75fcdf4d', commit_date=1678442780.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='7aabe53e730947df0f6f1f85d640e6daea5bfc9f', commit_date=1634742992.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='7af0a18996efb10fcbcdb15c7c132d2eb36be736', commit_date=1687508727.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='7b715111bff01e836fcd3413851381c6a1057ca4', commit_date=1624465784.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SKLEARN_NO_OPENMP=1 # Disable OpenMP to avoid potential build issues\n\n # Install scikit-learn in editable mode with optimizations\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py develop --no-deps\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='7c835d550c1dcaf44938b1c285db017a773d7dba', commit_date=1662054353.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies for scikit-learn\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='7ddd6e5d34911346afe6839c16fc06fc820fc013', commit_date=1618947559.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='7f1d4d05064a160e19f786bfbac8996cf0ecac5d', commit_date=1707518612.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='80ebe21ec280892df98a02d8fdd61cbf3988ccd6', commit_date=1638310769.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='830864629e21509980a9c3904c9bb7bf2be8fec5', commit_date=1655213679.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies for scikit-learn\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='8525ba5d3c3b5423a5599e654ce73b931882a434', commit_date=1754632277.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='863c552c448118249563f0e709ea83a1a9b2fc7f', commit_date=1612010007.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='871892cef9bc70224233fdf2140c896874c07b57', commit_date=1659000389.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies for scikit-learn\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='88c2db24bd3efb631372aa971270d6cb690d914d', commit_date=1726476355.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='897c0c570511be4b7912a335052ed479ac5ca1f3', commit_date=1705781316.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='8a71b840d3d7f6e5db9f9faf3b6c44f8ed6a3850', commit_date=1705345976.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='8a7684705f636a8dfcde8e2239d2e0bcd624ac54', commit_date=1647426404.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='8ad7c3f02daae525ee83231fbd33fb65e8e05288', commit_date=1633621378.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='8bc36080d9855d29e1fcbc86da46a9e89e86c046', commit_date=1622540296.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n \n # Install scikit-learn in editable mode with specific build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='8e64458f9f348885e6692639d7c8ebaf0adafca0', commit_date=1625562575.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SKLEARN_NO_OPENMP=1 # Disable OpenMP to avoid potential build issues\n\n # Install scikit-learn in editable mode with optimizations\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py develop --no-deps\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='8eef0e767c4bdd2fdb83f51b162afa32386d5973', commit_date=1692883694.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='9590c07128d3bad5978f08eeb34613d347b96e38', commit_date=1719499549.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='961afc72e0222cb108b77b68c145ea4424f089da', commit_date=1751880029.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='99410b1bdea296a0df48026aaee85472bf3cb7cf', commit_date=1625818419.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SKLEARN_NO_OPENMP=1 # Disable OpenMP to avoid potential build issues\n\n # Install scikit-learn in editable mode with optimizations\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" python setup.py develop --no-deps\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='99562100e941f0972a5a65484ff80f407eeb5137', commit_date=1674572593.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='9c9c8582dff9f4563aa130ef89f155bad0051493', commit_date=1668796144.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='9e38cd00d032f777312e639477f1f52f3ea4b3b7', commit_date=1705585714.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='a09a62eda27720a0cb949ea24b1e21d358f95176', commit_date=1676040745.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='a47d569e670fd4102af37c3165c9b1ddf6fd3005', commit_date=1652372475.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='a67ebbebc173007735e62eef7878c08435d28d89', commit_date=1718987804.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='a7a416f74908cf890d1dd115b53f5811cb8e7598', commit_date=1680769655.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='a85b14d4799ba7c4e13e0e942e599f8077dc182e', commit_date=1679350355.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='a8b1905e8f977fcd4d6a348678bb1e82ed9b3310', commit_date=1606807943.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to handle compatibility\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<61.0.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set compiler flags for warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Create a temporary setup.cfg to handle package discovery\n cat > ${ROOT_PATH}/setup.cfg << EOF\n[options]\npackages = find:\n\n[options.packages.find]\ninclude = sklearn*\nexclude = build_tools*, maint_tools*, asv_benchmarks*\nEOF\n \n # Install scikit-learn in editable mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e .\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='aa2131f9bdcfa7ff0dacfd6a47c207cbb68a49fa', commit_date=1751370298.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='abbeacc2daee2b213274924a5a4ffe6cbafb0627', commit_date=1651693256.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='aca8f20db461ca0dd70b02b6a1f41b957b2b12ee', commit_date=1665069106.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies for scikit-learn\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='ad91259f20529306efe445f5a1da4dccc8c81b5a', commit_date=1663256210.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies for scikit-learn\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='b1202af3b379e698539a2719f2b1e28706ce5388', commit_date=1638654791.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='b3aea0053dadcb67adfc39a90c70ffca607a534f', commit_date=1643205359.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='b5d55b4fd19ca97d68e4e34e5822865b0a8e90d2', commit_date=1651487470.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='b609562c610822ad4b3c11a9e7a22710aba438af', commit_date=1637744681.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='b6b6f63ebefe16403d11e8a0a2281b6e2a811933', commit_date=1678791874.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='b8229daafee0e50690d4b8447f93cf1069ba6880', commit_date=1701274890.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='bc7cd3189bc817545791071515693445e1e271db', commit_date=1617352203.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='bf0886bae0ccbc8c5d285b6e2affe7e40474f970', commit_date=1619532370.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='c0eb3d37244cc4bf35b82e18bff37320e198b038', commit_date=1670930060.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build settings\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='c217527af5744b9d0db8761c1e3667552312e5e7', commit_date=1652946509.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='c300a8f2178fcae847f82ad548fe9452f2ba8bbb', commit_date=1658415495.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies for scikit-learn\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='c47205fb7d45de50de4afa9760d974e754f103e1', commit_date=1707735651.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='c63b21ec309f742defd56033eadfc8f7bf5b510b', commit_date=1711607317.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='c6ad7361c8fc68188b83070aa0b6b797058c06fa', commit_date=1646214356.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='c9138537790cc0fa352968eed927433fe17ee17c', commit_date=1701967415.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='c9525d1600ecd526b9b98e275fc1b85782c25dea', commit_date=1634072165.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='c9f9b041758c3fa5fdf74b15995a3e3607b0ad5a', commit_date=1737104589.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='caaa1f52a0632294bf951a9283d015f7b5dd5dd5', commit_date=1732650609.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='cbe8648c33b94bd919c35f4d1e2ae1c4432d9749', commit_date=1748364732.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='d5901462551283b689284e582152666faf0dc1da', commit_date=1676911719.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='d5df806c9715443f5dc7de9023a1b7aa2045eae4', commit_date=1677234005.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='d85b1d3302a3ff45179a5826a747e8ee2562f143', commit_date=1674489554.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='d8d5637cfe372dd353dfc9f79dbb63c3189a9ecc', commit_date=1644836117.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='d92c76986ac6553ce8e0fe2c1bbaea500c105cc7', commit_date=1679480310.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='dc1ea2751e8f4e18f61c7e6d767cf42c6e636256', commit_date=1608485758.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to handle compatibility\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<61.0.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set compiler flags for warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Create a temporary setup.cfg to handle package discovery\n cat > ${ROOT_PATH}/setup.cfg << EOF\n[options]\npackages = find:\n\n[options.packages.find]\ninclude = sklearn*\nexclude = build_tools*, maint_tools*, asv_benchmarks*\nEOF\n \n # Install scikit-learn in editable mode\n cd ${ROOT_PATH}\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation -e .\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='dc580a8ef5ee2a8aea80498388690e2213118efd', commit_date=1670501069.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='de67a4420f1713058070802ad593cbcd2ee2d5f3', commit_date=1677582108.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='df692c03c1a6003878c6fc4d2f9f222d304dcee3', commit_date=1649449476.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='dfaef0c6c3aef0d00c72573728c90c1d542e2957', commit_date=1657123469.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies for scikit-learn\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='dfda968f1d0b3b1ecaeb4125d3e903416eaf18ec', commit_date=1678100532.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='e113897235feaf309eaaed24001ca96f3608602f', commit_date=1648574496.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set compiler flags for potential warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Build and install scikit-learn in development mode with specific flags\n micromamba run -n \"asv_${version}\" pip install --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='e1db2a8173ca37e561cdfa4384481501c4d50868', commit_date=1644639631.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='e1e8c66e05dd638ae785855bfb637e0180aea99c', commit_date=1642748755.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='e411c29625e66f7e440f1acce4069e01201cf122', commit_date=1672782103.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='e64714637d8cc9f4724ae21ea500e4bdc57b0a39', commit_date=1629207428.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set compiler flags and build options\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n \n # Install scikit-learn in editable mode with specific build configuration\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='e7ae63f784c5f85af41cf8f346d194775f01f333', commit_date=1694440694.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='eae3f294d3ba8ae636730537faef4cdd612083ff', commit_date=1678119642.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='eb2920766d7b2ffb04359a1dc8b6c611960931b7', commit_date=1725568507.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='eb85684feb0505694e66365ba9f4d10a409f8f0b', commit_date=1697017427.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='ee524f455dbf0285f7b121a08f1e9613a518abcf', commit_date=1617906457.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='eecde00c7a706546271ff40d7d492b5f27046d2b', commit_date=1619516333.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='ef200eb16813f4e579f3a4e6cd4603e16f72f5a8', commit_date=1680030341.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='ef82b778ecaeee11d6bfd005f59e882410d330b6', commit_date=1751882162.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='f1d3417b086550be670cbfbb5b3c1760ac99203f', commit_date=1646068982.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='f4ed8ef5e4498c9de2ff4b713c1695d6f312ffba', commit_date=1733748660.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='f812e2a27619650463cb12d765f1b443b47c0828', commit_date=1628181136.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\"\n \n # Set compiler flags and build options\n export CFLAGS=\"-Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n \n # Install scikit-learn in editable mode with specific build configuration\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='f86f41d80bff882689fc16bd7da1fef4a805b464', commit_date=1695653805.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='f965fcc0634e47b7230e120850cf7bb4efeb96e7', commit_date=1674829022.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='f96ce586eecb361d53b192ea3b44098d1bd49a77', commit_date=1637843007.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with specific versions to avoid distutils deprecation\n micromamba run -n \"asv_${version}\" pip install -U \"setuptools<60.0\" \"cython<3\" \"numpy<2\" \"scipy<1.14\" pytest joblib threadpoolctl\n\n # Set compiler flags and build options\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n export SKLEARN_BUILD_PARALLEL=3\n export SETUPTOOLS_USE_DISTUTILS=stdlib\n\n # Install scikit-learn in editable mode with optimizations\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='fba028b07ed2b4e52dd3719dad0d990837bde28c', commit_date=1733159260.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='fe08016877e8bd715816cf9fbfb1fb697c3446d2', commit_date=1754300286.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='fee76cc5405c01e283a3b079dcb865f3017d5007', commit_date=1705008338.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies with newer Cython as required by error message\n micromamba run -n \"asv_${version}\" pip install -U \"cython>=3.0.10\" \"numpy<2\" \"scipy<1.14\" \"setuptools>=60\" meson-python\n \n # Set compiler flags\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha='ff9344f3d8d11d38fa3a2497199113e5bac9537c', commit_date=1666642605.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n #### BUILD STEPS GO HERE. ####\n # Install build dependencies for scikit-learn\n micromamba run -n \"asv_${version}\" pip install -U meson-python \"cython<3\" \"numpy<2\" \"setuptools==60\" \"scipy<1.14\"\n \n # Set compiler flags to handle warnings\n export CFLAGS=\"$CFLAGS -Wno-error=incompatible-pointer-types\"\n \n # Install scikit-learn in editable mode with optimized build flags\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn', repo='scikit-learn', sha=None, commit_date=0.0)": { - "building_data": "#!/usr/bin/env bash\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\napt-get update && apt-get install -y ninja-build cmake\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n #### BUILD STEPS GO HERE. ####\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n #### BUILD STEPS END HERE. ####\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn-contrib', repo='metric-learn', sha='57086e91b65b88a95c89449aa501ff68a61dc39a', commit_date=1563459886.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scikit-learn-contrib', repo='metric-learn', sha='faa240fd7469176036a91430ae6a0a45e627c94a', commit_date=1531145592.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scipy', repo='scipy', sha='83dbd97a76af8621dd0228a797f5207bed094c23', commit_date=1679643125.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython pythran pybind11\n micromamba run -n \"asv_${version}\" conda install -y -c conda-forge openblas\n micromamba run -n \"asv_${version}\" git submodule update --init\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scipy', repo='scipy', sha='b919b4aa67a541b1fef91820a4e94156f7dd36d2', commit_date=1731196689.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython pythran\n micromamba run -n \"asv_${version}\" pip install pybind11\n micromamba run -n \"asv_${version}\" pip install openblas\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scitools', repo='cartopy', sha='9a4d894d9adab3b3a8d9cee6299581ba0ef9ec20', commit_date=1662748176.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers geos\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scitools', repo='cartopy', sha='d9825f18dc6a70b5b4ef6bc5bf48d8025eef1e8e', commit_date=1581379933.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --upgrade setuptools\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scitools', repo='iris', sha='33deead5846b37019902ba067c87e710e55ff6e6', commit_date=1650551816.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scitools', repo='iris', sha='b2ce2a34e2eef7e3d6203c77ada7ed4ce89e3145', commit_date=1573652360.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scverse', repo='anndata', sha='2712af6efcf2d4356f4185a10e92328168710d9f', commit_date=1680623010.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython flit-core setuptools_scm\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scverse', repo='anndata', sha='df213f659f0e9eadfcab4af48ee98de7145252a7', commit_date=1733842403.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scverse', repo='scanpy', sha='7f3f89ac02e924a3a6d55c31730cfaf23b0b4223', commit_date=1744636041.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='scverse', repo='scanpy', sha='ad657edfb52e9957b9a93b3a16fc8a87852f3f09', commit_date=1718709475.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='shapely', repo='shapely', sha='3c3a83986ac5bf434e0ca6b7bd16571a1ddac0a4', commit_date=1696785164.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers geos\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='shapely', repo='shapely', sha='ff2ceac81cca6240c459eba5a5ce07084fe25ad2', commit_date=1662401853.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='sourmash-bio', repo='sourmash', sha='9230fce7479c547c96dabe0c1a749a71a4b9e77c', commit_date=1650894889.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='sourmash-bio', repo='sourmash', sha='d2d638b645048cc93377fb9aff8a3be8c937b8b3', commit_date=1613310154.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" conda install -y -c conda-forge rust\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='spotify', repo='voyager', sha='49416c5db539a40adba2588bfe19dc8736db01b2', commit_date=1734118555.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Attempt to install the project using pyproject.toml or setup.py if available\n if [[ -f \"${ROOT_PATH}/pyproject.toml\" ]]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\n elif [[ -f \"${ROOT_PATH}/setup.py\" ]]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\n else\n echo \"ERROR: No 'setup.py' or 'pyproject.toml' found in ${ROOT_PATH}. Cannot install the project.\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='spotify', repo='voyager', sha='88cfc468617fde8360ac6db7e71bc578ba49ed16', commit_date=1725990271.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Attempt to install using pyproject.toml or setup.py if available\n if [[ -f \"${ROOT_PATH}/pyproject.toml\" ]]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation \"${ROOT_PATH}\"\n elif [[ -f \"${ROOT_PATH}/setup.py\" ]]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable \"${ROOT_PATH}\"\n else\n echo \"ERROR: No 'setup.py' or 'pyproject.toml' found in ${ROOT_PATH}.\"\n exit 1\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='sunpy', repo='sunpy', sha='01ea7b5e2760c24e08386f95fd5fd1c0f73da47f', commit_date=1739035442.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='sunpy', repo='sunpy', sha='770f95dbfb033ffacc7172a3cff5158b09f7efe4', commit_date=1651836877.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython extension-helpers\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='textualize', repo='rich', sha='1de94713811101702b8fcf283c64d1a5de5a8213', commit_date=1657547667.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --use-pep517 --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='textualize', repo='rich', sha='cb92947610614e04116f82cb001ed44dda1699fb', commit_date=1647342081.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='tqdm', repo='tqdm', sha='0f823e79f303b4a93ef1381badb1e65757e5070f', commit_date=1603641812.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='tqdm', repo='tqdm', sha='42761473f9edf276937cc3a28a6fcabc59f5f97d', commit_date=1575632008.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='xorbitsai', repo='xorbits', sha='aee883be1dcd4cbbd43d67794932d5c858fcffe2', commit_date=1676955703.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Attempt to install the project in editable mode, fallback to non-editable if it fails\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} || micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - }, - "Task(owner='xorbitsai', repo='xorbits', sha='ebc391fe0fa55599c3197c52408bd43a4bd9476f', commit_date=1695401335.0)": { - "building_data": "#!/usr/bin/env bash\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\neval \"$(micromamba shell hook --shell=bash)\"\nmicromamba activate base\n\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\nfor version in $python_versions; do\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba create -y -n \"asv_${version}\" -c conda-forge python=\"$version\" git conda mamba \"libmambapy<=1.9.9\" numpy scipy cython joblib threadpoolctl pytest compilers\n micromamba run -n \"asv_${version}\" pip install git+https://github.com/airspeed-velocity/asv\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME\n micromamba run -n \"asv_${version}\" pip install meson-python cython\n # Attempt to install using pyproject.toml if setup.py is not found\n if [[ -f \"${ROOT_PATH}/pyproject.toml\" ]]; then\n micromamba run -n \"asv_${version}\" pip install --verbose --no-build-isolation ${ROOT_PATH}\n else\n echo \"Neither 'setup.py' nor 'pyproject.toml' found in ${ROOT_PATH}. Cannot install the project.\"\n fi\ndone", - "dockerfile_data": "FROM buildpack-deps:jammy\n\nARG REPO_URL\nARG COMMIT_SHA\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends \\\n curl git build-essential jq cmake ninja-build && \\\n rm -rf /var/lib/apt/lists/*\n\nRUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest \\\n | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba\n\nENV MAMBA_ROOT_PREFIX=/opt/conda \\\n PATH=/opt/conda/bin:$PATH \\\n MAMBA_DOCKERFILE_ACTIVATE=1 \\\n OPENBLAS_NUM_THREADS=1 \\\n MKL_NUM_THREADS=1 \\\n OMP_NUM_THREADS=1\n\nRUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \\\n python=3.10 \\\n git asv pyperf mamba conda libmambapy jq && \\\n micromamba clean --all --yes\n\nRUN mkdir -p /workspace /output\nWORKDIR /workspace\n\nCOPY entrypoint.sh /entrypoint.sh\nRUN chmod +x /entrypoint.sh\n\nRUN git clone ${REPO_URL} /workspace/repo\nWORKDIR /workspace/repo\nRUN git checkout ${COMMIT_SHA}\n\nCOPY docker_build.sh /workspace/repo/docker_build.sh\nRUN chmod +x /workspace/repo/docker_build.sh\nRUN /workspace/repo/docker_build.sh\n\nENTRYPOINT [\"/entrypoint.sh\"]\n", - "entrypoint_data": "#!/usr/bin/env bash\n# set -euo pipefail\nset -x\n: \"${ASV_ARGS:?Need to set ASV_ARGS}\"\n: \"${ASV_MACHINE:=?Need to set ASV_MACHINE}\"\n: \"${ASV_OS:=?Need to set ASV_OS}\"\n: \"${ASV_NUM_CPU:=?Need to set ASV_NUM_CPU}\"\n: \"${ASV_ARCH:=?Need to set ASV_ARCH}\"\n: \"${ASV_CPU:=?Need to set ASV_CPU}\"\n: \"${ASV_RAM:=?Need to set ASV_RAM}\"\n\n\ncd_asv_json_dir() {\n local match\n match=$(find . -type f -name \"asv.*.json\" | head -n 1)\n\n if [[ -n \"$match\" ]]; then\n local dir\n dir=$(dirname \"$match\")\n cd \"$dir\" || echo \"Failed to change directory to $dir\"\n else\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n fi\n}\n\neval \"$(micromamba shell hook --shell=bash)\"\n\nmicromamba activate base\nROOT_PATH=${PWD}\ncd_asv_json_dir || exit 1\n\n# the conf name is one of \"asv.conf.json\" or \"asv.ci.conf.json\" or \"asv.*.json\"\nCONF_NAME=$(basename \"$(find . -type f -name \"asv.*.json\" | head -n 1)\")\nif [[ -z \"$CONF_NAME\" ]]; then\n echo \"No 'asv.*.json' file found in current directory or subdirectories.\"\n exit 1\nfi\n\n# Read the python versions from the asv.conf.json\npython_versions=$(python -c \"import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))\")\n# change the \"results_dir\" in asv.conf.json to \"/output/{COMMIT_SHA}/\"\nfor version in $python_versions; do\n # Create per\u2011Python env and install ASV\n python -c \"import asv, os, pathlib\npath = pathlib.Path('/output/'\\\"$COMMIT_SHA\\\"'/''\\\"$version\\\"')\npath.mkdir(parents=True, exist_ok=True)\n\nconfig = asv.config.Config.load('$CONF_NAME')\nconfig.results_dir = str(path / 'results')\nconfig.html_dir = str(path / 'html')\nconfig.branches = ['HEAD']\n\nasv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version)\nasv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version)\n\"\n micromamba run -n \"asv_${version}\" asv machine --yes --config $CONF_NAME --machine \"$ASV_MACHINE\" --os \"$ASV_OS\" --num_cpu \"$ASV_NUM_CPU\" --arch \"$ASV_ARCH\" --cpu \"$ASV_CPU\" --ram \"$ASV_RAM\"\n micromamba run -n \"asv_${version}\" asv run --show-stderr ${ASV_ARGS} --config $CONF_NAME\ndone\n\necho \"Benchmarks complete.\"\n" - } - }, - "version": 1 -} diff --git a/scratch/notebooks/collect_perf_commits.ipynb b/scratch/notebooks/collect_perf_commits.ipynb new file mode 100644 index 0000000..086eecd --- /dev/null +++ b/scratch/notebooks/collect_perf_commits.ipynb @@ -0,0 +1,88 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "id": "13626f75", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/mnt/sdd1/atharvas/formulacode/datasmith\n" + ] + } + ], + "source": [ + "%cd /mnt/sdd1/atharvas/formulacode/datasmith/\n", + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "6624689c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Optuna commits: 412, Other commits: 52\n" + ] + } + ], + "source": [ + "optuna_jsonl = \"scratch/artifacts/pipeflush/commits_perfonly_optuna.jsonl\"\n", + "other_jsonl = \"scratch/artifacts/pipeflush/commits_perfonly.jsonl\"\n", + "\n", + "df1 = pd.read_json(optuna_jsonl, lines=True)\n", + "df2 = pd.read_json(other_jsonl, lines=True)\n", + "print(f\"Optuna commits: {len(df1)}, Other commits: {len(df2)}\")\n", + "df = pd.concat([df1, df2], ignore_index=True)\n", + "df.drop_duplicates(subset=[\"sha\"], inplace=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "02ecc321", + "metadata": {}, + "outputs": [], + "source": [ + "commits_parquet = \"scratch/artifacts/pipeflush/commits_filtered.parquet\"\n", + "pd.read_parquet(commits_parquet)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "567cdaa5", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/scratch/scripts/collect_and_filter_commits.py b/scratch/scripts/collect_and_filter_commits.py new file mode 100644 index 0000000..4d781da --- /dev/null +++ b/scratch/scripts/collect_and_filter_commits.py @@ -0,0 +1,189 @@ +from __future__ import annotations + +import argparse +import re +import tempfile +from concurrent.futures import ProcessPoolExecutor, ThreadPoolExecutor, as_completed +from pathlib import Path +from typing import Any + +import pandas as pd +from git import Repo +from tqdm.auto import tqdm + +from datasmith.execution.collect_commits_offline import collect_commits +from datasmith.execution.utils import _get_commit_info_offline, find_file_in_tree +from datasmith.logging_config import configure_logging + +# Configure logging for the script +logger = configure_logging() + + +def parse_args() -> argparse.Namespace: + p = argparse.ArgumentParser(description="Filter commits for ASV benchmarks (fast version).") + + p.add_argument("--filtered-benchmarks-pth", required=True, help="Path to the filtered benchmarks CSV file.") + p.add_argument("--output-pth", required=True, help="Path to save the filtered commits CSV file.") + p.add_argument( + "--max-repos", type=int, default=150, help="Maximum number of repositories (sorted by stars) to consider." + ) + p.add_argument("--procs", type=int, default=1, help="Number of processes for fetching commit metadata (CPU-bound).") + + # Optional knobs. keep defaults sensible + p.add_argument("--threads", type=int, default=16, help="Worker threads for finding asv.conf.json (I/O-bound).") + return p.parse_args() + + +def _asv_conf_worker(repo_name: str) -> list[str] | None: + """Locate asv.conf.json inside a repo (wrapper for ThreadPool).""" + return find_file_in_tree(repo_name, "asv.conf.json") + + +def _commit_info_worker(arg_tuple: tuple[Repo, str]) -> dict[str, Any] | None: + """Wrapper for ProcessPool: arg_tuple = (repo_name, sha).""" + repo, sha = arg_tuple + # return _get_commit_info(repo, sha) + return _get_commit_info_offline(repo, sha) + + +NON_CORE_PATTERNS = re.compile( + r"""( + (^|/)tests?(/|$) | # any tests/ directory + (^|/)doc[s]?(/|$) | # docs/, doc/, documentation/ + (^|/)examples?(/|$) | # examples/ + (^|/)\.github(/|$) | # GitHub meta files + (^|/)benchmarks?(/|$) | # benchmarks/ + (^|/)dist-info(/|$) | # wheel metadata + (^|/)build(/|$) | # build artifacts + (^|/)site-packages(/|$) | # vendored wheels + (^|/)__(init|pycache)__ | # __init__.py, __pycache__ + (^|/)requirements-docs\.txt$| + (^|/)pyproject\.toml$| + (^|/)README\.md$ | + \.rst$ | # reStructuredText docs + \.md$ # markdown docs + )""", + re.VERBOSE, +) + + +def has_core_file(files_changed: str) -> bool: + """ + Return True if *any* path in the newline-separated `files_changed` + string is judged to be a *core* file under the rules above. + """ + for path in files_changed.split("\n"): + path = path.strip() + # Empty lines can show up if a commit touches a single file + if not path: + continue + if not NON_CORE_PATTERNS.search(path): + # As soon as we find one path that is NOT caught by the + # non-core pattern, we know the commit touched "core" code. + return True + return False + + +def main() -> None: + args = parse_args() + + benchmarks = pd.read_csv(args.filtered_benchmarks_pth) + + benchmarks = benchmarks.sort_values("stars", ascending=False, ignore_index=True).head(args.max_repos) + + with ThreadPoolExecutor(max_workers=args.threads) as tp: + benchmarks["asv_conf_path"] = list( + tqdm(tp.map(_asv_conf_worker, benchmarks["repo_name"]), total=len(benchmarks), desc="Scanning repos") + ) + + benchmarks = benchmarks.dropna(subset=["asv_conf_path"]) + + if benchmarks.empty: + # Nothing to do. create empty output to keep downstream happy. + Path(args.output_pth).write_text("", encoding="utf-8") + logger.warning("No repositories with asv.conf.json found. Exiting.") + return + + # with open(args.merged_commits_pth, encoding="utf-8") as f: + # commits = pd.DataFrame([json.loads(line.strip().replace("'", '"').replace("None", "null")) for line in f]) + + # commits = commits.merge(benchmarks, how="right", on="repo_name") + # commits = commits.dropna(subset=["commit_sha"]) + + # all_repo_names = set(commits["repo_name"]) + all_repo_names = set(benchmarks["repo_name"]) + + # download all repos to a temp dir + with tempfile.TemporaryDirectory(prefix="gh-repos-") as td: + + def clone_repo(repo_name: str) -> tuple[str, Repo]: + repo_name = repo_name.strip("/") + owner, name = repo_name.split("/", 1) + path = Path(td) / f"{owner}__{name}.git" + repo = Repo.clone_from( + f"https://github.com/{repo_name}.git", + path, + quiet=True, + allow_unsafe_options=True, + allow_unsafe_protocols=True, + ) + logger.debug("Cloned repo %s to %s", repo_name, path) + return repo_name, repo + + commit2kind = {} + commit2repo = {} + all_repos = {} + commit_info_args: list[tuple[Repo, str]] = [] + with ThreadPoolExecutor(max_workers=args.threads) as tp: + futures = {tp.submit(clone_repo, repo_name): repo_name for repo_name in all_repo_names} + for f in tqdm(as_completed(futures), total=len(futures), desc="Cloning repos"): + repo_name, repo = f.result() + all_repos[repo_name] = repo + kind_commit_shas = collect_commits(repo) + for kind, commit_sha in kind_commit_shas: + commit_info_args.append((repo, commit_sha)) + commit2kind[commit_sha] = kind + commit2repo[commit_sha] = repo_name + + if args.procs < 0: + # sequential + commit_info = list( + tqdm( + map(_commit_info_worker, commit_info_args), + total=len(commit_info_args), + desc="Fetching commit metadata", + ) + ) + else: + with ProcessPoolExecutor(max_workers=args.procs) as pp: + commit_info = list( + tqdm( + pp.map(_commit_info_worker, commit_info_args), + total=len(commit_info_args), + desc="Fetching commit metadata", + ) + ) + + for k, repo in all_repos.items(): + repo.close() + logger.debug("Closed repo %s", k) + + commits_meta = pd.json_normalize(commit_info) # pyright: ignore[reportArgumentType] + commits_meta = commits_meta[commits_meta["has_asv"]] # Take out all commits that don't have asv installed. + commits_meta["kind"] = commits_meta["sha"].map(commit2kind) + commits_meta["repo_name"] + + commits_merged = commits_meta[commits_meta["files_changed"].apply(has_core_file)].reset_index(drop=True) + commits_merged["repo_name"] = commits_merged["sha"].map(commit2repo) + + out_path = Path(args.output_pth) + if not out_path.parent.exists(): + out_path.parent.mkdir(parents=True, exist_ok=True) + # save as a parquet file + commits_merged.to_parquet(out_path, index=False) + + logger.info("βœ” Wrote %s rows β†’ %s", len(commits_merged), out_path) + + +if __name__ == "__main__": + main() diff --git a/scratch/scripts/collect_commits.py b/scratch/scripts/collect_commits.py index 99d6259..7ef505f 100644 --- a/scratch/scripts/collect_commits.py +++ b/scratch/scripts/collect_commits.py @@ -19,9 +19,9 @@ def parse_args() -> argparse.Namespace: formatter_class=argparse.ArgumentDefaultsHelpFormatter, ) p.add_argument( - "--dashboards", + "--repos", required=True, - help="Location of the dashboards csv that has a column `url` with GitHub repository URLs", + help="Location of the repos csv that has a column `url` with GitHub repository URLs", ) p.add_argument( "--outfile", @@ -41,9 +41,9 @@ def parse_args() -> argparse.Namespace: if __name__ == "__main__": args = parse_args() - dashboards = pd.read_csv(args.dashboards) - urls = dashboards["url"] - repo_names = dashboards["repo_name"] + repos = pd.read_csv(args.repos) + urls = repos["url"] + repo_names = repos["repo_name"] idx = 0 all_commits = [] @@ -51,9 +51,7 @@ def parse_args() -> argparse.Namespace: logger.info("Collecting commits for %s (repo_name: %s)", url, repo_name) perf_commits = find_perf_commits( repo_name=repo_name, - query=args.query, - max_pages=args.max_pages, - per_page=args.per_page, + n_workers=-1, ) tagged_commits = find_tagged_releases(repo_name=repo_name) # parent_commits = find_parent_commits(repo_name=repo_name, commits=perf_commits + tagged_commits) diff --git a/scratch/scripts/collect_perf_commits.py b/scratch/scripts/collect_perf_commits.py new file mode 100644 index 0000000..82eafb2 --- /dev/null +++ b/scratch/scripts/collect_perf_commits.py @@ -0,0 +1,70 @@ +import argparse +from pathlib import Path + +import pandas as pd + +from datasmith.agents.config import configure_agent_backends +from datasmith.agents.perf_judge import PerfClassifier +from datasmith.execution.collect_commits_offline import ( + batch_classify_commits, + find_parent_releases, + find_tagged_releases, +) +from datasmith.logging_config import configure_logging + +configure_agent_backends(PORTKEY_MODEL_NAME="@togetherai/meta-llama/Llama-3.3-70B-Instruct-Turbo") + +# logger = configure_logging(level=10, stream=open(__file__ + ".log", "a")) +logger = configure_logging() + + +def parse_args() -> argparse.Namespace: + p = argparse.ArgumentParser( + description="Collect perf-related commits", + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + ) + p.add_argument("--commits", type=Path, required=True, help="Path to a JSONL file containing commit information.") + p.add_argument("--outfile", type=Path, required=True, help="Path to save the filtered commits JSONL file.") + p.add_argument("--max-workers", type=int, default=-1, help="Number of parallel workers. -1 = sequential.") + return p.parse_args() + + +def main(args: argparse.Namespace) -> None: + df = pd.read_parquet(args.commits) if args.commits.suffix == ".parquet" else pd.read_json(args.commits, lines=True) + filtered_df = df[ + (df["kind"] == "commit") + & ( + (df["message"].str.lower().str.contains("#|gh-|pr|issue", regex=True)) + | (df["message"].str.lower().str.startswith(("perf", "enh", "speed", "fast", "slow", "benchmark"))) + ) + ].copy(deep=True) + + perf_classifier = PerfClassifier() + all_shas = set() + for repo_name, group in filtered_df.groupby("repo_name"): + assert isinstance(repo_name, str), f"Unexpected repo_name type: {type(repo_name)}" # noqa: S101 + logger.info(f"Processing {repo_name} with {len(group)} commits.") + commits = [(row["sha"], row["message"], row.get("file_change_summary", "")) for _, row in group.iterrows()] + logger.info(f"Classifying {len(commits)} commits in {repo_name}.") + merge_shas = batch_classify_commits(perf_classifier, repo_name, commits, args.max_workers) + logger.info(f"Found {len(merge_shas)} perf-related commits in {repo_name}.") + all_shas.update(merge_shas) + + tagged_shas = find_tagged_releases(repo_name) + all_shas.update(tagged_shas) + + parent_shas = find_parent_releases(repo_name, list(merge_shas) + tagged_shas, add_first=True) + all_shas.update(parent_shas) + + all_df = df[df["sha"].isin(all_shas)].copy(deep=True) + + logger.info(f"Filtered down to {len(all_df)} commits from {len(df)} total commits.") + with open(args.outfile.with_suffix(".txt"), "w") as f: + for sha in sorted(all_shas): + f.write(sha + "\n") + all_df.to_parquet(args.outfile.with_suffix(".parquet"), index=False) + + +if __name__ == "__main__": + args = parse_args() + main(args) diff --git a/scratch/scripts/initialize_context_registry.py b/scratch/scripts/initialize_context_registry.py index 63d1e54..e98e752 100644 --- a/scratch/scripts/initialize_context_registry.py +++ b/scratch/scripts/initialize_context_registry.py @@ -1,7 +1,5 @@ from __future__ import annotations -from pathlib import Path - from datasmith.docker.context import ContextRegistry, DockerContext from datasmith.logging_config import get_logger @@ -9,401 +7,787 @@ CONTEXT_REGISTRY = ContextRegistry(default_context=DockerContext()) -CONTEXT_REGISTRY.register( - "asv/astropy/astropy", - DockerContext( - building_data="""#!/usr/bin/env bash +# CONTEXT_REGISTRY.register( +# "astropy/astropy:pkg", +# DockerContext( +# building_data="""#!/usr/bin/env bash +# # Purpose: Build/install the repo (editable) in one or more ASV micromamba envs, then run health checks. +# set -euo pipefail -cd_asv_json_dir() { - local match - match=$(find . -type f -name "asv.*.json" | head -n 1) +# ###### SETUP CODE (NOT TO BE MODIFIED) ###### +# # Loads micromamba, common helpers, and persisted variables from the env stage. +# source /etc/profile.d/asv_utils.sh || true +# source /etc/profile.d/asv_build_vars.sh || true +# eval "$(micromamba shell hook --shell=bash)" - if [[ -n "$match" ]]; then - local dir - dir=$(dirname "$match") - cd "$dir" || echo "Failed to change directory to $dir" - else - echo "No 'asv.*.json' file found in current directory or subdirectories." - fi -} -eval "$(micromamba shell hook --shell=bash)" -micromamba activate base -ROOT_PATH=${PWD} -git clone -b main https://github.com/astropy/astropy-benchmarks.git --single-branch -cd_asv_json_dir || exit 1 -CONF_NAME=$(basename "$(find . -type f -name "asv.*.json" | head -n 1)") -if [[ -z "$CONF_NAME" ]]; then - echo "No 'asv.*.json' file found in current directory or subdirectories." - exit 1 -fi -python_versions=$(python -c "import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))") -for version in $python_versions; do - python -c "import asv, os, pathlib -path = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"') -path.mkdir(parents=True, exist_ok=True) - -config = asv.config.Config.load('$CONF_NAME') -config.results_dir = str(path / 'results') -config.html_dir = str(path / 'html') - -asv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version) -asv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version) -" - micromamba create -y -n "asv_${version}" -c conda-forge python="$version" git conda mamba "libmambapy<=1.9.9" - micromamba run -n "asv_${version}" pip install git+https://github.com/airspeed-velocity/asv - #### BUILD STEPS GO HERE. #### - export CFLAGS="$CFLAGS -Wno-error=incompatible-pointer-types" - micromamba run -n "asv_${version}" pip install -e . scipy matplotlib - #### BUILD STEPS END HERE. #### -done -""".strip(), - dockerfile_data=CONTEXT_REGISTRY["asv/default/default"].dockerfile_data, - entrypoint_data=CONTEXT_REGISTRY["asv/default/default"].entrypoint_data, - ), -) +# ROOT_PATH=${ROOT_PATH:-$PWD} # Usually /workspace/repo +# REPO_ROOT="$ROOT_PATH" +# TARGET_VERSIONS="${PY_VERSION:-${ASV_PY_VERSIONS:-}}" +# if [[ -z "${TARGET_VERSIONS}" ]]; then +# echo "Error: No PY_VERSION set and ASV_PY_VERSIONS not found." >&2 +# exit 1 +# fi +# ###### END SETUP CODE ###### + +# # ----------------------------- +# # Agent guidance (read-first) +# # ----------------------------- +# # GOAL: For each Python version below, install the project in EDITABLE mode into env asv_{version}, +# # with NO build isolation, then run health checks. +# # +# # Below this comment, you should do whatever is necessary to build the project without errors. Including (but not limited to): +# # - Add extra conda/pip dependencies needed to build this project. +# # - Run repo-specific pre-steps (e.g., submodules, generating Cython, env vars). +# # - Run arbitrary micromamba/pip commands in the target env. +# # - Set CFLAGS/CXXFLAGS/LDFLAGS if needed for this repo. +# # - Change files in the repo if needed (e.g., fix a missing #include). +# # - Anything else needed to get a successful editable install. +# # +# # MUST: +# # - Keep this script idempotent. +# # - Use: `pip install --no-build-isolation -v -e .` or `pip install -e .` or equivalent. +# # - Do not modify the SETUP CODE or helper functions below. +# # +# # DO NOT: +# # - Change env names or Python versions outside MODEL EDIT AREA. +# # - Use build isolation unless absolutely necessary. + +# # ----------------------------- +# # Helpers (do not modify) +# # ----------------------------- +# log() { printf "\033[1;34m[build]\033[0m %s\n" "$*"; } +# warn() { printf "\033[1;33m[warn]\033[0m %s\n" "$*" >&2; } +# die() { printf "\033[1;31m[fail]\033[0m %s\n" "$*" >&2; exit 1; } + +# # Conservative default parallelism (override if the repo benefits) +# export CMAKE_BUILD_PARALLEL_LEVEL="${CMAKE_BUILD_PARALLEL_LEVEL:-2}" +# export NPY_NUM_BUILD_JOBS="${NPY_NUM_BUILD_JOBS:-2}" + +# # ----------------------------- +# # Build & test across envs +# # ----------------------------- +# for version in $TARGET_VERSIONS; do +# ENV_NAME="asv_${version}" +# log "==> Building in env: $ENV_NAME (python=$version)" + +# if ! micromamba env list | awk '{print $1}' | grep -qx "$ENV_NAME"; then +# die "Env $ENV_NAME not found. Did docker_build_env.sh run?" +# fi + +# # Import name resolution (kept simple for the agent) +# IMP="${IMPORT_NAME:-}" +# if [[ -z "$IMP" ]]; then +# if ! IMP="$(asv_detect_import_name --repo-root "$REPO_ROOT" 2>/dev/null)"; then +# die "Could not determine import name. Set IMPORT_NAME in /etc/profile.d/asv_build_vars.sh" +# fi +# fi +# log "Using import name: $IMP" + +# # ----------------------------- +# # MODEL EDIT AREA: repo-specific tweaks (optional) +# # ----------------------------- +# # Examples (uncomment if needed for this repo): +# # +# # log "Updating submodules" +# # git -C "$REPO_ROOT" submodule update --init --recursive +# # +# # log "Installing extra system libs via conda-forge" +# # micromamba install -y -n "$ENV_NAME" -c conda-forge 'openblas' 'blas=*=openblas' 'libopenmp' +# # +# # log "Pre-generating Cython sources" +# # micromamba run -n "$ENV_NAME" python -m cython --version +# # +# # export CFLAGS="${CFLAGS:-}" +# # export CXXFLAGS="${CXXFLAGS:-}" +# # export LDFLAGS="${LDFLAGS:-}" +# # ----------------------------- + +# # Install some basic micromamba packages. +# micromamba install -y -n "$ENV_NAME" -c conda-forge git conda mamba "libmambapy<=1.9.9" + +# export CFLAGS="${CFLAGS:-} -Wno-error=incompatible-pointer-types" +# micromamba run -n "$ENV_NAME" pip install -e . scipy matplotlib + +# # Editable install (no build isolation preferrably). Toolchain lives in the env already. +# log "Editable install with --no-build-isolation" +# PIP_NO_BUILD_ISOLATION=1 micromamba run -n "$ENV_NAME" python -m pip install --no-build-isolation -v -e "$REPO_ROOT" + +# # Health checks (import + compiled extension probe; optional pytest smoke with RUN_PYTEST_SMOKE=1) +# log "Running smoke checks" +# micromamba run -n "$ENV_NAME" asv_smokecheck.py --import-name "$IMP" --repo-root "$REPO_ROOT" ${RUN_PYTEST_SMOKE:+--pytest-smoke} + +# # Machine-readable markers (useful in logs) +# echo "::import_name=${IMP}::env=${ENV_NAME}" +# done + +# log "All builds complete βœ…" +# """.strip(), +# ), +# ) CONTEXT_REGISTRY.register( - "asv/scikit-learn/scikit-learn", + "scikit-learn/scikit-learn:pkg", DockerContext( building_data="""#!/usr/bin/env bash +# Purpose: Build/install the repo (editable) in one or more ASV micromamba envs, then run health checks. +set -euo pipefail -cd_asv_json_dir() { - local match - match=$(find . -type f -name "asv.*.json" | head -n 1) - - if [[ -n "$match" ]]; then - local dir - dir=$(dirname "$match") - cd "$dir" || echo "Failed to change directory to $dir" - else - echo "No 'asv.*.json' file found in current directory or subdirectories." - fi -} +###### SETUP CODE (NOT TO BE MODIFIED) ###### +# Loads micromamba, common helpers, and persisted variables from the env stage. +source /etc/profile.d/asv_utils.sh || true +source /etc/profile.d/asv_build_vars.sh || true eval "$(micromamba shell hook --shell=bash)" -micromamba activate base - -apt-get update && \ - apt-get install -y \ - ninja-build \ - cmake - -ROOT_PATH=${PWD} -cd_asv_json_dir || exit 1 -CONF_NAME=$(basename "$(find . -type f -name "asv.*.json" | head -n 1)") -if [[ -z "$CONF_NAME" ]]; then - echo "No 'asv.*.json' file found in current directory or subdirectories." - exit 1 + +ROOT_PATH=${ROOT_PATH:-$PWD} # Usually /workspace/repo +REPO_ROOT="$ROOT_PATH" +TARGET_VERSIONS="${PY_VERSION:-${ASV_PY_VERSIONS:-}}" +if [[ -z "${TARGET_VERSIONS}" ]]; then + echo "Error: No PY_VERSION set and ASV_PY_VERSIONS not found." >&2 + exit 1 fi -python_versions=$(python -c "import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))") -for version in $python_versions; do - python -c "import asv, os, pathlib -path = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"') -path.mkdir(parents=True, exist_ok=True) - -config = asv.config.Config.load('$CONF_NAME') -config.results_dir = str(path / 'results') -config.html_dir = str(path / 'html') - -asv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version) -asv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version) -" - micromamba create -y -n "asv_${version}" -c conda-forge python="$version" git conda mamba "libmambapy<=1.9.9" numpy scipy cython joblib threadpoolctl pytest compilers - micromamba run -n "asv_${version}" pip install git+https://github.com/airspeed-velocity/asv - micromamba run -n "asv_${version}" pip install meson-python cython - #### BUILD STEPS GO HERE. #### - micromamba run -n "asv_${version}" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} - #### BUILD STEPS END HERE. #### +###### END SETUP CODE ###### + +# ----------------------------- +# Agent guidance (read-first) +# ----------------------------- +# GOAL: For each Python version below, install the project in EDITABLE mode into env asv_{version}, +# with NO build isolation, then run health checks. +# +# Below this comment, you should do whatever is necessary to build the project without errors. Including (but not limited to): +# - Add extra conda/pip dependencies needed to build this project. +# - Run repo-specific pre-steps (e.g., submodules, generating Cython, env vars). +# - Run arbitrary micromamba/pip commands in the target env. +# - Set CFLAGS/CXXFLAGS/LDFLAGS if needed for this repo. +# - Change files in the repo if needed (e.g., fix a missing #include). +# - Anything else needed to get a successful editable install. +# +# MUST: +# - Keep this script idempotent. +# - Use: `pip install --no-build-isolation -v -e .` or `pip install -e .` or equivalent. +# - Do not modify the SETUP CODE or helper functions below. +# +# DO NOT: +# - Change env names or Python versions outside MODEL EDIT AREA. +# - Use build isolation unless absolutely necessary. + +# ----------------------------- +# Helpers (do not modify) +# ----------------------------- +log() { printf "\033[1;34m[build]\033[0m %s\n" "$*"; } +warn() { printf "\033[1;33m[warn]\033[0m %s\n" "$*" >&2; } +die() { printf "\033[1;31m[fail]\033[0m %s\n" "$*" >&2; exit 1; } + +# Conservative default parallelism (override if the repo benefits) +export CMAKE_BUILD_PARALLEL_LEVEL="${CMAKE_BUILD_PARALLEL_LEVEL:-2}" +export NPY_NUM_BUILD_JOBS="${NPY_NUM_BUILD_JOBS:-2}" + +# ----------------------------- +# Build & test across envs +# ----------------------------- +for version in $TARGET_VERSIONS; do + ENV_NAME="asv_${version}" + log "==> Building in env: $ENV_NAME (python=$version)" + + if ! micromamba env list | awk '{print $1}' | grep -qx "$ENV_NAME"; then + die "Env $ENV_NAME not found. Did docker_build_env.sh run?" + fi + + # Import name resolution (kept simple for the agent) + IMP="${IMPORT_NAME:-}" + if [[ -z "$IMP" ]]; then + if ! IMP="$(asv_detect_import_name --repo-root "$REPO_ROOT" 2>/dev/null)"; then + die "Could not determine import name. Set IMPORT_NAME in /etc/profile.d/asv_build_vars.sh" + fi + fi + log "Using import name: $IMP" + + # ----------------------------- + # MODEL EDIT AREA: repo-specific tweaks (optional) + # ----------------------------- + # Examples (uncomment if needed for this repo): + # + # log "Updating submodules" + # git -C "$REPO_ROOT" submodule update --init --recursive + # + # log "Installing extra system libs via conda-forge" + # micromamba install -y -n "$ENV_NAME" -c conda-forge 'openblas' 'blas=*=openblas' 'libopenmp' + # + # log "Pre-generating Cython sources" + # micromamba run -n "$ENV_NAME" python -m cython --version + # + # export CFLAGS="${CFLAGS:-}" + # export CXXFLAGS="${CXXFLAGS:-}" + # export LDFLAGS="${LDFLAGS:-}" + # ----------------------------- + + # Install some basic micromamba packages. + + micromamba install -y -n "$ENV_NAME" -c conda-forge git conda mamba "libmambapy<=1.9.9" numpy scipy cython joblib threadpoolctl pytest compilers + micromamba run -n "$ENV_NAME" pip install meson-python cython + + # Editable install (no build isolation preferrably). Toolchain lives in the env already. + log "Editable install with --no-build-isolation" + PIP_NO_BUILD_ISOLATION=1 micromamba run -n "$ENV_NAME" python -m pip install --no-build-isolation -v -e "$REPO_ROOT" + + # Health checks (import + compiled extension probe; optional pytest smoke with RUN_PYTEST_SMOKE=1) + log "Running smoke checks" + micromamba run -n "$ENV_NAME" asv_smokecheck.py --import-name "$IMP" --repo-root "$REPO_ROOT" ${RUN_PYTEST_SMOKE:+--pytest-smoke} + + # Machine-readable markers (useful in logs) + echo "::import_name=${IMP}::env=${ENV_NAME}" done + +log "All builds complete βœ…" """.strip(), - dockerfile_data=CONTEXT_REGISTRY["asv/default/default"].dockerfile_data, - entrypoint_data=CONTEXT_REGISTRY["asv/default/default"].entrypoint_data, ), ) CONTEXT_REGISTRY.register( - "asv/scikit-learn/scikit-learn/8bc36080d9855d29e1fcbc86da46a9e89e86c046", + "scikit-learn/scikit-learn/8bc36080d9855d29e1fcbc86da46a9e89e86c046:pkg", DockerContext( building_data="""#!/usr/bin/env bash -cd_asv_json_dir() { - local match - match=$(find . -type f -name "asv.*.json" | head -n 1) - - if [[ -n "$match" ]]; then - local dir - dir=$(dirname "$match") - cd "$dir" || echo "Failed to change directory to $dir" - else - echo "No 'asv.*.json' file found in current directory or subdirectories." - fi -} +# Purpose: Build/install the repo (editable) in one or more ASV micromamba envs, then run health checks. +set -euo pipefail + +###### SETUP CODE (NOT TO BE MODIFIED) ###### +# Loads micromamba, common helpers, and persisted variables from the env stage. +source /etc/profile.d/asv_utils.sh || true +source /etc/profile.d/asv_build_vars.sh || true eval "$(micromamba shell hook --shell=bash)" -micromamba activate base - -ROOT_PATH=${PWD} -cd_asv_json_dir || exit 1 -CONF_NAME=$(basename "$(find . -type f -name "asv.*.json" | head -n 1)") -if [[ -z "$CONF_NAME" ]]; then - echo "No 'asv.*.json' file found in current directory or subdirectories." - exit 1 + +ROOT_PATH=${ROOT_PATH:-$PWD} # Usually /workspace/repo +REPO_ROOT="$ROOT_PATH" +TARGET_VERSIONS="${PY_VERSION:-${ASV_PY_VERSIONS:-}}" +if [[ -z "${TARGET_VERSIONS}" ]]; then + echo "Error: No PY_VERSION set and ASV_PY_VERSIONS not found." >&2 + exit 1 fi -python_versions=$(python -c "import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))") -for version in $python_versions; do - python -c "import asv, os, pathlib -path = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"') -path.mkdir(parents=True, exist_ok=True) - -config = asv.config.Config.load('$CONF_NAME') -config.results_dir = str(path / 'results') -config.html_dir = str(path / 'html') - -asv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version) -asv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version) -" - micromamba create -y -n "asv_${version}" -c conda-forge python="$version" git conda mamba "libmambapy<=1.9.9" numpy scipy cython joblib threadpoolctl pytest compilers - micromamba run -n "asv_${version}" pip install git+https://github.com/airspeed-velocity/asv - #### BUILD STEPS GO HERE. #### - micromamba run -n "asv_${version}" pip install -U meson-python "cython<3" "numpy<2" "setuptools==60" "scipy<1.14" - export CFLAGS="$CFLAGS -Wno-error=incompatible-pointer-types" - micromamba run -n "asv_${version}" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} - #### BUILD STEPS END HERE. #### +###### END SETUP CODE ###### + +# ----------------------------- +# Agent guidance (read-first) +# ----------------------------- +# GOAL: For each Python version below, install the project in EDITABLE mode into env asv_{version}, +# with NO build isolation, then run health checks. +# +# Below this comment, you should do whatever is necessary to build the project without errors. Including (but not limited to): +# - Add extra conda/pip dependencies needed to build this project. +# - Run repo-specific pre-steps (e.g., submodules, generating Cython, env vars). +# - Run arbitrary micromamba/pip commands in the target env. +# - Set CFLAGS/CXXFLAGS/LDFLAGS if needed for this repo. +# - Change files in the repo if needed (e.g., fix a missing #include). +# - Anything else needed to get a successful editable install. +# +# MUST: +# - Keep this script idempotent. +# - Use: `pip install --no-build-isolation -v -e .` or `pip install -e .` or equivalent. +# - Do not modify the SETUP CODE or helper functions below. +# +# DO NOT: +# - Change env names or Python versions outside MODEL EDIT AREA. +# - Use build isolation unless absolutely necessary. + +# ----------------------------- +# Helpers (do not modify) +# ----------------------------- +log() { printf "\033[1;34m[build]\033[0m %s\n" "$*"; } +warn() { printf "\033[1;33m[warn]\033[0m %s\n" "$*" >&2; } +die() { printf "\033[1;31m[fail]\033[0m %s\n" "$*" >&2; exit 1; } + +# Conservative default parallelism (override if the repo benefits) +export CMAKE_BUILD_PARALLEL_LEVEL="${CMAKE_BUILD_PARALLEL_LEVEL:-2}" +export NPY_NUM_BUILD_JOBS="${NPY_NUM_BUILD_JOBS:-2}" + +# ----------------------------- +# Build & test across envs +# ----------------------------- +for version in $TARGET_VERSIONS; do + ENV_NAME="asv_${version}" + log "==> Building in env: $ENV_NAME (python=$version)" + + if ! micromamba env list | awk '{print $1}' | grep -qx "$ENV_NAME"; then + die "Env $ENV_NAME not found. Did docker_build_env.sh run?" + fi + + # Import name resolution (kept simple for the agent) + IMP="${IMPORT_NAME:-}" + if [[ -z "$IMP" ]]; then + if ! IMP="$(asv_detect_import_name --repo-root "$REPO_ROOT" 2>/dev/null)"; then + die "Could not determine import name. Set IMPORT_NAME in /etc/profile.d/asv_build_vars.sh" + fi + fi + log "Using import name: $IMP" + + # ----------------------------- + # MODEL EDIT AREA: repo-specific tweaks (optional) + # ----------------------------- + # Examples (uncomment if needed for this repo): + # + # log "Updating submodules" + # git -C "$REPO_ROOT" submodule update --init --recursive + # + # log "Installing extra system libs via conda-forge" + # micromamba install -y -n "$ENV_NAME" -c conda-forge 'openblas' 'blas=*=openblas' 'libopenmp' + # + # log "Pre-generating Cython sources" + # micromamba run -n "$ENV_NAME" python -m cython --version + # + # export CFLAGS="${CFLAGS:-}" + # export CXXFLAGS="${CXXFLAGS:-}" + # export LDFLAGS="${LDFLAGS:-}" + # ----------------------------- + + # Install some basic micromamba packages. + + micromamba install -y -n "$ENV_NAME" -c conda-forge git conda mamba "libmambapy<=1.9.9" numpy scipy cython joblib threadpoolctl pytest compilers + micromamba run -n "$ENV_NAME" pip install -U meson-python "cython<3" "numpy<2" "setuptools==60" "scipy<1.14" + export CFLAGS="${CFLAGS:-} -Wno-error=incompatible-pointer-types" + + # Editable install (no build isolation preferrably). Toolchain lives in the env already. + log "Editable install with --no-build-isolation" + PIP_NO_BUILD_ISOLATION=1 micromamba run -n "$ENV_NAME" python -m pip install --no-build-isolation -v -e "$REPO_ROOT" + + # Health checks (import + compiled extension probe; optional pytest smoke with RUN_PYTEST_SMOKE=1) + log "Running smoke checks" + micromamba run -n "$ENV_NAME" asv_smokecheck.py --import-name "$IMP" --repo-root "$REPO_ROOT" ${RUN_PYTEST_SMOKE:+--pytest-smoke} + + # Machine-readable markers (useful in logs) + echo "::import_name=${IMP}::env=${ENV_NAME}" done + +log "All builds complete βœ…" """.strip(), - dockerfile_data=CONTEXT_REGISTRY["asv/default/default"].dockerfile_data, - entrypoint_data=CONTEXT_REGISTRY["asv/default/default"].entrypoint_data, ), ) CONTEXT_REGISTRY.register( - "asv/nvidia/warp", + "nvidia/warp:pkg", DockerContext( - building_data=""" -#!/usr/bin/env bash - -cd_asv_json_dir() { - local match - match=$(find . -type f -name "asv.*.json" | head -n 1) + building_data="""#!/usr/bin/env bash +# Purpose: Build/install the repo (editable) in one or more ASV micromamba envs, then run health checks. +set -euo pipefail - if [[ -n "$match" ]]; then - local dir - dir=$(dirname "$match") - cd "$dir" || echo "Failed to change directory to $dir" - else - echo "No 'asv.*.json' file found in current directory or subdirectories." - fi -} +###### SETUP CODE (NOT TO BE MODIFIED) ###### +# Loads micromamba, common helpers, and persisted variables from the env stage. +source /etc/profile.d/asv_utils.sh || true +source /etc/profile.d/asv_build_vars.sh || true eval "$(micromamba shell hook --shell=bash)" -micromamba activate base - -ROOT_PATH=${PWD} -cd_asv_json_dir || exit 1 +ROOT_PATH=${ROOT_PATH:-$PWD} # Usually /workspace/repo +REPO_ROOT="$ROOT_PATH" +TARGET_VERSIONS="${PY_VERSION:-${ASV_PY_VERSIONS:-}}" +if [[ -z "${TARGET_VERSIONS}" ]]; then + echo "Error: No PY_VERSION set and ASV_PY_VERSIONS not found." >&2 + exit 1 +fi +###### END SETUP CODE ###### + +# ----------------------------- +# Agent guidance (read-first) +# ----------------------------- +# GOAL: For each Python version below, install the project in EDITABLE mode into env asv_{version}, +# with NO build isolation, then run health checks. +# +# Below this comment, you should do whatever is necessary to build the project without errors. Including (but not limited to): +# - Add extra conda/pip dependencies needed to build this project. +# - Run repo-specific pre-steps (e.g., submodules, generating Cython, env vars). +# - Run arbitrary micromamba/pip commands in the target env. +# - Set CFLAGS/CXXFLAGS/LDFLAGS if needed for this repo. +# - Change files in the repo if needed (e.g., fix a missing #include). +# - Anything else needed to get a successful editable install. +# +# MUST: +# - Keep this script idempotent. +# - Use: `pip install --no-build-isolation -v -e .` or `pip install -e .` or equivalent. +# - Do not modify the SETUP CODE or helper functions below. +# +# DO NOT: +# - Change env names or Python versions outside MODEL EDIT AREA. +# - Use build isolation unless absolutely necessary. + +# ----------------------------- +# Helpers (do not modify) +# ----------------------------- +log() { printf "\033[1;34m[build]\033[0m %s\n" "$*"; } +warn() { printf "\033[1;33m[warn]\033[0m %s\n" "$*" >&2; } +die() { printf "\033[1;31m[fail]\033[0m %s\n" "$*" >&2; exit 1; } + +# Conservative default parallelism (override if the repo benefits) +export CMAKE_BUILD_PARALLEL_LEVEL="${CMAKE_BUILD_PARALLEL_LEVEL:-2}" +export NPY_NUM_BUILD_JOBS="${NPY_NUM_BUILD_JOBS:-2}" # only run the below if condition if bvh.cpp is present grep -q '^#include ' "${ROOT_PATH}/warp/native/bvh.cpp" || \ sed -i 's|#include |#include \n#include |' "${ROOT_PATH}/warp/native/bvh.cpp" -CONF_NAME=$(basename "$(find . -type f -name "asv.*.json" | head -n 1)") -if [[ -z "$CONF_NAME" ]]; then - echo "No 'asv.*.json' file found in current directory or subdirectories." - exit 1 -fi -python_versions=$(python -c "import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))") -for version in $python_versions; do - python -c "import asv, os, pathlib -path = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"') -path.mkdir(parents=True, exist_ok=True) - -config = asv.config.Config.load('$CONF_NAME') -config.results_dir = str(path / 'results') -config.html_dir = str(path / 'html') - -asv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version) -asv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version) -" - micromamba create -y -n "asv_${version}" -c conda-forge python="$version" git conda mamba "libmambapy<=1.9.9" numpy scipy cython joblib threadpoolctl pytest compilers - micromamba run -n "asv_${version}" pip install git+https://github.com/airspeed-velocity/asv - micromamba run -n "asv_${version}" pip install meson-python cython - #### BUILD STEPS GO HERE. #### - micromamba run -n "asv_${version}" python "${ROOT_PATH}/build_lib.py" - micromamba run -n "asv_${version}" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} - #### BUILD STEPS END HERE. #### -done -""".strip(), - dockerfile_data=CONTEXT_REGISTRY["asv/default/default"].dockerfile_data, - entrypoint_data=CONTEXT_REGISTRY["asv/default/default"].entrypoint_data, - ), -) +# ----------------------------- +# Build & test across envs +# ----------------------------- +for version in $TARGET_VERSIONS; do + ENV_NAME="asv_${version}" + log "==> Building in env: $ENV_NAME (python=$version)" -CONTEXT_REGISTRY.register( - "asv/python-control/python-control", - DockerContext( - building_data=""" -#!/usr/bin/env bash -cd_asv_json_dir() { - local match - match=$(find . -type f -name "asv.*.json" | head -n 1) - - if [[ -n "$match" ]]; then - local dir - dir=$(dirname "$match") - cd "$dir" || echo "Failed to change directory to $dir" - else - echo "No 'asv.*.json' file found in current directory or subdirectories." + if ! micromamba env list | awk '{print $1}' | grep -qx "$ENV_NAME"; then + die "Env $ENV_NAME not found. Did docker_build_env.sh run?" fi -} -eval "$(micromamba shell hook --shell=bash)" -micromamba activate base - -ROOT_PATH=${PWD} -cd_asv_json_dir || exit 1 -CONF_NAME=$(basename "$(find . -type f -name "asv.*.json" | head -n 1)") -if [[ -z "$CONF_NAME" ]]; then - echo "No 'asv.*.json' file found in current directory or subdirectories." - exit 1 -fi -python_versions=$(python -c "import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))") -for version in $python_versions; do - python -c "import asv, os, pathlib -path = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"') -path.mkdir(parents=True, exist_ok=True) - -config = asv.config.Config.load('$CONF_NAME') -config.results_dir = str(path / 'results') -config.html_dir = str(path / 'html') - -asv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version) -asv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version) -" - micromamba create -y -n "asv_${version}" -c conda-forge python="$version" git conda mamba "libmambapy<=1.9.9" numpy scipy cython joblib threadpoolctl pytest compilers - micromamba run -n "asv_${version}" pip install git+https://github.com/airspeed-velocity/asv - micromamba run -n "asv_${version}" pip install meson-python cython - #### BUILD STEPS GO HERE. #### - # if make_version exists run it - if [[ -f "${ROOT_PATH}/make_version.py" ]]; then - micromamba run -n "asv_${version}" python "${ROOT_PATH}/make_version.py" + + # Import name resolution (kept simple for the agent) + IMP="${IMPORT_NAME:-}" + if [[ -z "$IMP" ]]; then + if ! IMP="$(asv_detect_import_name --repo-root "$REPO_ROOT" 2>/dev/null)"; then + die "Could not determine import name. Set IMPORT_NAME in /etc/profile.d/asv_build_vars.sh" fi - micromamba run -n "asv_${version}" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} - #### BUILD STEPS END HERE. #### + fi + log "Using import name: $IMP" + + # ----------------------------- + # MODEL EDIT AREA: repo-specific tweaks (optional) + # ----------------------------- + # Examples (uncomment if needed for this repo): + # + # log "Updating submodules" + # git -C "$REPO_ROOT" submodule update --init --recursive + # + # log "Installing extra system libs via conda-forge" + # micromamba install -y -n "$ENV_NAME" -c conda-forge 'openblas' 'blas=*=openblas' 'libopenmp' + # + # log "Pre-generating Cython sources" + # micromamba run -n "$ENV_NAME" python -m cython --version + # + # export CFLAGS="${CFLAGS:-}" + # export CXXFLAGS="${CXXFLAGS:-}" + # export LDFLAGS="${LDFLAGS:-}" + # ----------------------------- + + # Install some basic micromamba packages. + + micromamba install -y -n "$ENV_NAME" -c conda-forge git conda mamba "libmambapy<=1.9.9" numpy scipy cython joblib threadpoolctl pytest compilers + micromamba run -n "$ENV_NAME" pip install meson-python cython + export CFLAGS="${CFLAGS:-} -Wno-error=incompatible-pointer-types" + micromamba run -n "$ENV_NAME" python "${ROOT_PATH}/build_lib.py" + + # Editable install (no build isolation preferrably). Toolchain lives in the env already. + log "Editable install with --no-build-isolation" + PIP_NO_BUILD_ISOLATION=1 micromamba run -n "$ENV_NAME" python -m pip install --no-build-isolation -v -e "$REPO_ROOT" + + # Health checks (import + compiled extension probe; optional pytest smoke with RUN_PYTEST_SMOKE=1) + log "Running smoke checks" + micromamba run -n "$ENV_NAME" asv_smokecheck.py --import-name "$IMP" --repo-root "$REPO_ROOT" ${RUN_PYTEST_SMOKE:+--pytest-smoke} + + # Machine-readable markers (useful in logs) + echo "::import_name=${IMP}::env=${ENV_NAME}" done + +log "All builds complete βœ…" """.strip(), - dockerfile_data=CONTEXT_REGISTRY["asv/default/default"].dockerfile_data, - entrypoint_data=CONTEXT_REGISTRY["asv/default/default"].entrypoint_data, ), ) CONTEXT_REGISTRY.register( - "asv/mdanalysis/mdanalysis", + "python-control/python-control:pkg", DockerContext( building_data=""" #!/usr/bin/env bash -cd_asv_json_dir() { - local match - match=$(find . -type f -name "asv.*.json" | head -n 1) - - if [[ -n "$match" ]]; then - local dir - dir=$(dirname "$match") - cd "$dir" || echo "Failed to change directory to $dir" - else - echo "No 'asv.*.json' file found in current directory or subdirectories." - fi -} +# Purpose: Build/install the repo (editable) in one or more ASV micromamba envs, then run health checks. +set -euo pipefail + +###### SETUP CODE (NOT TO BE MODIFIED) ###### +# Loads micromamba, common helpers, and persisted variables from the env stage. +source /etc/profile.d/asv_utils.sh || true +source /etc/profile.d/asv_build_vars.sh || true eval "$(micromamba shell hook --shell=bash)" -micromamba activate base - -ROOT_PATH=${PWD} -cd_asv_json_dir || exit 1 -CONF_NAME=$(basename "$(find . -type f -name "asv.*.json" | head -n 1)") -if [[ -z "$CONF_NAME" ]]; then - echo "No 'asv.*.json' file found in current directory or subdirectories." - exit 1 + +ROOT_PATH=${ROOT_PATH:-$PWD} # Usually /workspace/repo +REPO_ROOT="$ROOT_PATH" +TARGET_VERSIONS="${PY_VERSION:-${ASV_PY_VERSIONS:-}}" +if [[ -z "${TARGET_VERSIONS}" ]]; then + echo "Error: No PY_VERSION set and ASV_PY_VERSIONS not found." >&2 + exit 1 fi -python_versions=$(python -c "import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))") -for version in $python_versions; do - python -c "import asv, os, pathlib -path = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"') -path.mkdir(parents=True, exist_ok=True) - -config = asv.config.Config.load('$CONF_NAME') -config.results_dir = str(path / 'results') -config.html_dir = str(path / 'html') - -asv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version) -asv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version) -" - micromamba create -y -n "asv_${version}" -c conda-forge python="$version" git conda mamba "libmambapy<=1.9.9" numpy scipy "cython<3" joblib threadpoolctl pytest compilers meson-python - micromamba run -n "asv_${version}" pip install git+https://github.com/airspeed-velocity/asv - #### BUILD STEPS GO HERE. #### - # if maintainer/install_all.sh exists run it with develop - if [[ -f "maintainer/install_all.sh" ]]; then - micromamba activate "asv_${version}" - working_dir=$(pwd) - cd "$ROOT_PATH" || exit 1 - bash maintainer/install_all.sh develop - cd "$working_dir" || exit 1 - else - micromamba run -n "asv_${version}" pip install --verbose --no-build-isolation --editable . +###### END SETUP CODE ###### + +# ----------------------------- +# Agent guidance (read-first) +# ----------------------------- +# GOAL: For each Python version below, install the project in EDITABLE mode into env asv_{version}, +# with NO build isolation, then run health checks. +# +# Below this comment, you should do whatever is necessary to build the project without errors. Including (but not limited to): +# - Add extra conda/pip dependencies needed to build this project. +# - Run repo-specific pre-steps (e.g., submodules, generating Cython, env vars). +# - Run arbitrary micromamba/pip commands in the target env. +# - Set CFLAGS/CXXFLAGS/LDFLAGS if needed for this repo. +# - Change files in the repo if needed (e.g., fix a missing #include). +# - Anything else needed to get a successful editable install. +# +# MUST: +# - Keep this script idempotent. +# - Use: `pip install --no-build-isolation -v -e .` or `pip install -e .` or equivalent. +# - Do not modify the SETUP CODE or helper functions below. +# +# DO NOT: +# - Change env names or Python versions outside MODEL EDIT AREA. +# - Use build isolation unless absolutely necessary. + +# ----------------------------- +# Helpers (do not modify) +# ----------------------------- +log() { printf "\033[1;34m[build]\033[0m %s\n" "$*"; } +warn() { printf "\033[1;33m[warn]\033[0m %s\n" "$*" >&2; } +die() { printf "\033[1;31m[fail]\033[0m %s\n" "$*" >&2; exit 1; } + +# Conservative default parallelism (override if the repo benefits) +export CMAKE_BUILD_PARALLEL_LEVEL="${CMAKE_BUILD_PARALLEL_LEVEL:-2}" +export NPY_NUM_BUILD_JOBS="${NPY_NUM_BUILD_JOBS:-2}" + +# ----------------------------- +# Build & test across envs +# ----------------------------- +for version in $TARGET_VERSIONS; do + ENV_NAME="asv_${version}" + log "==> Building in env: $ENV_NAME (python=$version)" + + if ! micromamba env list | awk '{print $1}' | grep -qx "$ENV_NAME"; then + die "Env $ENV_NAME not found. Did docker_build_env.sh run?" + fi + + # Import name resolution (kept simple for the agent) + IMP="${IMPORT_NAME:-}" + if [[ -z "$IMP" ]]; then + if ! IMP="$(asv_detect_import_name --repo-root "$REPO_ROOT" 2>/dev/null)"; then + die "Could not determine import name. Set IMPORT_NAME in /etc/profile.d/asv_build_vars.sh" fi - #### BUILD STEPS END HERE. #### + fi + log "Using import name: $IMP" + + # ----------------------------- + # MODEL EDIT AREA: repo-specific tweaks (optional) + # ----------------------------- + # Examples (uncomment if needed for this repo): + # + # log "Updating submodules" + # git -C "$REPO_ROOT" submodule update --init --recursive + # + # log "Installing extra system libs via conda-forge" + # micromamba install -y -n "$ENV_NAME" -c conda-forge 'openblas' 'blas=*=openblas' 'libopenmp' + # + # log "Pre-generating Cython sources" + # micromamba run -n "$ENV_NAME" python -m cython --version + # + # export CFLAGS="${CFLAGS:-}" + # export CXXFLAGS="${CXXFLAGS:-}" + # export LDFLAGS="${LDFLAGS:-}" + # ----------------------------- + + # Install some basic micromamba packages. + + micromamba install -y -n "$ENV_NAME" -c conda-forge git conda mamba "libmambapy<=1.9.9" numpy scipy cython joblib threadpoolctl pytest compilers + if [[ -f "${ROOT_PATH}/make_version.py" ]]; then + micromamba run -n "$ENV_NAME" python "${ROOT_PATH}/make_version.py" + fi + + # Editable install (no build isolation preferrably). Toolchain lives in the env already. + log "Editable install with --no-build-isolation" + PIP_NO_BUILD_ISOLATION=1 micromamba run -n "$ENV_NAME" python -m pip install --no-build-isolation -v -e "$REPO_ROOT" + + # Health checks (import + compiled extension probe; optional pytest smoke with RUN_PYTEST_SMOKE=1) + log "Running smoke checks" + micromamba run -n "$ENV_NAME" asv_smokecheck.py --import-name "$IMP" --repo-root "$REPO_ROOT" ${RUN_PYTEST_SMOKE:+--pytest-smoke} + + # Machine-readable markers (useful in logs) + echo "::import_name=${IMP}::env=${ENV_NAME}" done + +log "All builds complete βœ…" """.strip(), - dockerfile_data=CONTEXT_REGISTRY["asv/default/default"].dockerfile_data, - entrypoint_data=CONTEXT_REGISTRY["asv/default/default"].entrypoint_data, ), ) + # CONTEXT_REGISTRY.register( -# "asv/default/nobuild", +# "mdanalysis/mdanalysis:pkg", # DockerContext( -# building_data="""#!/usr/bin/env bash -# cd_asv_json_dir() { -# local match -# match=$(find . -type f -name "asv.*.json" | head -n 1) - -# if [[ -n "$match" ]]; then -# local dir -# dir=$(dirname "$match") -# cd "$dir" || echo "Failed to change directory to $dir" -# else -# echo "No 'asv.*.json' file found in current directory or subdirectories." -# fi -# } +# building_data=""" +# #!/usr/bin/env bash +# # Purpose: Build/install the repo (editable) in one or more ASV micromamba envs, then run health checks. +# set -euo pipefail + +# ###### SETUP CODE (NOT TO BE MODIFIED) ###### +# # Loads micromamba, common helpers, and persisted variables from the env stage. +# source /etc/profile.d/asv_utils.sh || true +# source /etc/profile.d/asv_build_vars.sh || true # eval "$(micromamba shell hook --shell=bash)" -# micromamba activate base - -# ROOT_PATH=${PWD} -# cd_asv_json_dir || exit 1 -# CONF_NAME=$(basename "$(find . -type f -name "asv.*.json" | head -n 1)") -# if [[ -z "$CONF_NAME" ]]; then -# echo "No 'asv.*.json' file found in current directory or subdirectories." -# exit 1 + +# ROOT_PATH=${ROOT_PATH:-$PWD} # Usually /workspace/repo +# REPO_ROOT="$ROOT_PATH" +# TARGET_VERSIONS="${PY_VERSION:-${ASV_PY_VERSIONS:-}}" +# if [[ -z "${TARGET_VERSIONS}" ]]; then +# echo "Error: No PY_VERSION set and ASV_PY_VERSIONS not found." >&2 +# exit 1 # fi -# python_versions=$(python -c "import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))") -# for version in $python_versions; do -# python -c "import asv, os, pathlib -# path = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"') -# path.mkdir(parents=True, exist_ok=True) - -# config = asv.config.Config.load('$CONF_NAME') -# config.results_dir = str(path / 'results') -# config.html_dir = str(path / 'html') - -# asv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version) -# asv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version) -# " -# micromamba create -y -n "asv_${version}" -c conda-forge python="$version" git conda mamba "libmambapy<=1.9.9" numpy scipy cython joblib threadpoolctl pytest compilers -# micromamba activate "asv_${version}" -# pip install git+https://github.com/airspeed-velocity/asv -# pip install -U meson-python "cython<3" "numpy<2" "setuptools==60" "scipy<1.14" -# # BUILD STEPS GO HERE. +# ###### END SETUP CODE ###### + +# # ----------------------------- +# # Agent guidance (read-first) +# # ----------------------------- +# # GOAL: For each Python version below, install the project in EDITABLE mode into env asv_{version}, +# # with NO build isolation, then run health checks. +# # +# # Below this comment, you should do whatever is necessary to build the project without errors. Including (but not limited to): +# # - Add extra conda/pip dependencies needed to build this project. +# # - Run repo-specific pre-steps (e.g., submodules, generating Cython, env vars). +# # - Run arbitrary micromamba/pip commands in the target env. +# # - Set CFLAGS/CXXFLAGS/LDFLAGS if needed for this repo. +# # - Change files in the repo if needed (e.g., fix a missing #include). +# # - Anything else needed to get a successful editable install. +# # +# # MUST: +# # - Keep this script idempotent. +# # - Use: `pip install --no-build-isolation -v -e .` or `pip install -e .` or equivalent. +# # - Do not modify the SETUP CODE or helper functions below. +# # +# # DO NOT: +# # - Change env names or Python versions outside MODEL EDIT AREA. +# # - Use build isolation unless absolutely necessary. + +# # ----------------------------- +# # Helpers (do not modify) +# # ----------------------------- +# log() { printf "\033[1;34m[build]\033[0m %s\n" "$*"; } +# warn() { printf "\033[1;33m[warn]\033[0m %s\n" "$*" >&2; } +# die() { printf "\033[1;31m[fail]\033[0m %s\n" "$*" >&2; exit 1; } + +# # Conservative default parallelism (override if the repo benefits) +# export CMAKE_BUILD_PARALLEL_LEVEL="${CMAKE_BUILD_PARALLEL_LEVEL:-2}" +# export NPY_NUM_BUILD_JOBS="${NPY_NUM_BUILD_JOBS:-2}" + +# # ----------------------------- +# # Build & test across envs +# # ----------------------------- +# for version in $TARGET_VERSIONS; do +# ENV_NAME="asv_${version}" +# log "==> Building in env: $ENV_NAME (python=$version)" + +# if ! micromamba env list | awk '{print $1}' | grep -qx "$ENV_NAME"; then +# die "Env $ENV_NAME not found. Did docker_build_env.sh run?" +# fi + +# # Import name resolution (kept simple for the agent) +# IMP="${IMPORT_NAME:-}" +# if [[ -z "$IMP" ]]; then +# if ! IMP="$(asv_detect_import_name --repo-root "$REPO_ROOT" 2>/dev/null)"; then +# die "Could not determine import name. Set IMPORT_NAME in /etc/profile.d/asv_build_vars.sh" +# fi +# fi +# log "Using import name: $IMP" + +# # ----------------------------- +# # MODEL EDIT AREA: repo-specific tweaks (optional) +# # ----------------------------- +# # Examples (uncomment if needed for this repo): +# # +# # log "Updating submodules" +# # git -C "$REPO_ROOT" submodule update --init --recursive +# # +# # log "Installing extra system libs via conda-forge" +# # micromamba install -y -n "$ENV_NAME" -c conda-forge 'openblas' 'blas=*=openblas' 'libopenmp' +# # +# # log "Pre-generating Cython sources" +# # micromamba run -n "$ENV_NAME" python -m cython --version +# # +# # export CFLAGS="${CFLAGS:-}" +# # export CXXFLAGS="${CXXFLAGS:-}" +# # export LDFLAGS="${LDFLAGS:-}" +# # ----------------------------- + +# # Install some basic micromamba packages. + +# micromamba install -y -n "$ENV_NAME" -c conda-forge git conda mamba "libmambapy<=1.9.9" numpy scipy "cython<3" joblib threadpoolctl pytest compilers meson-python +# # if maintainer/install_all.sh exists run it with develop +# if [[ -f "maintainer/install_all.sh" ]]; then +# micromamba activate "$ENV_NAME" +# working_dir=$(pwd) +# cd "$ROOT_PATH" || exit 1 +# bash maintainer/install_all.sh develop +# cd "$working_dir" || exit 1 +# else +# # Editable install (no build isolation preferrably). Toolchain lives in the env already. +# log "Editable install with --no-build-isolation" +# PIP_NO_BUILD_ISOLATION=1 micromamba run -n "$ENV_NAME" python -m pip install --no-build-isolation -v -e "$REPO_ROOT" +# fi + + +# # Health checks (import + compiled extension probe; optional pytest smoke with RUN_PYTEST_SMOKE=1) +# log "Running smoke checks" +# micromamba run -n "$ENV_NAME" asv_smokecheck.py --import-name "$IMP" --repo-root "$REPO_ROOT" ${RUN_PYTEST_SMOKE:+--pytest-smoke} + +# # Machine-readable markers (useful in logs) +# echo "::import_name=${IMP}::env=${ENV_NAME}" # done + +# log "All builds complete βœ…" # """.strip(), -# dockerfile_data=CONTEXT_REGISTRY["asv/default/default"].dockerfile_data, -# entrypoint_data=CONTEXT_REGISTRY["asv/default/default"].entrypoint_data, # ), # ) -CONTEXT_REGISTRY.save_to_file(Path("scratch/context_registry_init.json")) + +# if __name__ == "__main__": +# from pathlib import Path + +# CONTEXT_REGISTRY.save_to_file(Path("scratch/context_registry_init.json")) +# # for each context, build an image with the context. +# import docker + +# from datasmith.docker.context import ContextRegistry, DockerContext, Task + +# client = docker.from_env() + +# import concurrent.futures + +# fails = dict() + +# def build_context(task_context): +# task, context = task_context +# if not task.sha: +# import requests + +# resp = requests.get(f"https://api.github.com/repos/{task.owner}/{task.repo}") +# resp.raise_for_status() +# commit_sha = resp.json().get("default_branch", "main") +# task = Task(owner=task.owner, repo=task.repo, sha=commit_sha, tag=task.tag) +# print(f"Building image for {task.get_image_name()} at {task.sha}") +# res = context.build_container_streaming( +# client=client, +# image_name=task.get_image_name(), +# build_args={ +# "REPO_URL": f"https://www.github.com/{task.owner}/{task.repo}", +# "COMMIT_SHA": task.sha, # pyright: ignore[reportArgumentType] +# }, +# force=True, +# timeout_s=1200, +# pull=True, +# ) +# return (task, res) + +# with concurrent.futures.ProcessPoolExecutor() as executor: +# futures = {executor.submit(build_context, item): item[0] for item in CONTEXT_REGISTRY.registry.items()} +# for future in concurrent.futures.as_completed(futures): +# task = futures[future] +# try: +# task, res = future.result() +# if res.ok: +# print(f"Built image {task.get_image_name()} successfully") +# else: +# print(f"Failed to build image {task.get_image_name()}") +# fails[task] = res +# except Exception as exc: +# print(f"Exception building image {task.get_image_name()}: {exc}") +# fails[task] = exc + +# if fails: +# import IPython + +# IPython.embed() diff --git a/scratch/scripts/parallel_validate_containers.py b/scratch/scripts/parallel_validate_containers.py index 2eddd91..c40d631 100644 --- a/scratch/scripts/parallel_validate_containers.py +++ b/scratch/scripts/parallel_validate_containers.py @@ -72,7 +72,9 @@ def process_inputs(args: argparse.Namespace) -> dict[tuple[str, str], set[tuple[ else: all_states[(owner, repo)].add((sha, 0.0)) elif args.commits: - commits = pd.read_json(args.commits, lines=True) + commits = ( + pd.read_json(args.commits, lines=True) if args.commits.suffix == ".jsonl" else pd.read_parquet(args.commits) + ) all_states = {} for _, row in commits.iterrows(): repo_name = row["repo_name"] diff --git a/scratch/scripts/synthesize_contexts.py b/scratch/scripts/synthesize_contexts.py index e46b2e9..5b1a771 100644 --- a/scratch/scripts/synthesize_contexts.py +++ b/scratch/scripts/synthesize_contexts.py @@ -9,6 +9,7 @@ import asv import pandas as pd +from datasmith.agents.config import configure_agent_backends from datasmith.agents.context_synthesis import agent_build_and_validate from datasmith.benchmark.collection import BenchmarkCollection from datasmith.docker.context import ContextRegistry @@ -17,6 +18,8 @@ from datasmith.logging_config import configure_logging from datasmith.scrape.utils import _parse_commit_url +configure_agent_backends(PORTKEY_MODEL_NAME="@anthropic/claude-3-5-sonnet-latest") + logger = configure_logging(level=10) # logger = configure_logging(level=10, stream=open(Path(__file__).with_suffix(".log"), "w")) @@ -60,6 +63,7 @@ def parse_args() -> argparse.Namespace: parser.add_argument( "--context-registry", type=Path, + required=True, help="Path to the context registry JSON file.", ) return parser.parse_args() @@ -75,11 +79,13 @@ def process_inputs(args: argparse.Namespace) -> dict[tuple[str, str], set[tuple[ else: all_states[(owner, repo)].add((sha, 0.0)) elif args.commits: - commits = pd.read_json(args.commits, lines=True) + commits = ( + pd.read_json(args.commits, lines=True) if args.commits.suffix == ".jsonl" else pd.read_parquet(args.commits) + ) all_states = {} for _, row in commits.iterrows(): repo_name = row["repo_name"] - sha = row["commit_sha"] + sha = row["sha"] has_asv = row.get("has_asv", True) if not has_asv: logger.debug(f"Skipping {repo_name} commit {sha} as it does not have ASV benchmarks.") @@ -115,7 +121,13 @@ def prepare_tasks( def main(args: argparse.Namespace) -> None: client = get_docker_client() all_states = process_inputs(args) - context_registry = ContextRegistry.load_from_file(path=args.context_registry) + if not args.context_registry.exists(): + logger.warning("main: context registry file %s does not exist; starting fresh", args.context_registry) + context_registry = ( + ContextRegistry.load_from_file(path=args.context_registry) + if args.context_registry.exists() + else ContextRegistry() + ) # Prepare tasks tasks = prepare_tasks(all_states, args.limit_per_repo, context_registry) diff --git a/src/datasmith/__init__.py b/src/datasmith/__init__.py index 707e7fd..368d658 100644 --- a/src/datasmith/__init__.py +++ b/src/datasmith/__init__.py @@ -2,7 +2,6 @@ import dotenv -from datasmith.agents.config import configure_agent_backends from datasmith.logging_config import configure_logging # Configure logging with the centralized configuration @@ -16,8 +15,5 @@ def setup_environment() -> None: else: logger.warning("No tokens.env file found. Skipping environment variable setup.") - # Initialize agent backends - configure_agent_backends() - setup_environment() diff --git a/src/datasmith/agents/config.py b/src/datasmith/agents/config.py index 4bed37d..83b0572 100644 --- a/src/datasmith/agents/config.py +++ b/src/datasmith/agents/config.py @@ -8,13 +8,17 @@ logger = logging.getLogger(__name__) -def configure_agent_backends() -> None: +def configure_agent_backends(local: bool = False, PORTKEY_MODEL_NAME: str | None = None) -> None: model = os.getenv("DSPY_MODEL_NAME") backend_url = os.getenv("DSPY_URL") kwargs: dict[str, str | dict[str, str]] = {"model_type": "chat"} if portkey_api_key := os.getenv("PORTKEY_API_KEY"): api_key = "unused-by-portkey" - model = os.getenv("PORTKEY_MODEL_NAME", "@anthropic/claude-3-5-sonnet-latest") + model = ( + PORTKEY_MODEL_NAME + if PORTKEY_MODEL_NAME + else os.getenv("PORTKEY_MODEL_NAME", "@anthropic/claude-3-5-sonnet-latest") + ) backend_url = PORTKEY_GATEWAY_URL kwargs["headers"] = { "x-portkey-api-key": portkey_api_key, @@ -35,5 +39,19 @@ def configure_agent_backends() -> None: logger.warning("Environment variables for DSPY model or API key are not set.") return - lm = dspy.LM(model=model, api_base=backend_url, api_key=api_key, **kwargs) # pyright: ignore[reportArgumentType] + lm = get_local_lm() if local else dspy.LM(model=model, api_base=backend_url, api_key=api_key, **kwargs) # pyright: ignore[reportArgumentType] dspy.configure(lm=lm) + # Saves responses to ~/.dspy_cache + dspy.configure_cache( + enable_disk_cache=True, + enable_memory_cache=True, + ) + + +def get_local_lm() -> dspy.LM: + if (model := os.getenv("DSPY_MODEL_NAME", None)) and (backend_url := os.getenv("DSPY_URL", None)): + api_key = os.getenv("DSPY_API_KEY", None) + return dspy.LM(model=model, api_base=backend_url, api_key=api_key, model_type="chat") + raise NotImplementedError( + "Local LM is not configured. Please set DSPY_MODEL_NAME and DSPY_URL environment variables." + ) diff --git a/src/datasmith/agents/container_toolbox.py b/src/datasmith/agents/container_toolbox.py index d9bd644..d676aab 100644 --- a/src/datasmith/agents/container_toolbox.py +++ b/src/datasmith/agents/container_toolbox.py @@ -79,7 +79,7 @@ def start(self) -> None: logger.warning("Container name conflict, trying to remove existing container %s.", self.name) try: old_container = self.client.containers.get(self.name) - old_container.stop(timeout=3) + old_container.stop(timeout=60) old_container.remove(force=True) except NotFound: pass @@ -348,24 +348,13 @@ def try_import(self, cmd_python: str, candidates: list[str]) -> dict: if line.startswith("IMPORTED::"): succeeded = line.split("::", 2)[1] break + stdout_snip = (res.stdout[:1000] + "..." + res.stdout[-1000:]) if len(res.stdout) > 2000 else res.stdout + stderr_snip = (res.stderr[:1000] + "..." + res.stderr[-1000:]) if len(res.stderr) > 2000 else res.stderr return { "ok": ok, "tried": candidates, "succeeded": succeeded, - "stdout": res.stdout[-2000:], - "stderr": res.stderr[-2000:], + "stdout": stdout_snip, + "stderr": stderr_snip, "rc": 0 if ok else 1, } - - -if __name__ == "__main__": - logging.basicConfig(level=logging.DEBUG) - client = docker.from_env() - img_name = "asvprobe/textualize/rich/1de94713811101702b8fcf283c64d1a5de5a8213" - pc = PersistentContainer( - client, img_name, name=img_name.replace("/", "-").replace(":", "-"), workdir="/workspace/repo" - ) - import IPython - - IPython.embed() - pc.stop() diff --git a/src/datasmith/agents/context_synthesis.py b/src/datasmith/agents/context_synthesis.py index 9508b07..a0885a0 100644 --- a/src/datasmith/agents/context_synthesis.py +++ b/src/datasmith/agents/context_synthesis.py @@ -10,13 +10,11 @@ import docker import dspy -from datasmith.agents.config import configure_agent_backends from datasmith.agents.tool_executor import ContainerToolExecutor from datasmith.docker.context import BuildResult, ContextRegistry, DockerContext from datasmith.docker.validation import Task, validate_one logger = logging.getLogger(__name__) -configure_agent_backends() def _preview(s: str, n: int = 160) -> str: @@ -34,47 +32,57 @@ def _ts_to_iso(ts: float | int | None) -> str: return str(ts) -class BuildScriptSynthesis(dspy.Signature): - """ - Draft a bash script (docker_build.sh) to build & install a Python repo inside micromamba envs - discovered via asv.*.json. The script MUST be idempotent and safe to run in Docker. - Respect this template: - - discover and cd into the dir containing asv.*.json - - for each python version listed there: - * create micromamba env "asv_${version}" - * ensure asv + build tooling - * then perform project install (editable or wheel) with best-guess flags - - no user prompts, all non-interactive - - Do not surround with ```bash ... ```. Return raw bash script. - """ - - # Inputs - owner_repo = dspy.InputField(desc="The repository this commit belongs to. E.g. 'scikit-learn/scikit-learn'.") - sha = dspy.InputField(desc="The commit SHA that is currently checked out.") - commit_date = dspy.InputField(desc="The commit date in ISO format, e.g. '2023-10-05T12:34:56Z'.") - stderr_logs = dspy.InputField( - desc="The most recent stderr logs from the last build attempt. Upto ~8k tail-end chars." - ) - stdout_logs = dspy.InputField( - desc="The most recent stdout logs from the last build attempt. Upto ~8k tail-end chars." - ) - failure_more = dspy.InputField( - desc="Describes where the failure occured. E.g. 'N/A', 'build failed', 'asv run failed'." - ) - last_docker_build_script = dspy.InputField(desc="Previous docker_build.sh script.") - expected_template = dspy.InputField(desc="Stable outer template..") - - # Output - error_summary = dspy.OutputField(desc="A brief summary of the last build failure, and possible causes.") - resolution_steps = dspy.OutputField(desc="Concrete steps to resolve the failure.") - docker_build_script = dspy.OutputField( - desc="Final executable bash script that successfully builds the project from source." - ) +# class BuildScriptSynthesis(dspy.Signature): +# """ +# Draft a bash script (docker_build.sh) to build & install a Python repo inside micromamba envs +# discovered via asv.*.json. The script MUST be idempotent and safe to run in Docker. +# Respect this template: +# - discover and cd into the dir containing asv.*.json +# - for each python version listed there: +# * create micromamba env "asv_${version}" +# * ensure asv + build tooling +# * then perform project install (editable or wheel) with best-guess flags +# - no user prompts, all non-interactive +# - Do not surround with ```bash ... ```. Return raw bash script. +# """ + +# # Inputs +# owner_repo = dspy.InputField(desc="The repository this commit belongs to. E.g. 'scikit-learn/scikit-learn'.") +# sha = dspy.InputField(desc="The commit SHA that is currently checked out.") +# commit_date = dspy.InputField(desc="The commit date in ISO format, e.g. '2023-10-05T12:34:56Z'.") +# stderr_logs = dspy.InputField( +# desc="The most recent stderr logs from the last build attempt. Upto ~8k tail-end chars." +# ) +# stdout_logs = dspy.InputField( +# desc="The most recent stdout logs from the last build attempt. Upto ~8k tail-end chars." +# ) +# failure_more = dspy.InputField( +# desc="Describes where the failure occured. E.g. 'N/A', 'build failed', 'asv run failed'." +# ) +# last_docker_build_script = dspy.InputField(desc="Previous docker_build.sh script.") +# initial_template = dspy.InputField(desc="Stable outer template..") + +# # Output +# error_summary = dspy.OutputField(desc="A brief summary of the last build failure, and possible causes.") +# resolution_steps = dspy.OutputField(desc="Concrete steps to resolve the failure.") +# docker_build_script = dspy.OutputField( +# desc="Final executable bash script that successfully builds the project from source." +# ) +# Draft a bash script (docker_build.sh) to build & install a Python repo inside micromamba envs +# discovered via asv.*.json. The script MUST be idempotent and safe to run in Docker. +# Respect this template: +# - discover and cd into the dir containing asv.*.json +# - for each python version listed there: +# * create micromamba env "asv_${version}" +# * ensure asv + build tooling +# * then perform project install (editable or wheel) with best-guess flags +# - no user prompts, all non-interactive +# - Do not surround with ```bash ... ```. Return raw bash script. class BuildScriptAgentStep(dspy.Signature): """ - An interactive planner for producing docker_build.sh. It can either: + An interactive planner for producing a bash script (docker_build.sh) to build and install a Python repo inside micromamba envs. It can either: (A) request a TOOL call (probe_repo, list_tree, read_file, try_import) with JSON args, or (B) output the final script. If you need a tool, set next_action to one of: 'probe_repo' | 'list_tree' | 'read_file' | 'try_import' | 'none'. @@ -82,6 +90,11 @@ class BuildScriptAgentStep(dspy.Signature): For list_tree, provide JSON like {"depth": 2}. For try_import, provide JSON like {"candidates": ["foo", "bar"]}. Return docker_build_script ONLY when you're satisfied. + + Respect these constraints: + - The script MUST be idempotent and safe to run in Docker. + - No user prompts, all non-interactive. + - Do not surround with Markdown tags like ```bash ... ```. """ # Inputs (context) @@ -98,8 +111,10 @@ class BuildScriptAgentStep(dspy.Signature): desc="Describes where the failure occured. E.g. 'N/A', 'build failed', 'asv run failed'." ) last_docker_build_script = dspy.InputField(desc="Previous docker_build.sh script.") - expected_template = dspy.InputField(desc="Stable outer template..") - repo_facts_json = dspy.InputField(desc="JSON of inferred repo facts (paths, candidates, versions).") + initial_template = dspy.InputField( + desc="Initial template of the docker_build.sh script with important instructions." + ) + repo_facts_json = dspy.InputField(desc="Some inferred repo facts (A JSON object with paths, candidates, versions).") toolbelt = dspy.InputField(desc="Human-readable summary of available tools.") messages_log = dspy.InputField(desc="Transcript of prior tool actions & observations.") @@ -127,6 +142,8 @@ def _toolbelt_text(self) -> str: "- list_tree(depth=2): show a trimmed top-level tree for orientation.\n" "- read_file(path, max_bytes=65536): read a file at this commit.\n" "- try_import(candidates=[...]): (post-build) quick python import check inside the built image.\n" + "- exec_arbitrary(command): run arbitrary shell command in the checked-out repo (careful!).\n" + "- none/finish + docker_build_script: when you are satisfied, return the final build script in the docker_build_script field.\n" ) def forward( @@ -138,7 +155,7 @@ def forward( stdout_logs: str, failure_more: str, last_docker_build_script: str, - expected_template: str, + initial_template: str, repo_facts_json: str, tool_executor: ContainerToolExecutor, max_steps: int = 4, @@ -164,7 +181,7 @@ def forward( stdout_logs=stdout_logs or "", failure_more=failure_more or "N/A", last_docker_build_script=last_docker_build_script or "", - expected_template=expected_template, + initial_template=initial_template, repo_facts_json=repo_facts_json or "{}", toolbelt=toolbelt, messages_log=messages_log, @@ -200,19 +217,20 @@ def forward( # stdout_logs=stdout_logs or "", # failure_more=failure_more or "N/A", # last_docker_build_script=last_docker_build_script or "", - # expected_template=expected_template, + # initial_template=initial_template, # ) # Safety belt: ensure the required fixed template anchors are present. # script = out.docker_build_script.strip() # pyright: ignore[reportAttributeAccessIssue] script = (iter_script or "").strip() logger.debug("DSPy: candidate script preview: %s", _preview(script, 240)) - must_haves = ["cd_asv_json_dir()", "micromamba", "for version in $python_versions; do"] + must_haves = ["###### SETUP CODE (NOT TO BE MODIFIED) ######"] ok_template = all(m in script for m in must_haves) - must_not_haves = ["```", "import IPython", "from IPython", "exit(", "sys.exit("] + must_not_haves = ["```bash", "```", "import IPython", "from IPython"] no_bad = all(m not in script for m in must_not_haves) - if (not ok_template) or (not no_bad): - logger.warning("DSPy: template anchors missing; falling back to provided template") - script = expected_template + if not ok_template: + raise RuntimeError(f"Generated script is missing required template anchors: {must_haves}") + if not no_bad: + raise RuntimeError(f"Generated script contains disallowed fragments: {must_not_haves}") logger.info("DSPy: finalized script length=%d", len(script)) assert isinstance(script, str), "type mismatch" # noqa: S101 return script @@ -258,27 +276,32 @@ def synthesize_script( merged_log = _merge_tail(stderr_tail, stdout_tail) logger.debug("synthesize_script: merged_log_len=%d", len(merged_log)) - script = program( - owner_repo=f"{task.owner}/{task.repo}", - sha=task.sha, - commit_date=_ts_to_iso(getattr(task, "commit_date", None)), - stderr_logs=stderr_tail or "", - stdout_logs=stdout_tail or "", - failure_more=failure_more or "N/A", - last_docker_build_script=last_script or "", - expected_template=building_template, - repo_facts_json=tool_exec.facts_json(), - tool_executor=tool_exec, - max_steps=max_steps, - ) - script = str(script) - logger.info("synthesize_script: script length=%d", len(script)) + try: + script = program( + owner_repo=f"{task.owner}/{task.repo}", + sha=task.sha, + commit_date=_ts_to_iso(getattr(task, "commit_date", None)), + stderr_logs=stderr_tail or "", + stdout_logs=stdout_tail or "", + failure_more=failure_more or "N/A", + last_docker_build_script=last_script or "", + initial_template=building_template, + repo_facts_json=tool_exec.facts_json(), + tool_executor=tool_exec, + max_steps=max_steps, + ) + script = str(script) + logger.info("synthesize_script: script length=%d", len(script)) + except Exception: + logger.exception("synthesize_script: error=%s") + return "" + return script def build_once_with_context( client: docker.DockerClient, - image_name: str, + task: Task, context: DockerContext, repo_url: str, sha: str, @@ -287,8 +310,9 @@ def build_once_with_context( tail_chars: int, probe: bool = False, pull: bool = False, + force: bool = True, ) -> BuildResult: - logger.info("build_once_with_context: registering context key=%s", image_name) + logger.info("build_once_with_context: registering context key=%s", task.get_image_name()) logger.debug( "build_once_with_context: build args: REPO_URL=%s, COMMIT_SHA=%s, timeout_s=%s, tail_chars=%s, pull=%s", repo_url, @@ -297,12 +321,13 @@ def build_once_with_context( tail_chars, pull, ) + res = context.build_container_streaming( client=client, - image_name=image_name, + image_name=task.get_image_name(), build_args={"REPO_URL": repo_url, "COMMIT_SHA": sha}, probe=probe, - force=True, + force=force, timeout_s=timeout_s, tail_chars=tail_chars, pull=pull, @@ -332,18 +357,19 @@ def agent_build_and_validate( Saves attempt pickles and final pickle on success. """ assert task.sha is not None, "task.sha must be set" # noqa: S101 - other_contexts = context_registry.get_similar(task) - logger.info("agent_build_and_validate: found %d similar contexts", len(other_contexts)) - if len(other_contexts) >= 1: - _, most_similar_ctx = other_contexts[0] - default_building_data = most_similar_ctx.building_data + default_building_template = context_registry.get_default(tag="env")[1].building_data + if len(similar_contexts := context_registry.get_similar(task.with_tag("env"))) > 0: + _, context = similar_contexts[0] + logger.info( + "build_once_with_context: found %d similar contexts; using most similar with key=%s", + len(similar_contexts), + str(context), + ) + first_guess = context.building_data else: - _, most_similar_ctx = context_registry.get_default() - default_building_data = context_registry["asvprobe/default/default"].building_data - - import IPython - - IPython.embed() + _, context = context_registry.get_default(tag="env") + logger.info("build_once_with_context: no similar context found; using default with key=%s", str(context)) + first_guess = default_building_template logger.info( "agent_build_and_validate: start for %s/%s@%s (max_attempts=%d)", task.owner, task.repo, task.sha, max_attempts @@ -351,57 +377,47 @@ def agent_build_and_validate( program = BuildScriptProgram() - image_name = f"asv/{task.owner}/{task.repo}/{task.sha}".lower() + # image_name = f"asv/{task.owner}/{task.repo}/{task.sha}".lower() + repo_url = f"https://www.github.com/{task.owner}/{task.repo}" - logger.debug("agent_build_and_validate: image_name=%s repo_url=%s", image_name, repo_url) + logger.debug("agent_build_and_validate: task=%s repo_url=%s", task, repo_url) # build probe. - probe_image_name = image_name.replace("asv/", "asvprobe/") - if not client.images.list(name=probe_image_name): + if not client.images.list(name=task.with_tag("env").get_image_name()): logger.info("agent_build_and_validate: probe image not found, building probe image") - probe_res = build_once_with_context( + env_res = build_once_with_context( client=client, - image_name=probe_image_name, - context=most_similar_ctx, + task=task.with_tag("env"), + context=context, repo_url=repo_url, sha=task.sha, timeout_s=args.build_timeout, tail_chars=args.tail_chars, probe=True, pull=True, + force=False, # If the env is already present, don't rebuild (saves time) ) - if not probe_res.ok: + if not env_res.ok: logger.warning("agent_build_and_validate: probe build failed; something is wrong with Dockerfile") raise RuntimeError("probe build failed; check Dockerfile.") tool_exec = ContainerToolExecutor( docker_client=client, - image_name=probe_image_name, - container_name=probe_image_name.replace("/", "-"), + image_name=task.with_tag("env").get_image_name(), + container_name=task.with_tag("env").get_container_name(), workdir="/workspace/repo/", ) try: attempts: list[AttemptRecord] = [] - prior_script = "" # empty on attempt #1 # Attempt loop - for i in range(1, max_attempts + 1): + for i in range(max_attempts + 1): logger.info("agent_build_and_validate: attempt %d/%d", i, max_attempts) - if i == 1: + if i == 0: failure_more = "N/A" - script = synthesize_script( - program, - task, - prior_script, - stderr_tail="", - stdout_tail="", - building_template=default_building_data, - failure_more=failure_more, - tool_exec=tool_exec, - max_steps=args.max_steps, - ) + script = first_guess else: last = attempts[-1].build_result stderr_tail = (last.stderr_tail if last else "") or "" @@ -416,40 +432,55 @@ def agent_build_and_validate( len(stdout_tail), failure_more, ) - script = synthesize_script( - program, - task, - attempts[-1].building_data, - stderr_tail=stderr_tail, - stdout_tail=stdout_tail, - building_template=default_building_data, - failure_more=failure_more, - tool_exec=tool_exec, - max_steps=args.max_steps, - ) + try: + script = synthesize_script( + program, + task, + attempts[-1].building_data, + stderr_tail=stderr_tail, + stdout_tail=stdout_tail, + building_template=default_building_template, + failure_more=failure_more, + tool_exec=tool_exec, + max_steps=args.max_steps, + ) + except Exception as e: + logger.error("agent_build_and_validate: synthesis error: %s", e, exc_info=True) + build_res = BuildResult( + ok=False, + image_id=None, + image_name=task.with_tag("pkg").get_image_name(), + rc=1, + duration_s=0.0, + stderr_tail=str(e), + stdout_tail="", + ) + attempts.append(AttemptRecord(attempt_idx=i, building_data="", build_result=build_res)) + break # exit attempt loop ctx = DockerContext(building_data=script) - with context_registry.get_lock(): - context_registry.register(image_name, ctx) - # Save attempt pickle - attempt_pickle = args.output_dir / f"{task.owner}-{task.repo}-{task.sha}-attempt-{i}.pkl" - _save_pickle(ctx, attempt_pickle) + if i >= 1: + attempt_pickle = args.output_dir / f"{task.owner}-{task.repo}-{task.sha}-attempt-{i}.pkl" + _save_pickle(ctx, attempt_pickle) # Build - logger.info("agent_build_and_validate: building image '%s'", image_name) + logger.info("agent_build_and_validate: building image '%s'", task.get_image_name()) build_res = build_once_with_context( client=client, - image_name=image_name, + task=task.with_tag("pkg"), context=ctx, repo_url=repo_url, sha=task.sha, timeout_s=args.build_timeout, - tail_chars=args.tail_chars, + tail_chars=args.tail_chars * 2, + force=True, # Always rebuild package image to pick up new script ) attempts.append(AttemptRecord(attempt_idx=i, building_data=script, build_result=build_res)) if build_res.ok: + with context_registry.get_lock(): + context_registry.register(task.with_tag("pkg"), ctx) # import_works = False # import_check_res = None # try: @@ -480,7 +511,7 @@ def agent_build_and_validate( final_pickle = args.output_dir / f"{task.owner}-{task.repo}-{task.sha}-final.pkl" _save_pickle(ctx, final_pickle) logger.info("agent_build_and_validate: build succeeded; starting validation run") - result = validate_one(task, args, client, context_registry, machine_defaults) + result = validate_one(task.with_tag("pkg"), args, client, context_registry, machine_defaults) logger.info( "agent_build_and_validate: validation stage=%s ok=%s rc=%s", result.get("stage"), @@ -511,12 +542,12 @@ def agent_build_and_validate( # All attempts failed last = attempts[-1].build_result - logger.error("agent_build_and_validate: all attempts failed for %s", image_name) + logger.error("agent_build_and_validate: all attempts failed for %s", task.with_tag("pkg").get_image_name()) return { "owner": task.owner, "repo": task.repo, "sha": task.sha, - "image_name": image_name, + "image_name": task.with_tag("pkg").get_image_name(), "stage": "build", "ok": False, "rc": (last.rc if last else 1), diff --git a/src/datasmith/agents/perf_judge.py b/src/datasmith/agents/perf_judge.py index 4fb09c1..e2f5ccd 100644 --- a/src/datasmith/agents/perf_judge.py +++ b/src/datasmith/agents/perf_judge.py @@ -92,11 +92,13 @@ class JudgeSignature(dspy.Signature): - Startup/import time reductions, memory reductions, fewer allocations, less I/O, fewer syscalls. - Fixing a **speed regression** or a change whose *intent* is β€œspeed up”. - Behavior changes **explicitly** framed as speeding things up (e.g., β€œnon-blocking requests (speed-up …)”). + - New feature geared towards performance with test cases. ### Do **NOT** count (label **NO**) unless the message clearly states product runtime gets faster: - - Test/bench/ASV/perf-test changes; thresholds; CI; coverage; Makefile/tox/pre-commit; refactors β€œfor tests”. - - Merges, version bumps, housekeeping (β€œtidy”), or ambiguous β€œattempt to fix perf tests”. + - Purely Test/bench/ASV/perf-test changes; thresholds; CI; coverage; Makefile/tox/pre-commit; refactors β€œfor tests”. + - Purely merges, version bumps, housekeeping (β€œtidy”), or ambiguous β€œattempt to fix perf tests”. - Pure UX frequency changes with β€œno measurable reduction in speed”. + - Pure documentation changes. ### Tie-breaker (recall-first) If ambiguous but plausibly about product/runtime performance, prefer **YES**. Only choose **NO** when it clearly applies solely to tests/infra or non-runtime concerns. @@ -113,6 +115,10 @@ class JudgeSignature(dspy.Signature): """ message = dspy.InputField(desc="A single commit message string.") + file_change_summary = dspy.InputField( + desc="A markdown table summarizing all the files changed in the commit along with lines added/removed.", + default="", + ) debug_json = dspy.OutputField( desc="JSON dump of the model's internal state, useful for debugging.", default=None, @@ -124,8 +130,8 @@ def __init__(self) -> None: super().__init__() self.predict = dspy.Predict(JudgeSignature) - def forward(self, message: str) -> dspy.Prediction: - prediction = self.predict(message=message) + def forward(self, message: str, file_change_summary: str) -> dspy.Prediction: + prediction = self.predict(message=message, file_change_summary=file_change_summary) out: str = prediction.get("debug_json", None) # pyright: ignore[reportAttributeAccessIssue] try: data = json.loads(out) @@ -153,43 +159,43 @@ def __init__(self) -> None: super().__init__() self.judge = LLMJudge() - def forward(self, message: str) -> dspy.Prediction: - prior_label, prior_conf, prior_flags = heuristic_prior(message) - if prior_label is True and prior_conf >= 55: - result = { - "label": "YES", - "reason": "Positive performance cues in message.", - "confidence": prior_conf, - "flags": prior_flags, - } - return dspy.Prediction(json=json.dumps(result)) + def forward(self, message: str, file_change_summary: str = "") -> dspy.Prediction: + # prior_label, prior_conf, prior_flags = heuristic_prior(message) + # if prior_label is True and prior_conf >= 55: + # result = { + # "label": "YES", + # "reason": "Positive performance cues in message.", + # "confidence": prior_conf, + # "flags": prior_flags, + # } + # return dspy.Prediction(json=json.dumps(result)) # Ask LLM judge - judged = json.loads(self.judge(message=message).json) # pyright: ignore[reportAttributeAccessIssue] + judged = json.loads(self.judge(message=message, file_change_summary=file_change_summary).json) # pyright: ignore[reportAttributeAccessIssue] - tests_only = "tests-only" in prior_flags or "tests-only" in judged.get("flags", []) + tests_only = "tests-only" in judged.get("flags", []) if judged["label"] == "YES": return dspy.Prediction(json=json.dumps(judged)) - if prior_label is True and not tests_only: - judged["label"] = "YES" - judged["reason"] = "Recall-first override: positive perf hints." - judged["confidence"] = max(judged["confidence"], 60) - judged["flags"] = list(dict.fromkeys(judged.get("flags", []) + prior_flags + ["ambiguous"])) - return dspy.Prediction(json=json.dumps(judged)) + # if prior_label is True and not tests_only: + # judged["label"] = "YES" + # judged["reason"] = "Recall-first override: positive perf hints." + # judged["confidence"] = max(judged["confidence"], 60) + # judged["flags"] = list(dict.fromkeys(judged.get("flags", []) + prior_flags + ["ambiguous"])) + # return dspy.Prediction(json=json.dumps(judged)) # Otherwise respect NO (or explicit tests-only) if tests_only: judged["label"] = "NO" judged["reason"] = "Tests/bench/infra-only message." - judged["confidence"] = max(judged["confidence"], prior_conf, 70) - judged["flags"] = list(dict.fromkeys(judged.get("flags", []) + prior_flags + ["infra"])) + judged["confidence"] = max(judged["confidence"], 70) + judged["flags"] = list(dict.fromkeys([*judged.get("flags", []), "infra"])) return dspy.Prediction(json=json.dumps(judged)) - def get_response(self, message: str) -> tuple[bool, str]: + def get_response(self, message: str, file_change_summary: str = "") -> tuple[bool, str]: """ Get the label for a commit message. """ - json_str = self(message=message).json # pyright: ignore[reportAttributeAccessIssue] + json_str = self(message=message, file_change_summary=file_change_summary).json # pyright: ignore[reportAttributeAccessIssue] response = json.loads(json_str) return (response["label"] == "YES", json_str) diff --git a/src/datasmith/agents/tool_executor.py b/src/datasmith/agents/tool_executor.py index c883760..a832c66 100644 --- a/src/datasmith/agents/tool_executor.py +++ b/src/datasmith/agents/tool_executor.py @@ -58,6 +58,22 @@ def choose_action(self, action: str, action_input: str) -> str: observation = self.exec_read_file(action_input) elif action == "try_import": observation = self.exec_try_import(action_input) + elif action == "exec_arbitrary": + # careful, this is arbitrary code execution! + cmd = action_input.strip().split("\n")[0][:200] + if not cmd: + observation = "[exec_arbitrary] missing command" + else: + res = self._pc.exec(cmd, timeout_s=30) + stdout_snip = ( + (res.stdout[:1000] + "..." + res.stdout[-1000:]) if len(res.stdout) > 2000 else res.stdout + ) + stderr_snip = ( + (res.stderr[:1000] + "..." + res.stderr[-1000:]) if len(res.stderr) > 2000 else res.stderr + ) + observation = ( + f"[exec_arbitrary] rc={res.rc}\n--- STDOUT ---\n{stdout_snip}\n--- STDERR ---\n{stderr_snip}" + ) else: observation = f"[noop] Unknown action '{action}'" except Exception as e: diff --git a/src/datasmith/docker/Dockerfile b/src/datasmith/docker/Dockerfile index 6301d1a..95edbc2 100644 --- a/src/datasmith/docker/Dockerfile +++ b/src/datasmith/docker/Dockerfile @@ -1,7 +1,10 @@ -FROM buildpack-deps:jammy +# syntax=docker/dockerfile:1.7 + +FROM buildpack-deps:jammy AS base ARG REPO_URL ARG COMMIT_SHA + RUN apt-get update && \ apt-get install -y --no-install-recommends \ curl git build-essential jq cmake ninja-build && \ @@ -25,15 +28,31 @@ RUN micromamba install -y -p $MAMBA_ROOT_PREFIX -c conda-forge \ RUN mkdir -p /workspace /output WORKDIR /workspace +FROM base AS env +ARG REPO_URL +ARG COMMIT_SHA + +# Entrypoint is inherited by pkg COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh +ENTRYPOINT ["/entrypoint.sh"] -RUN git clone ${REPO_URL} /workspace/repo +RUN git clone "$REPO_URL" /workspace/repo WORKDIR /workspace/repo -RUN git checkout ${COMMIT_SHA} +RUN git checkout "$COMMIT_SHA" +LABEL vcs.url="$REPO_URL" vcs.ref="$COMMIT_SHA" -COPY docker_build.sh /workspace/repo/docker_build.sh -RUN chmod +x /workspace/repo/docker_build.sh -RUN /workspace/repo/docker_build.sh +# ---- ENV STAGE: create envs, persist vars, install smoke tool ---- +COPY docker_build_env.sh /workspace/repo/docker_build_env.sh +RUN chmod +x /workspace/repo/docker_build_env.sh && \ + /workspace/repo/docker_build_env.sh -ENTRYPOINT ["/entrypoint.sh"] + +FROM env AS pkg + +# ---- PKG STAGE: build+test the package for each ASV Python ---- +COPY docker_build_pkg.sh /workspace/repo/docker_build_pkg.sh +RUN chmod +x /workspace/repo/docker_build_pkg.sh && \ + /workspace/repo/docker_build_pkg.sh +# If you want to restrict to one version at build time, replace with: +# RUN PY_VERSION=3.10 /workspace/repo/docker_build_pkg.sh diff --git a/src/datasmith/docker/context.py b/src/datasmith/docker/context.py index 63528e2..ddb07aa 100644 --- a/src/datasmith/docker/context.py +++ b/src/datasmith/docker/context.py @@ -4,6 +4,7 @@ import datetime import io import json +import re import tarfile import threading import time @@ -11,7 +12,7 @@ from collections.abc import Mapping from dataclasses import dataclass from pathlib import Path -from typing import Any +from typing import Any, ClassVar import docker from docker.errors import APIError, DockerException, ImageNotFound @@ -39,7 +40,59 @@ class Task: repo: str sha: str | None = None commit_date: float = 0.0 - kind: str = "asv" + tag: str = "pkg" # 'pkg' (env + package) or 'env' (env-only) + + @staticmethod + def _sanitize_component(s: str) -> str: + """ + Sanitize a component for Docker image/container naming: + - lowercase + - keep only [a-z0-9._-] + - collapse invalid runs to '-' + - strip leading/trailing separators + """ + s = s.lower() + s = re.sub(r"[^a-z0-9._-]+", "-", s) + s = s.strip("._-") + return s or "unknown" + + def with_tag(self, tag: str) -> Task: + """Return a new Task with the given tag.""" + if tag not in {"env", "pkg"}: + raise ValueError(f"Tag must be either 'env' or 'pkg', got '{tag}'.") + return Task(owner=self.owner, repo=self.repo, sha=self.sha, commit_date=self.commit_date, tag=tag) + + def get_image_name(self) -> str: + """Return the Docker image name for this task (repo:tag).""" + assert self.tag in {"env", "pkg"}, "Tag must be either 'env' or 'pkg'." # noqa: S101 + + owner = self._sanitize_component(self.owner) + repo = self._sanitize_component(self.repo) + sha_part = f"-{self._sanitize_component(self.sha)}" if self.sha else "" + + # New scheme: "owner-repo[-sha]:{tag}" + image_repo = f"{owner}-{repo}{sha_part}" + return f"{image_repo}:{self.tag}" + + def get_container_name(self) -> str: + """Return a suitable (deterministic) Docker container name for this task.""" + assert self.tag in {"env", "pkg"}, "Tag must be either 'env' or 'pkg'." # noqa: S101 + + owner = self._sanitize_component(self.owner) + repo = self._sanitize_component(self.repo) + sha_part = f"-{self._sanitize_component(self.sha)}" if self.sha else "" + tag_part = f"-{self._sanitize_component(self.tag)}" + + # Container names cannot contain ':'; allowed: [a-zA-Z0-9][a-zA-Z0-9_.-] + # We keep it lowercase and deterministic. + name = f"{owner}-{repo}{sha_part}{tag_part}" + + # Ensure starts with an alphanumeric character + if not re.match(r"^[a-z0-9]", name): + name = f"c-{name}" + + # Be conservative on length (Docker allows long names, but trim to 128 chars) + return name[:128] class DockerContext: @@ -53,33 +106,33 @@ class DockerContext: default_dockerfile_loc = Path(__file__).parent / "Dockerfile" default_entrypoint_loc = Path(__file__).parent / "entrypoint.sh" - default_builder_loc = Path(__file__).parent / "docker_build.sh" - default_probe_loc = Path(__file__).parent / "probe_build.sh" + default_docker_build_env_loc = Path(__file__).parent / "docker_build_env.sh" + default_docker_build_pkg_loc = Path(__file__).parent / "docker_build_pkg.sh" dockerfile_data: str entrypoint_data: str + env_building_data: str building_data: str - probing_data: str def __init__( self, building_data: str | None = None, dockerfile_data: str | None = None, entrypoint_data: str | None = None, - probing_data: str | None = None, + env_building_data: str | None = None, ) -> None: - if building_data is None: - building_data = self.default_builder_loc.read_text() if dockerfile_data is None: dockerfile_data = self.default_dockerfile_loc.read_text() if entrypoint_data is None: entrypoint_data = self.default_entrypoint_loc.read_text() - if probing_data is None: - probing_data = self.default_probe_loc.read_text() + if env_building_data is None: + env_building_data = self.default_docker_build_env_loc.read_text() + if building_data is None: + building_data = self.default_docker_build_pkg_loc.read_text() - self.building_data = building_data self.dockerfile_data = dockerfile_data self.entrypoint_data = entrypoint_data - self.probing_data = probing_data + self.env_building_data = env_building_data + self.building_data = building_data def build_tarball_stream(self, probe: bool = False) -> io.BytesIO: tar_stream = io.BytesIO() @@ -97,17 +150,31 @@ def build_tarball_stream(self, probe: bool = False) -> io.BytesIO: entrypoint_info.mode = 0o755 # Make it executable tar.addfile(entrypoint_info, io.BytesIO(entrypoint_data)) - # Add docker_build.sh - building_data = self.probing_data.encode("utf-8") if probe else self.building_data.encode("utf-8") - builder_info = tarfile.TarInfo(name="docker_build.sh") - builder_info.size = len(building_data) - builder_info.mode = 0o755 # Make it executable - tar.addfile(builder_info, io.BytesIO(building_data)) + # Add docker_build_env.sh + env_building_data = self.env_building_data.encode("utf-8") + env_building_info = tarfile.TarInfo(name="docker_build_env.sh") + env_building_info.size = len(env_building_data) + env_building_info.mode = 0o755 # Make it executable + tar.addfile(env_building_info, io.BytesIO(env_building_data)) + + if not probe: + # Add docker_build_pkg.sh + building_data = self.building_data.encode("utf-8") + building_info = tarfile.TarInfo(name="docker_build_pkg.sh") + building_info.size = len(building_data) + building_info.mode = 0o755 # Make it executable + tar.addfile(building_info, io.BytesIO(building_data)) # Reset the stream position to the beginning tar_stream.seek(0) return tar_stream + def process_image_name(self, image_name: str) -> tuple[str, str]: + """Split image name into (repo, target). Target is required.""" + assert ":" in image_name and image_name.rsplit(":", 1)[1], "Image name must include a ':target' suffix." # noqa: S101 + repo, target = image_name.rsplit(":", 1) + return repo, target + def build_container( self, client: docker.DockerClient, @@ -117,6 +184,7 @@ def build_container( probe: bool = False, ) -> None: """Builds the Docker image if it does not exist or if force is True.""" + _, target = self.process_image_name(image_name) image_exists = False try: image = client.images.get(image_name) @@ -141,6 +209,7 @@ def build_container( custom_context=True, tag=image_name, buildargs=build_args, + target=target, ) except DockerException: logger.exception("Failed to build Docker image '%s'", image_name) @@ -168,6 +237,7 @@ def build_container_streaming( # noqa: C901 Returns a BuildResult and does NOT raise for typical failures (so callers can report immediately). """ + _, target = self.process_image_name(image_name) t0 = time.time() try: # Fast path: respect existing image when not forcing @@ -212,6 +282,7 @@ def build_container_streaming( # noqa: C901 decode=True, rm=True, pull=pull, + target=target, ) except DockerException: logger.exception("Failed to initiate build for '%s'", image_name) @@ -259,6 +330,7 @@ def build_container_streaming( # noqa: C901 if not error_seen: try: img = client.images.get(image_name) + logger.info("Build completed successfully for '%s' in %.1f sec.", image_name, duration) return BuildResult( ok=True, image_name=image_name, @@ -273,6 +345,13 @@ def build_container_streaming( # noqa: C901 # Failure rc = 124 if error_seen == "[TIMEOUT]" else 1 + logger.error( + "Build failed for '%s' in %.1f sec: [%s][%s]", + image_name, + duration, + error_seen or "unknown", + "".join(stdout_buf)[-100:] if stdout_buf else "", + ) return BuildResult( ok=False, image_name=image_name, @@ -299,6 +378,7 @@ def to_dict(self) -> dict[str, str]: "dockerfile_data": self.dockerfile_data, "entrypoint_data": self.entrypoint_data, "building_data": self.building_data, + "env_building_data": self.env_building_data, } @classmethod @@ -310,12 +390,20 @@ def from_dict(cls, data: Mapping[str, Any]) -> DockerContext: return cls( dockerfile_data=data.get("dockerfile_data"), entrypoint_data=data.get("entrypoint_data"), - building_data=data.get("building_data"), + building_data=data.get("building_data", None), + env_building_data=data.get("env_building_data", None), ) class ContextRegistry: - """Registry for Docker contexts to avoid rebuilding the same context multiple times.""" + """Registry for Docker contexts keyed by owner/repo[/sha], independent of tag. + + Input key format (required): "owner/repo[/sha]:{tag}", where {tag} ∈ {"env","pkg"}. + The `tag` is validated and preserved on returned `Task`s, but **ignored for storage**; + all contexts are stored under a canonical key with tag='pkg'. + """ + + VALID_TAGS: ClassVar[set[str]] = {"env", "pkg"} def __init__(self, registry: dict[Task, DockerContext] | None = None, default_context: DockerContext | None = None): if registry is None: @@ -326,43 +414,54 @@ def __init__(self, registry: dict[Task, DockerContext] | None = None, default_co if default_context is None: default_context = DockerContext() - # ensure a default context for BOTH namespaces - for k in ("asv", "asvprobe"): - t = Task(owner="default", repo="default", sha=None, kind=k) - if t not in self.registry: - self.registry[t] = default_context - logger.debug("Default Docker contexts initialized (asv + asvprobe).") - - def get_default(self, kind: str = "asv") -> tuple[Task, DockerContext]: - task = Task(owner="default", repo="default", sha=None, kind=kind) - return task, self.registry[task] + # Single default context (canonicalized to tag='pkg') + default_task_canonical = Task(owner="default", repo="default", sha=None, tag="pkg") + if default_task_canonical not in self.registry: + self.registry[default_task_canonical] = default_context + logger.debug("Default Docker context initialized (single canonical context).") + + @staticmethod + def _canonicalize(task: Task) -> Task: + """Return a copy of Task with tag='pkg' for registry keying.""" + if task.tag == "pkg": + return task + return task.with_tag("pkg") + + def _canonicalize_from_key(self, key: str | Task) -> Task: + """Parse if needed, then canonicalize to tag='pkg' for dict keying.""" + t = self.parse_key(key) if isinstance(key, str) else key + return self._canonicalize(t) + + def get_default(self, tag: str = "pkg") -> tuple[Task, DockerContext]: + if tag not in self.VALID_TAGS: + raise ValueError(f"Unknown tag '{tag}'. Valid tags: {sorted(self.VALID_TAGS)}") + # lookup under canonical default; return Task with requested tag + user_task = Task(owner="default", repo="default", sha=None, tag=tag) + canonical = self._canonicalize(user_task) + return user_task, self.registry[canonical] def get_lock(self) -> threading.Lock: return self._lock - def parse_key(self, key: str) -> Task: - """Parse a string key into a Task object (now preserving 'asv' vs 'asvprobe').""" - if not ( - key.startswith("asv/") - or key.startswith("asv/default") - or key.startswith("asvprobe/") - or key.startswith("asvprobe/default") - ): - raise ValueError("Key must start with 'asv/' or 'asv/default' or 'asvprobe/' or 'asvprobe/default'") - - # Handle defaults like "asv/default-" and "asvprobe/default-" - if key.startswith("asv/default") or key.startswith("asvprobe/default"): - kind = "asvprobe" if key.startswith("asvprobe/") else "asv" - parts = key.split("-") - repo = parts[-1] if len(parts) > 2 else "default" - return Task(owner="default", repo=repo, sha=None, commit_date=0.0, kind=kind) - - parts = key.split("/") - if parts[0] not in ("asv", "asvprobe") or not (3 <= len(parts) <= 4): - raise ValueError("Key must be 'asv/owner/repo[/sha]' or 'asvprobe/owner/repo[/sha]'") - - kind, owner, repo = parts[0], parts[1], parts[2] - sha = None if len(parts) != 4 else parts[3] + def parse_key(self, key: str | Task) -> Task: + """Parse 'owner/repo[/sha]:{tag}' into a Task. Tag is required and validated.""" + if isinstance(key, Task): + return key # already parsed + + # Hard assertion per request: all keys MUST include a ':tag' + assert ":" in key and key.rsplit(":", 1)[1], "All keys must include a ':tag' suffix (e.g., ':env' or ':pkg')." # noqa: S101 + + prefix, tag = key.rsplit(":", 1) + tag = tag.strip() + if tag not in self.VALID_TAGS: + raise ValueError(f"Unknown tag '{tag}'. Valid tags: {sorted(self.VALID_TAGS)}") + + parts = prefix.split("/") + if not (2 <= len(parts) <= 3): + raise ValueError("Key must be 'owner/repo[:tag]' or 'owner/repo/sha[:tag]'") + + owner, repo = parts[0], parts[1] + sha = None if len(parts) != 3 else parts[2] date_unix = 0.0 if sha: @@ -375,71 +474,89 @@ def parse_key(self, key: str) -> Task: logger.warning("Failed to fetch commit info for %s/%s@%s: %s", owner, repo, sha, exc) date_unix = 0.0 - return Task(owner=owner, repo=repo, sha=sha, commit_date=date_unix, kind=kind) + return Task(owner=owner, repo=repo, sha=sha, commit_date=date_unix, tag=tag) def register(self, key: str | Task, context: DockerContext) -> None: - """Register a new Docker context.""" - if isinstance(key, str): - key = self.parse_key(key) - if key in self.registry: - logger.warning(f"Context '{key}' is already registered, overwriting.") - self.registry[key] = context - logger.debug(f"Registered Docker context: {key}") + """Register a new Docker context. Stored under canonical (tag='pkg').""" + t = self.parse_key(key) if isinstance(key, str) else key + canonical = self._canonicalize(t) + if canonical in self.registry: + logger.warning(f"Context '{canonical}' is already registered, overwriting.") + + # if the tag is "env" and we already have a "pkg" version, warn the user + # and instead of changing the context completely, overwrite all files + # except the building_data (which is pkg-specific) + if t.tag == "env" and canonical in self.registry: + existing = self.registry[canonical] + context = DockerContext( + dockerfile_data=context.dockerfile_data, + entrypoint_data=context.entrypoint_data, + env_building_data=context.env_building_data, + building_data=existing.building_data, + ) + logger.warning( + f"Registering 'env' context for '{canonical}' which already has a 'pkg' version; preserving 'pkg' building_data." + ) + self.registry[canonical] = context + logger.debug(f"Registered Docker context under canonical key: {canonical}") def get(self, key: str | Task) -> DockerContext: """ - Retrieve a Docker context by key using hierarchical matching. - "asv/astropy/astropy/14134" should query these queries in-order: - "asv/astropy/astropy/14134" - "asv/astropy/astropy" + Retrieve a Docker context by key using hierarchical matching (tag-insensitive). + 'owner/repo/sha:tag' queries in-order: + 1) owner/repo/sha (canonical key, tag='pkg') + 2) owner/repo (canonical key, tag='pkg') + 3) default (canonical key, tag='pkg') """ - if isinstance(key, str): - key = self.parse_key(key) + # Keep the user's tag but look up under canonical keys + user_task = self.parse_key(key) if isinstance(key, str) else key + canonical = self._canonicalize(user_task) - # exact match first - if key.sha is not None and key in self.registry: - logger.debug(f"Found exact context for key '{key}'.") - return self.registry[key] + # exact match first (canonical) + if canonical.sha is not None and canonical in self.registry: + logger.debug(f"Found exact context for key '{user_task}' via '{canonical}'.") + return self.registry[canonical] - # owner/repo base (same namespace!) - base = Task(owner=key.owner, repo=key.repo, sha=None, kind=key.kind) + # owner/repo base (canonical) + base = Task(owner=canonical.owner, repo=canonical.repo, sha=None, tag="pkg") if base in self.registry: - logger.debug(f"Found fallback context '{base}' for key '{key}'.") + logger.debug(f"Found fallback context '{base}' for key '{user_task}'.") return self.registry[base] - logger.info(f"No context found for key '{key}'. Using default context for namespace '{key.kind}'.") - return self.registry[Task(owner="default", repo="default", sha=None, kind=key.kind)] + logger.info(f"No context found for key '{user_task}'. Using default context.") + return self.registry[Task(owner="default", repo="default", sha=None, tag="pkg")] def get_similar(self, key: str | Task) -> list[tuple[Task, DockerContext]]: # noqa: C901 """ - Retrieve a list of Docker contexts by key using hierarchical matching. - "asv/astropy/astropy/14134" should return contexts for these queries in-order: - 1) "asv/astropy/astropy/14134" (exact match, if present) - 2) Any others starting with "asv/astropy/astropy/" (e.g., "asv/astropy/astropy/abcdef") - sorted by abs(key.commit_date / candidate.commit_date) if key.commit_date is not None else alphabetically - 3) "asv/astropy/astropy" (owner/repo base, if present) - Keys like "asv/astropy/otherrepo*" or "asv/otherowner/*" must NOT match. + Retrieve contexts similar to a key, constrained to SAME owner/repo (tag-insensitive). + Order: + 1) exact match (if present) β€” returned Task uses the caller's tag + 2) other SHAs for owner/repo β€” returned Tasks use the caller's tag + sorted by |commit_date diff| if available, else by SHA + 3) base owner/repo β€” returned Task uses the caller's tag """ - if isinstance(key, str): - key = self.parse_key(key) + user_task = self.parse_key(key) if isinstance(key, str) else key + canonical = self._canonicalize(user_task) results: list[tuple[Task, DockerContext]] = [] - seen: set[Task] = set() + seen_canonical: set[Task] = set() # 1) Exact match (if present) - if key in self.registry: - results.append((key, self.registry[key])) - seen.add(key) + if canonical in self.registry: + results.append((canonical.with_tag(user_task.tag), self.registry[canonical])) + seen_canonical.add(canonical) - # 2) Other SHAs for same owner/repo *in the same namespace* + # 2) Other SHAs for same owner/repo (canonical keys in registry) candidates: list[tuple[Task, DockerContext]] = [] for t, ctx in self.registry.items(): - if t in seen: + if t in seen_canonical: continue - if t.kind == key.kind and t.owner == key.owner and t.repo == key.repo and t.sha is not None: + if t.owner == canonical.owner and t.repo == canonical.repo and t.sha is not None: candidates.append((t, ctx)) - has_valid_commit_date = getattr(key, "sha", None) is not None and getattr(key, "commit_date", None) is not None + has_valid_commit_date = ( + getattr(canonical, "sha", None) is not None and getattr(canonical, "commit_date", None) is not None + ) if has_valid_commit_date: def _sort(item: tuple[Task, DockerContext]) -> tuple[float, str]: @@ -448,7 +565,7 @@ def _sort(item: tuple[Task, DockerContext]) -> tuple[float, str]: if cand_cd is None: return (float("inf"), str(t.sha)) try: - return (abs(key.commit_date - cand_cd), str(t.sha)) + return (abs(canonical.commit_date - cand_cd), str(t.sha)) except Exception: return (float("inf"), str(t.sha)) @@ -457,14 +574,15 @@ def _sort(item: tuple[Task, DockerContext]) -> tuple[float, str]: candidates.sort(key=lambda item: str(item[0].sha)) for t, ctx in candidates: - if t not in seen: - results.append((t, ctx)) - seen.add(t) + if t not in seen_canonical: + # Present with the user's tag for downstream execution behavior + results.append((t.with_tag(user_task.tag), ctx)) + seen_canonical.add(t) - # 3) Base owner/repo for the same namespace - base = Task(owner=key.owner, repo=key.repo, sha=None, kind=key.kind) - if base in self.registry and base not in seen: - results.append((base, self.registry[base])) + # 3) Base owner/repo + base = Task(owner=canonical.owner, repo=canonical.repo, sha=None, tag="pkg") + if base in self.registry and base not in seen_canonical: + results.append((base.with_tag(user_task.tag), self.registry[base])) return results @@ -475,9 +593,8 @@ def __setitem__(self, key: str, context: DockerContext) -> None: self.register(key, context) def __contains__(self, key: str | Task) -> bool: - if isinstance(key, str): - key = self.parse_key(key) - return key in self.registry + canonical = self._canonicalize_from_key(key) + return canonical in self.registry def save_to_file(self, path: Path) -> None: dat = self.serialize(pretty=True) @@ -492,13 +609,12 @@ def load_from_file(cls, path: Path) -> ContextRegistry: def serialize(self, *, pretty: bool = False) -> str: """ - Serialize the registry (including the 'default' context) to a JSON string. - The thread lock itself is not serialized; a fresh lock will be created - when deserializing. + Serialize the registry (including the canonical 'default' context) to a JSON string. + The thread lock itself is not serialized; a fresh lock will be created when deserializing. """ with self._lock: payload = { - "version": 1, + "version": 2, # bumped: tag-insensitive storage "contexts": {repr(k): v.to_dict() for k, v in self.registry.items()}, } return json.dumps(payload, indent=2 if pretty else None, sort_keys=pretty) @@ -507,14 +623,31 @@ def serialize(self, *, pretty: bool = False) -> str: def deserialize(cls, payload: str) -> ContextRegistry: """ Reconstruct a ContextRegistry from a JSON string produced by `serialize`. - Ensures a 'default' context exists even if it wasn't present in the payload. + Ensures a canonical 'default' context exists. """ data = json.loads(payload) raw = data.get("contexts", {}) registry: dict[Task, DockerContext] = {eval(k): DockerContext.from_dict(v) for k, v in raw.items()} # noqa: S307 - # Ensure 'default' exists: - if "default" not in registry: - registry[Task(owner="default", repo="default", sha=None)] = DockerContext() + # Ensure canonical default exists + default_task_canonical = Task(owner="default", repo="default", sha=None, tag="pkg") + if default_task_canonical not in registry: + registry[default_task_canonical] = DockerContext() + + # Normalize any accidentally stored 'env' keys to canonical 'pkg' + # (in case old payloads had per-tag entries) + to_move: list[tuple[Task, DockerContext]] = [] + for t, ctx in list(registry.items()): + if t.tag != "pkg": + to_move.append((t, ctx)) + if to_move: + logger.warning( + "ContextRegistry.deserialize: Found %d non-canonical entries with tag!='pkg'; normalizing to tag='pkg'.", + len(to_move), + ) + for t, ctx in to_move: + del registry[t] + canonical = Task(owner=t.owner, repo=t.repo, sha=t.sha, commit_date=t.commit_date, tag="pkg") + registry[canonical] = ctx return cls(registry=registry) diff --git a/src/datasmith/docker/docker_build.sh b/src/datasmith/docker/docker_build.sh deleted file mode 100644 index d093a36..0000000 --- a/src/datasmith/docker/docker_build.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env bash -cd_asv_json_dir() { - local match - match=$(find . -type f -name "asv.*.json" | head -n 1) - - if [[ -n "$match" ]]; then - local dir - dir=$(dirname "$match") - cd "$dir" || echo "Failed to change directory to $dir" - else - echo "No 'asv.*.json' file found in current directory or subdirectories." - fi -} -eval "$(micromamba shell hook --shell=bash)" -micromamba activate base - -ROOT_PATH=${PWD} -cd_asv_json_dir || exit 1 -CONF_NAME=$(basename "$(find . -type f -name "asv.*.json" | head -n 1)") -if [[ -z "$CONF_NAME" ]]; then - echo "No 'asv.*.json' file found in current directory or subdirectories." - exit 1 -fi -python_versions=$(python -c "import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))") -for version in $python_versions; do - python -c "import asv, os, pathlib -path = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"') -path.mkdir(parents=True, exist_ok=True) - -config = asv.config.Config.load('$CONF_NAME') -config.results_dir = str(path / 'results') -config.html_dir = str(path / 'html') - -asv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version) -asv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version) -" - micromamba create -y -n "asv_${version}" -c conda-forge python="$version" git conda mamba "libmambapy<=1.9.9" numpy scipy cython joblib threadpoolctl pytest compilers - micromamba run -n "asv_${version}" pip install git+https://github.com/airspeed-velocity/asv - micromamba run -n "asv_${version}" asv machine --yes --config $CONF_NAME - micromamba run -n "asv_${version}" pip install meson-python cython - micromamba run -n "asv_${version}" pip install --verbose --no-build-isolation --editable ${ROOT_PATH} -done diff --git a/src/datasmith/docker/docker_build_env.sh b/src/datasmith/docker/docker_build_env.sh new file mode 100644 index 0000000..fe2b379 --- /dev/null +++ b/src/datasmith/docker/docker_build_env.sh @@ -0,0 +1,559 @@ +#!/usr/bin/env bash +set -euo pipefail + +# -------- Helpers installed for all shells -------- +install_profile_helpers() { + cat >/etc/profile.d/asv_utils.sh <<'EOF' +# asv_utils.sh β€” login/interactive shell helpers for ASV builds +export MAMBA_ROOT_PREFIX="${MAMBA_ROOT_PREFIX:-/opt/conda}" + +# Initialize micromamba for bash shells (no-op if not present) +if command -v micromamba >/dev/null 2>&1; then + eval "$(micromamba shell hook --shell=bash)" +fi + +# Find and cd into the first directory that contains an asv.*.json +cd_asv_json_dir() { + local match + match=$(find . -type f -name "asv.*.json" | head -n 1) + if [[ -n "$match" ]]; then + cd "$(dirname "$match")" || echo "Failed to change directory" + else + echo "No 'asv.*.json' file found in current directory or subdirectories." + return 1 + fi +} + +# Return just the conf filename (e.g., asv.conf.json) +asv_conf_name() { + local f + f=$(find . -type f -name "asv.*.json" | head -n 1) + [[ -n "$f" ]] && basename "$f" || return 1 +} + +# Build performance knobs (overridable) +export MAKEFLAGS="${MAKEFLAGS:--j$(nproc)}" +export CMAKE_BUILD_PARALLEL_LEVEL="${CMAKE_BUILD_PARALLEL_LEVEL:-$(nproc)}" +export NPY_NUM_BUILD_JOBS="${NPY_NUM_BUILD_JOBS:-$(nproc)}" + +# Shared pip cache to speed repeated editable builds +export PIP_CACHE_DIR="${PIP_CACHE_DIR:-/opt/pipcache}" +mkdir -p "$PIP_CACHE_DIR" +EOF +} + +# -------- Persisted build variables -------- +write_build_vars() { + local py_versions="$1" + local import_name="$2" + + mkdir -p /etc/asv_env + echo "$py_versions" > /etc/asv_env/py_versions + echo "$import_name" > /etc/asv_env/import_name + + # Exported for every future shell (pkg script, interactive, etc.) + cat >/etc/profile.d/asv_build_vars.sh </usr/local/bin/asv_smokecheck.py <<'PY' +#!/usr/bin/env python +import argparse, importlib, pathlib, sys +import importlib.machinery as mach + +def _strip_ext_suffix(filename: str) -> str: + # Remove the *full* extension suffix, e.g. + # ".cpython-310-x86_64-linux-gnu.so", ".abi3.so", ".pyd", etc. + for suf in mach.EXTENSION_SUFFIXES: + if filename.endswith(suf): + return filename[:-len(suf)] + # Fallback: drop last extension and any remaining ABI tag after the first dot + stem = pathlib.Path(filename).stem + return stem.split(".", 1)[0] + +def import_and_version(name: str): + m = importlib.import_module(name) + ver = getattr(m, "__version__", "unknown") + print(f"{name} imported ok; __version__={ver}") + +def probe_compiled(name: str, max_ext: int = 10): + m = importlib.import_module(name) + if not hasattr(m, "__path__"): + print("No package __path__ (likely a single-module dist); skipping compiled probe.") + return + pkg_path = pathlib.Path(list(m.__path__)[0]) + so_like = list(pkg_path.rglob("*.so")) + list(pkg_path.rglob("*.pyd")) + failed = [] + for ext in so_like[:max_ext]: + rel = ext.relative_to(pkg_path) + parts = list(rel.parts) + parts[-1] = _strip_ext_suffix(parts[-1]) # replace filename with real module basename + dotted = ".".join([name] + parts) + try: + importlib.import_module(dotted) + except Exception as e: + failed.append((dotted, str(e))) + if failed: + print("WARNING: Some compiled submodules failed to import:") + for d, err in failed: + print(" -", d, "->", err) + else: + print("Compiled submodules (if any) import ok") + +def main(): + p = argparse.ArgumentParser() + p.add_argument("--import-name", required=True) + p.add_argument("--repo-root", default=".") + p.add_argument("--pytest-smoke", action="store_true", + help="Run a quick pytest smoke: -k 'not slow' --maxfail=1") + p.add_argument("--max-ext", type=int, default=10) + args = p.parse_args() + + import_and_version(args.import_name.strip("\"\' ")) + probe_compiled(args.import_name, max_ext=args.max_ext) + + if args.pytest_smoke: + import subprocess, os + if any((pathlib.Path(args.repo_root)/p).exists() for p in ("tests", "pytest.ini", "pyproject.toml")): + print("Running pytest smoke...") + rc = subprocess.call([sys.executable, "-m", "pytest", "-q", "-k", "not slow", "--maxfail=1"], cwd=args.repo_root) + if rc != 0: + sys.exit(rc) + else: + print("No tests detected; skipping pytest smoke.") + print("Smokecheck OK βœ…") + +if __name__ == "__main__": + main() +PY + chmod +x /usr/local/bin/asv_smokecheck.py +} +install_smokecheck + +# -------- Install an import-name detector CLI -------- +install_detect_import_name() { + cat >/usr/local/bin/detect_import_name <<'PY' +#!/usr/bin/env python +import argparse, pathlib, re, sys, subprocess, configparser, json + +# --- optional TOML loader (py3.11+: tomllib; else tomli if available) --- +try: + import tomllib as toml +except Exception: + try: + import tomli as toml + except Exception: + toml = None + +EXCEPTIONS = { + # common distβ†’import mismatches + "scikit-learn": "sklearn", + "opencv-python": "cv2", + "pyyaml": "yaml", + "beautifulsoup4": "bs4", + "pillow": "PIL", + "mysqlclient": "MySQLdb", + "psycopg2-binary": "psycopg2", + "opencv-contrib-python": "cv2", + "protobuf": "google", # top-level package + "apache-beam": "apache_beam", +} + +# All the package names we typically query. +EXCEPTIONS.update({ + # --- core scientific stack --- + "scikit-learn": "sklearn", + "numpy": "numpy", + "pandas": "pandas", + "scipy": "scipy", + "scikit-image": "skimage", + "pywt": "pywt", + "xarray": "xarray", + "bottleneck": "bottleneck", + "h5py": "h5py", + "networkx": "networkx", + "shapely": "shapely", + + # --- ML / stats / optimization / viz --- + "optuna": "optuna", + "arviz": "arviz", + "pymc": "pymc", + "kedro": "kedro", + "modin": "modin", + "napari": "napari", + "deepchecks": "deepchecks", + "voyager": "voyager", # spotify/voyager + "warp": "warp", # NVIDIA/warp + "newton": "newton", # newton-physics/newton + + # --- domain / ecosystem libs --- + "geopandas": "geopandas", + "cartopy": "cartopy", + "iris": "iris", + "anndata": "anndata", + "scanpy": "scanpy", + "sunpy": "sunpy", + "pvlib-python": "pvlib", + "PyBaMM": "pybamm", + "momepy": "momepy", + "satpy": "satpy", + "pydicom": "pydicom", + "pynetdicom": "pynetdicom", + + # --- file formats / IO / infra --- + "asdf": "asdf", + "arrow": "pyarrow", # apache/arrow + "ArcticDB": "arcticdb", + "arctic": "arctic", + + # --- web / frameworks / utils --- + "django-components": "django_components", + "h11": "h11", + "tqdm": "tqdm", + "rich": "rich", + "posthog": "posthog", + "datalad": "datalad", + "ipyparallel": "ipyparallel", + + # --- numerical / symbolic / control --- + "autograd": "autograd", + "python-control": "control", + "loopy": "loopy", + "thermo": "thermo", + "chempy": "chempy", + "adaptive": "adaptive", + + # --- scientific image / signal --- + "metric-learn": "metric_learn", + + # --- quantum / physics --- + "Cirq": "cirq", + "memray": "memray", + "devito": "devito", + + # --- bio / chem / data --- + "sourmash": "sourmash", + "dipy": "dipy", + + # --- protocol buffers / codegen / outlines --- + "python-betterproto": "betterproto", + "outlines": "outlines", + + # --- DS viz / raster --- + "datashader": "datashader", + "xarray-spatial": "xarray_spatial", + + # --- misc --- + "enlighten": "enlighten", + "xorbits": "xorbits", + "geopandas": "geopandas", + "lmfit-py": "lmfit", + "mdanalysis": "MDAnalysis", + "nilearn": "nilearn", +}) + + +EXCLUDE_DIRS = { + ".git", ".hg", ".svn", ".tox", ".nox", ".venv", "venv", + "build", "dist", "__pycache__", ".mypy_cache", ".pytest_cache", + "docs", "doc", "site", "examples", "benchmarks", "tests", "testing", +} + +def _norm(s: str) -> str: + return re.sub(r"[-_.]+", "", s).lower() + +def read_pyproject(root: pathlib.Path): + cfg = {} + p = root / "pyproject.toml" + if toml and p.exists(): + try: + cfg = toml.loads(p.read_text(encoding="utf-8")) + except Exception: + pass + return cfg + +def read_setup_cfg(root: pathlib.Path): + p = root / "setup.cfg" + cp = configparser.ConfigParser() + if p.exists(): + try: + cp.read(p, encoding="utf-8") + except Exception: + pass + return cp + +def dist_name_from_config(pyproject, setup_cfg): + # PEP 621 name + name = (pyproject.get("project", {}) or {}).get("name") + if not name: + # setup.cfg [metadata] name + if setup_cfg.has_section("metadata"): + name = setup_cfg.get("metadata", "name", fallback=None) + # setup.py --name as last resort + return name + +def package_roots_from_config(root, pyproject, setup_cfg): + roots = set([root]) + # setuptools package-dir mapping + # pyproject: [tool.setuptools.package-dir] "" = "src" + pkgdir = ((pyproject.get("tool", {}) or {}).get("setuptools", {}) or {}).get("package-dir", {}) + if isinstance(pkgdir, dict): + if "" in pkgdir: + roots.add((root / pkgdir[""]).resolve()) + for _, d in pkgdir.items(): + try: + roots.add((root / d).resolve()) + except Exception: + pass + # setup.cfg [options] package_dir + if setup_cfg.has_section("options"): + raw = setup_cfg.get("options", "package_dir", fallback=None) + if raw: + # can be "=\nsrc" or mapping lines + lines = [l.strip() for l in raw.splitlines() if l.strip()] + # accept simple "=src" or "" = "src" + for ln in lines: + m = re.match(r'^("?\'?)*\s*=?\s*("?\'?)*\s*(?P[^#;]+)$', ln) + if m: + roots.add((root / m.group("path").strip()).resolve()) + # setup.cfg [options.packages.find] where + if setup_cfg.has_section("options.packages.find"): + where = setup_cfg.get("options.packages.find", "where", fallback=None) + if where: + for w in re.split(r"[,\s]+", where): + if w: + roots.add((root / w).resolve()) + return [r for r in roots if r.exists()] + +def explicit_modules_from_config(pyproject, setup_cfg): + mods = set() + # pyproject (tool.setuptools) py-modules / packages + st = ((pyproject.get("tool", {}) or {}).get("setuptools", {}) or {}) + for key in ("py-modules", "packages"): + val = st.get(key) + if isinstance(val, list): + mods.update(val) + # setup.cfg [options] py_modules / packages + if setup_cfg.has_section("options"): + for key in ("py_modules", "packages"): + raw = setup_cfg.get("options", key, fallback=None) + if raw: + for tok in re.split(r"[\s,]+", raw.strip()): + if tok and tok != "find:": + mods.add(tok) + return sorted(mods) + +def read_top_level_from_egg_info(root): + # editable installs often leave ./.egg-info/top_level.txt + for ei in root.rglob("*.egg-info"): + tl = ei / "top_level.txt" + if tl.exists(): + try: + names = [l.strip() for l in tl.read_text(encoding="utf-8").splitlines() if l.strip()] + if names: + return names + except Exception: + pass + # also consider dist-info during local builds + for di in root.rglob("*.dist-info"): + tl = di / "top_level.txt" + if tl.exists(): + try: + names = [l.strip() for l in tl.read_text(encoding="utf-8").splitlines() if l.strip()] + if names: + return names + except Exception: + pass + return None + +def walk_candidates(roots): + """Return set of plausible top-level import names under candidate roots.""" + cands = set() + for r in roots: + for path in r.rglob("__init__.py"): + try: + pkg_dir = path.parent + # skip excluded dirs anywhere in the path + if any(part in EXCLUDE_DIRS for part in pkg_dir.parts): + continue + # Construct package name relative to the nearest search root + try: + rel = pkg_dir.relative_to(r) + except Exception: + continue + if not rel.parts: + continue + top = rel.parts[0] + if top.startswith("_"): + # usually private tooling + continue + cands.add(top) + except Exception: + pass + # standalone modules at top-level of roots (py_modules case) + for mod in r.glob("*.py"): + if mod.stem not in ("setup",): + cands.add(mod.stem) + return sorted(cands) + +def score_candidates(cands, dist_name): + """Assign a score preferring names that match the dist name.""" + scores = {} + n_dist = _norm(dist_name) if dist_name else None + prefer = None + if dist_name and dist_name.lower() in EXCEPTIONS: + prefer = EXCEPTIONS[dist_name.lower()] + # also try normalized exception keys (e.g. capitalization) + for k, v in EXCEPTIONS.items(): + if _norm(k) == _norm(dist_name or ""): + prefer = v + + for c in cands: + s = 0 + if prefer and _norm(c) == _norm(prefer): + s += 100 + if n_dist and _norm(c) == n_dist: + s += 80 + if n_dist and (_norm(c).startswith(n_dist) or n_dist.startswith(_norm(c))): + s += 20 + # shorter, simpler names get a slight bump + s += max(0, 10 - len(c)) + scores[c] = s + return sorted(cands, key=lambda x: (-scores.get(x, 0), x)), scores + +def detect(root: str, return_all=False): + root = pathlib.Path(root).resolve() + + pyproject = read_pyproject(root) + setup_cfg = read_setup_cfg(root) + dist_name = dist_name_from_config(pyproject, setup_cfg) + + # 1) top_level.txt (best signal if present) + top = read_top_level_from_egg_info(root) + if top: + if return_all: + return top + # If multiple, score them + ordered, _ = score_candidates(top, dist_name or "") + return [ordered[0]] + + # 2) explicit declarations (py_modules / packages lists) + explicit = explicit_modules_from_config(pyproject, setup_cfg) + + # 3) find correct search roots (src layout, package_dir, etc.) + roots = package_roots_from_config(root, pyproject, setup_cfg) + + # 4) walk code to infer candidates + walked = walk_candidates(roots) + + # merge explicit + walked + cands = list(dict.fromkeys(explicit + walked)) # keep order & de-dup + + # 5) fallback from dist name heuristics/exceptions if still empty + if not cands and dist_name: + # exception or simple normalization + guess = EXCEPTIONS.get(dist_name.lower()) or re.sub(r"[-\.]+", "_", dist_name) + cands = [guess] + + if not cands: + return [] + + if return_all: + # return ordered list + ordered, _ = score_candidates(cands, dist_name or "") + return ordered + else: + ordered, _ = score_candidates(cands, dist_name or "") + return [ordered[0]] + +def main(): + ap = argparse.ArgumentParser(description="Detect the top-level Python import name for a repo.") + ap.add_argument("--repo-root", default=".", help="Path to repository root") + ap.add_argument("--all", action="store_true", help="Print all plausible names (JSON list)") + args = ap.parse_args() + + names = detect(args.repo_root, return_all=args.all) + if not names: + sys.exit(1) + if args.all: + print(json.dumps(names)) + else: + print(names[0]) + +if __name__ == "__main__": + main() +PY + chmod +x /usr/local/bin/detect_import_name +} + +install_detect_import_name + +# -------- Script body -------- + +install_profile_helpers +# shellcheck disable=SC1091 +source /etc/profile.d/asv_utils.sh + +# Ensure base micromamba is active for introspecting ASV config +micromamba activate base + +install_detect_import_name +install_smokecheck + +IMPORT_NAME="$(detect_import_name || true)" +if [[ -z "$IMPORT_NAME" ]]; then + echo "WARN: Could not determine import name; the pkg stage will fall back to local detection." +fi + + +# Move into the directory that contains asv.*.json +cd_asv_json_dir || { echo "No 'asv.*.json' file found." >&2; exit 1; } + +CONF_NAME="$(asv_conf_name || true)" +if [[ -z "${CONF_NAME:-}" ]]; then + echo "No 'asv.*.json' file found." >&2 + exit 1 +fi + +# Make sure tomli is available in base for pyproject parsing +micromamba install -y -n base -c conda-forge tomli >/dev/null + +# Read python versions from the ASV config +PY_VERSIONS=$(python - <&2 + exit 1 +fi +###### END SETUP CODE ###### + +# ----------------------------- +# Agent guidance (read-first) +# ----------------------------- +# GOAL: For each Python version below, install the project in EDITABLE mode into env asv_{version}, +# with NO build isolation, then run health checks. +# +# Below this comment, you should do whatever is necessary to build the project without errors. Including (but not limited to): +# - Add extra conda/pip dependencies needed to build this project. +# - Run repo-specific pre-steps (e.g., submodules, generating Cython, env vars). +# - Run arbitrary micromamba/pip commands in the target env. +# - Set CFLAGS/CXXFLAGS/LDFLAGS if needed for this repo. +# - Change files in the repo if needed (e.g., fix a missing #include). +# - Anything else needed to get a successful editable install. +# +# MUST: +# - Keep this script idempotent. +# - Use: `pip install --no-build-isolation -v -e .` or `pip install -e .` or equivalent. +# - Do not modify the SETUP CODE or helper functions below. +# +# DO NOT: +# - Change env names or Python versions outside MODEL EDIT AREA. +# - Use build isolation unless absolutely necessary. + +# ----------------------------- +# Helpers (do not modify) +# ----------------------------- +log() { printf "\033[1;34m[build]\033[0m %s\n" "$*"; } +warn() { printf "\033[1;33m[warn]\033[0m %s\n" "$*" >&2; } +die() { printf "\033[1;31m[fail]\033[0m %s\n" "$*" >&2; exit 1; } + +# Conservative default parallelism (override if the repo benefits) +export CMAKE_BUILD_PARALLEL_LEVEL="${CMAKE_BUILD_PARALLEL_LEVEL:-2}" +export NPY_NUM_BUILD_JOBS="${NPY_NUM_BUILD_JOBS:-2}" + +# ----------------------------- +# Build & test across envs +# ----------------------------- +for version in $TARGET_VERSIONS; do + ENV_NAME="asv_${version}" + log "==> Building in env: $ENV_NAME (python=$version)" + + if ! micromamba env list | awk '{print $1}' | grep -qx "$ENV_NAME"; then + die "Env $ENV_NAME not found. Did docker_build_env.sh run?" + fi + + # Import name resolution (kept simple for the agent) + IMP="${IMPORT_NAME:-}" + if [[ -z "$IMP" ]]; then + if ! IMP="$(detect_import_name --repo-root "$REPO_ROOT" 2>/dev/null)"; then + die "Could not determine import name. Set IMPORT_NAME in /etc/profile.d/asv_build_vars.sh" + fi + fi + log "Using import name: $IMP" + + # ----------------------------- + # MODEL EDIT AREA: repo-specific tweaks (optional) + # ----------------------------- + # Examples (uncomment if needed for this repo): + # + # log "Updating submodules" + # git -C "$REPO_ROOT" submodule update --init --recursive + # + # log "Installing extra system libs via conda-forge" + # micromamba install -y -n "$ENV_NAME" -c conda-forge 'openblas' 'blas=*=openblas' 'libopenmp' + # + # log "Pre-generating Cython sources" + # micromamba run -n "$ENV_NAME" python -m cython --version + # + # export CFLAGS="${CFLAGS:-}" + # export CXXFLAGS="${CXXFLAGS:-}" + # export LDFLAGS="${LDFLAGS:-}" + # ----------------------------- + + # Install some generic packages needed for building/testing. + micromamba install -y -n "$ENV_NAME" -c conda-forge pip git conda mamba libmambapy \ + numpy scipy cython joblib threadpoolctl pytest \ + compilers meson-python cmake ninja pkg-config tomli + + # Editable install (no build isolation preferrably). Toolchain lives in the env already. + log "Editable install with --no-build-isolation" + PIP_NO_BUILD_ISOLATION=1 micromamba run -n "$ENV_NAME" python -m pip install --no-build-isolation -v -e "$REPO_ROOT" + + # Health checks (import + compiled extension probe; optional pytest smoke with RUN_PYTEST_SMOKE=1) + log "Running smoke checks" + micromamba run -n "$ENV_NAME" asv_smokecheck.py --import-name $IMP --repo-root $REPO_ROOT ${RUN_PYTEST_SMOKE:+--pytest-smoke} + + echo "::import_name=${IMP}::env=${ENV_NAME}" +done + +log "All builds complete βœ…" diff --git a/src/datasmith/docker/probe_build.sh b/src/datasmith/docker/probe_build.sh deleted file mode 100644 index df7ecb0..0000000 --- a/src/datasmith/docker/probe_build.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash -# probe build.sh is equivalent to docker_build.sh but it -# does not install the package in the created envs. -# Instead, it prepares the envs and copies a modified asv conf -# to /output/$COMMIT_SHA/$PYTHON_VERSION/asv.*.json -# which can then be used to run the benchmarks in a separate step. -cd_asv_json_dir() { - local match - match=$(find . -type f -name "asv.*.json" | head -n 1) - - if [[ -n "$match" ]]; then - local dir - dir=$(dirname "$match") - cd "$dir" || echo "Failed to change directory to $dir" - else - echo "No 'asv.*.json' file found in current directory or subdirectories." - fi -} -eval "$(micromamba shell hook --shell=bash)" -micromamba activate base - -ROOT_PATH=${PWD} -cd_asv_json_dir || exit 1 -CONF_NAME=$(basename "$(find . -type f -name "asv.*.json" | head -n 1)") -if [[ -z "$CONF_NAME" ]]; then - echo "No 'asv.*.json' file found in current directory or subdirectories." - exit 1 -fi -python_versions=$(python -c "import asv; pythons = asv.config.Config.load('$CONF_NAME').pythons; print(' '.join(pythons))") -for version in $python_versions; do - python -c "import asv, os, pathlib -path = pathlib.Path('/output/'\"$COMMIT_SHA\"'/''\"$version\"') -path.mkdir(parents=True, exist_ok=True) - -config = asv.config.Config.load('$CONF_NAME') -config.results_dir = str(path / 'results') -config.html_dir = str(path / 'html') - -asv.util.write_json('$CONF_NAME', config.__dict__, api_version=config.api_version) -asv.util.write_json(path / '$CONF_NAME', config.__dict__, api_version=config.api_version) -" - micromamba create -y -n "asv_${version}" -c conda-forge python="$version" git conda mamba "libmambapy<=1.9.9" numpy scipy cython joblib threadpoolctl pytest compilers - micromamba run -n "asv_${version}" pip install git+https://github.com/airspeed-velocity/asv - micromamba run -n "asv_${version}" asv machine --yes --config $CONF_NAME - micromamba run -n "asv_${version}" pip install meson-python cython -done diff --git a/src/datasmith/docker/validation.py b/src/datasmith/docker/validation.py index 6c7f4a8..37c6851 100644 --- a/src/datasmith/docker/validation.py +++ b/src/datasmith/docker/validation.py @@ -181,14 +181,13 @@ def validate_one( # noqa: C901 Returns a structured dict for JSONL summarization. """ assert task.sha is not None, "Task.sha must be set" # noqa: S101 - image_name = f"asv/{task.owner}/{task.repo}/{task.sha}".lower() - docker_ctx = context_registry[image_name] + docker_ctx = context_registry[task.get_image_name()] - build_cmd, run_cmd = format_cmds(image_name, task.owner, task.repo, task.sha, args.output_dir) + build_cmd, run_cmd = format_cmds(task.get_image_name(), task.owner, task.repo, task.sha, args.output_dir) build_res: BuildResult = docker_ctx.build_container_streaming( client=client, - image_name=image_name, + image_name=task.get_image_name(), build_args={ "REPO_URL": f"https://www.github.com/{task.owner}/{task.repo}", "COMMIT_SHA": task.sha, @@ -206,7 +205,7 @@ def validate_one( # noqa: C901 build_stage = "build-ok" if not build_res.ok: - return _handle_build_error(task, build_cmd, run_cmd, build_res, args, image_name, build_stage) + return _handle_build_error(task, build_cmd, run_cmd, build_res, args, task.get_image_name(), build_stage) # --- RUN --- # prepare env (clone default Machine args and set machine=sha) @@ -221,9 +220,9 @@ def validate_one( # noqa: C901 files = {} try: container = client.containers.run( - image=image_name, + image=task.get_image_name(), detach=True, - name=f"{image_name.replace('/', '-')}-validation", + name=task.get_container_name(), environment=env, volumes={str((args.output_dir / "results").absolute()): {"bind": "/output", "mode": "rw"}}, ) @@ -244,7 +243,7 @@ def validate_one( # noqa: C901 try: files = log_container_output(container, archive="/output") except Exception: - logger.exception("Failed to archive output for %s", image_name) + logger.exception("Failed to archive output for %s", task.get_image_name()) ok = rc == 0 @@ -259,14 +258,14 @@ def validate_one( # noqa: C901 if not ok: return _handle_run_error( - task, build_cmd, run_cmd, rc, logs_tail, args, image_name, run_stage, build_stage, files + task, build_cmd, run_cmd, rc, logs_tail, args, task.get_image_name(), run_stage, build_stage, files ) - return { # noqa: TRY300 + return { "owner": task.owner, "repo": task.repo, "sha": task.sha, - "image_name": image_name, + "image_name": task.get_image_name(), "stage": f"{run_stage}+{build_stage}", "ok": ok, "rc": rc, @@ -278,11 +277,11 @@ def validate_one( # noqa: C901 "files": files, } except Exception: - return _handle_run_exception(task, build_cmd, run_cmd, args, image_name, build_stage) + return _handle_run_exception(task, build_cmd, run_cmd, args, task.get_image_name(), build_stage) finally: # best-effort cleanup try: if container: container.remove(force=True) except Exception: - logger.exception("Failed to remove container for %s", image_name) + logger.exception("Failed to remove container for %s", task.get_image_name()) diff --git a/src/datasmith/execution/collect_commits_offline.py b/src/datasmith/execution/collect_commits_offline.py index b04b987..b18b57f 100644 --- a/src/datasmith/execution/collect_commits_offline.py +++ b/src/datasmith/execution/collect_commits_offline.py @@ -5,22 +5,26 @@ import re import sys import tempfile -import urllib.parse -from concurrent.futures import FIRST_COMPLETED, ThreadPoolExecutor, wait +from concurrent.futures import FIRST_COMPLETED, ThreadPoolExecutor, as_completed, wait from pathlib import Path +from typing import Callable -from git import GitCommandError, Repo +from git import Commit, GitCommandError, Repo from tqdm.auto import tqdm from datasmith import logger from datasmith.agents.perf_judge import PerfClassifier -from datasmith.utils import CACHE_LOCATION, cache_completion +from datasmith.execution.utils import get_change_summary _PR_MERGE_PATTERNS: tuple[re.Pattern[str], ...] = ( # standard "Merge pull request #123 ..." re.compile(r"Merge pull request #(\d+)\b"), # squash-merge style "... (#[0-9]+)" on the last line re.compile(r"\(#(\d+)\)"), + # Refers to an issue/PR number. GH-{number} + re.compile(r"(?:\b|GH-)(\d+)\b"), + # Has a hashtag followed by a number. #123 + re.compile(r"#(\d+)\b"), ) @@ -44,7 +48,141 @@ def _is_pr_merge(message: str) -> bool: return any(p.search(message) for p in _PR_MERGE_PATTERNS) -def find_parent_commits(repo_name: str, commits: list[str]) -> list[str]: +def find_tagged_commits(repo: Repo) -> list[str]: + merge_shas: set[str] = set() + for tag in repo.tags: + if tag.commit.hexsha not in merge_shas: + merge_shas.add(tag.commit.hexsha) + + logger.debug(f"Collected {len(merge_shas)} commits from {repo.working_dir}.") + return sorted(merge_shas) + + +def find_parent_commits(repo: Repo, commits: list[str], add_first: bool = False) -> list[str]: + parent_commits = set() + for commit_sha in commits: + try: + commit = repo.commit(commit_sha) + # Add parent commits if they exist + parents = commit.parents + if add_first and len(parents): + # only keep the first parent. + parents = [parents[0]] + + for parent in parents: + parent_commits.add(parent.hexsha) + except Exception as e: + logger.warning(f"Could not find commit {commit_sha} in {repo.working_dir}: {e}") + + logger.debug(f"Collected {len(parent_commits)} parent commits from {repo.working_dir}.") + return sorted(parent_commits) + + +def collect_commits(repo: Repo) -> list[tuple[str, str]]: + """ + Collect all commit SHAs from the given bare repository. + """ + branch = _default_branch(repo) + ref_to_walk = f"origin/{branch}" + commits = [c.hexsha for c in repo.iter_commits(ref_to_walk)] + tagged_commits = find_tagged_commits(repo) + # parent_commits = find_parent_commits(repo, commits + tagged_commits, add_first=True) + + all_commits = [] + for c in commits: + all_commits.append(("commit", c)) + for c in tagged_commits: + all_commits.append(("tag", c)) + # for c in parent_commits: + # all_commits.append(("parent", c)) + + return all_commits + + +def _parallel_classify( + commits: list[tuple[str, str | bytes, str]], + process_commit_tuple: Callable[[tuple[str, str | bytes, str]], str | None], + repo_name: str, + n_workers: int, +) -> set[str]: + merge_shas: set[str] = set() + max_workers = n_workers + window = max_workers * 4 + + with ThreadPoolExecutor(max_workers=max_workers) as ex: + pbar = tqdm( + total=len(commits), + desc=f"Walking {repo_name} commits", + unit="commit", + file=sys.stdout, + miniters=1, + mininterval=0.1, + ) + + it = iter(commits) + pending = set() + + for _ in range(min(window, len(commits))): + pending.add(ex.submit(process_commit_tuple, next(it))) + + while pending: + done, pending = wait(pending, return_when=FIRST_COMPLETED) + + for fut in done: + try: + sha = fut.result() + if sha: + merge_shas.add(sha) + except Exception: + logger.exception("Worker failed") + finally: + pbar.update(1) + + with contextlib.suppress(StopIteration): + pending.add(ex.submit(process_commit_tuple, next(it))) + + pbar.close() + + logger.info(f"Collected {len(merge_shas)} commits from {repo_name}.") + return merge_shas + + +def batch_classify_commits( + perf_classifier: PerfClassifier, repo_name: str, commits: list[tuple[str, str | bytes, str]], n_workers: int +) -> set[str]: + def process_commit_tuple(t: tuple[str, str | bytes, str]) -> str | None: + hexsha, message, changes_summary = t + full_msg = message.strip() + + if not _is_pr_merge(str(full_msg)): + logger.debug(f"Skipping commit {hexsha}:{full_msg!s} as it is not a PR merge.") + return None + + full_msg = re.sub(r"\nSigned-off-by:.*", "", str(full_msg)).replace("\n\n", "\n").strip() + if len(full_msg.split()) > 2048: + full_msg = " ".join(full_msg.split()[:2048]) + "..." + + is_perf, agent_trace = perf_classifier.get_response(message=str(full_msg), file_change_summary=changes_summary) + if not is_perf: + logger.debug(f"Skipping commit {hexsha} as it is not a performance commit.") + logger.debug(f"Agent trace: {agent_trace}") + return None + + return hexsha + + if n_workers < 0: + merge_shas: set[str] = set() + for t in tqdm(commits, desc=f"Walking {repo_name} commits", unit="commit", file=sys.stdout): + sha = process_commit_tuple(t) + if sha: + merge_shas.add(sha) + logger.info(f"Collected {len(merge_shas)} commits from {repo_name}.") + return merge_shas + else: + return _parallel_classify(commits, process_commit_tuple, repo_name, n_workers) + + +def find_parent_releases(repo_name: str, commits: list[str], add_first: bool = False) -> list[str]: """ Return a list of commit SHAs that are parent commits of the given commits, **without** calling any GitHub API endpoints. @@ -74,18 +212,7 @@ def find_parent_commits(repo_name: str, commits: list[str]) -> list[str]: return [] raise - parent_commits = set() - for commit_sha in commits: - try: - commit = repo.commit(commit_sha) - # Add parent commits if they exist - for parent in commit.parents: - parent_commits.add(parent.hexsha) - except Exception as e: - logger.warning(f"Could not find commit {commit_sha} in {repo_name}: {e}") - - logger.info(f"Collected {len(parent_commits)} parent commits from {repo_name}.") - return sorted(parent_commits) + return find_parent_commits(repo, commits, add_first=add_first) def find_tagged_releases(repo_name: str) -> list[str]: @@ -118,22 +245,12 @@ def find_tagged_releases(repo_name: str) -> list[str]: return [] raise - merge_shas: set[str] = set() - for tag in repo.tags: - if tag.commit.hexsha not in merge_shas: - merge_shas.add(tag.commit.hexsha) - - logger.info(f"Collected {len(merge_shas)} commits from {repo_name}.") - - return sorted(merge_shas) + return find_tagged_commits(repo) -@cache_completion(CACHE_LOCATION, "find_perf_commits") -def find_perf_commits( # noqa: C901 +def find_perf_commits( repo_name: str, - query: str, - max_pages: int = 100, # ignored (kept for compatibility) - per_page: int = 100, # ignored (kept for compatibility) + n_workers: int = -1, ) -> list[str]: """ Return a list of commit SHAs that closed pull requests, **without** @@ -146,32 +263,16 @@ def find_perf_commits( # noqa: C901 The only element of *query* we still honour is `base=`. Uses an AI Agent to find performance-related commits. """ - qs = urllib.parse.parse_qs(query, keep_blank_values=True) - base_branch: str | None = qs.get("base", [None])[0] - n_workers = qs.get("n_workers", [1])[0] - n_workers = int(n_workers) if isinstance(n_workers, str) else 1 - perf_classifier = PerfClassifier() with tempfile.TemporaryDirectory(prefix="gh-history-") as workdir: - workdir_path = Path(workdir) + workdir_path = Path(workdir).absolute() url = f"https://github.com/{repo_name}.git" - # Clone *just* the commit / tree metadata (no blobs). - clone_kwargs: dict = { - "multi_options": ["--filter=tree:0"], - "no_checkout": True, - } - if base_branch: - clone_kwargs["branch"] = base_branch - - # ignore if repo is not public try: repo = Repo.clone_from( url, workdir_path, - env={"GIT_TERMINAL_PROMPT": "0", **os.environ}, - **clone_kwargs, ) except GitCommandError as e: if e.status == 128: @@ -181,72 +282,28 @@ def find_perf_commits( # noqa: C901 raise # Figure out which ref to walk. - branch = base_branch or _default_branch(repo) + branch = _default_branch(repo) ref_to_walk = f"origin/{branch}" - - commits = [(c.hexsha, c.message) for c in repo.iter_commits(ref_to_walk)] - - def process_commit_tuple(t: tuple[str, str | bytes]) -> str | None: - hexsha, message = t - full_msg = message.strip() - - if not _is_pr_merge(str(full_msg)): - logger.debug(f"Skipping commit {hexsha} as it is not a PR merge.") - return None - - full_msg = re.sub(r"\nSigned-off-by:.*", "", str(full_msg)).replace("\n\n", "\n").strip() - if len(full_msg.split()) > 2048: - full_msg = " ".join(full_msg.split()[:2048]) + "..." - - is_perf, agent_trace = perf_classifier.get_response(message=str(full_msg)) - if not is_perf: - logger.debug(f"Skipping commit {hexsha} as it is not a performance commit.") - logger.debug(f"Agent trace: {agent_trace}") - return None - - return hexsha - - merge_shas: set[str] = set() - max_workers = n_workers - # keep a small multiple of workers in-flight; adjust if you want more buffering - window = max_workers * 4 - - with ThreadPoolExecutor(max_workers=max_workers) as ex: - pbar = tqdm( - total=len(commits), - desc=f"Walking {repo_name} commits", - unit="commit", - file=sys.stdout, - miniters=1, - mininterval=0.1, - ) - - it = iter(commits) - pending = set() - - # prime the window - for _ in range(min(window, len(commits))): - pending.add(ex.submit(process_commit_tuple, next(it))) - - while pending: - done, pending = wait(pending, return_when=FIRST_COMPLETED) - - for fut in done: - try: - sha = fut.result() - if sha: - merge_shas.add(sha) - except Exception: - # don't let one bad task kill the progress loop - logger.exception("Worker failed") - finally: - pbar.update(1) - - # backfill one task for each completed, keeping the window steady - with contextlib.suppress(StopIteration): - pending.add(ex.submit(process_commit_tuple, next(it))) - - pbar.close() - - logger.info(f"Collected {len(merge_shas)} commits from {repo_name}.") + try: + repo.git.rev_parse(ref_to_walk, verify=True) + except Exception as e: + raise RuntimeError(f"Cannot resolve ref {ref_to_walk}: {e}") from e + + commits = list(repo.iter_commits(ref_to_walk)) + # commits = [c for c in commits if has_asv(repo, c)] + + summary_info: dict[Commit, str] = {} + + with ThreadPoolExecutor(max_workers=n_workers) as ex: + # compute get_change_simmary in parallel + futures = {ex.submit(get_change_summary, c): c for c in commits} + for f in tqdm(as_completed(futures), total=len(futures), desc="Computing change summaries"): + c = futures[f] + try: + summary_info[c] = f.result() + except Exception: + logger.exception("Failed to compute change summary for commit %s", c.hexsha) + summary_info[c] = "" + commit_tuples = [(c.hexsha, c.message, summary_info[c]) for c in commits] + merge_shas = batch_classify_commits(perf_classifier, repo_name, commit_tuples, n_workers) return sorted(merge_shas) diff --git a/src/datasmith/execution/utils.py b/src/datasmith/execution/utils.py index 8a37ddc..b32ce1d 100644 --- a/src/datasmith/execution/utils.py +++ b/src/datasmith/execution/utils.py @@ -152,8 +152,26 @@ def has_asv(repo: Repo, c: Commit) -> bool: return any(obj.type == "blob" and obj.name == "asv.conf.json" for obj in c.tree.traverse()) # type: ignore[union-attr] +def get_change_summary(commit: Commit) -> str: + """ + Generate a summary of changes made in the commit. + This should be a fast operation. + The summary should be a markdown table of the files changed, lines added, lines removed, and total changes. + """ + stats = commit.stats + summary_lines = [ + "| File | Lines Added | Lines Removed | Total Changes |", + "|------|-------------|----------------|----------------|", + ] + for file_path, file_stats in stats.files.items(): + summary_lines.append( + f"| {file_path} | {file_stats['insertions']} | {file_stats['deletions']} | {file_stats['lines']} |" + ) + return "\n".join(summary_lines) + + @cache_completion(CACHE_LOCATION, "get_commit_info_offline") -def _get_commit_info_offline(repo: Repo, commit_sha: str, bypass_cache=True) -> dict[str, Any]: +def _get_commit_info_offline(repo: Repo, commit_sha: str) -> dict[str, Any]: """ Return commit metadata and diff stats *without* the GitHub REST API. @@ -172,6 +190,7 @@ def _get_commit_info_offline(repo: Repo, commit_sha: str, bypass_cache=True) -> "files_changed": "", "patch": "", "has_asv": False, + "file_change_summary": "", } try: commit = repo.commit(commit_sha) @@ -202,6 +221,7 @@ def _get_commit_info_offline(repo: Repo, commit_sha: str, bypass_cache=True) -> "files_changed": "\n".join(str(k) for k in stats.files), "patch": patch, "has_asv": has_asv(repo, commit), + "file_change_summary": get_change_summary(commit), } diff --git a/src/datasmith/utils.py b/src/datasmith/utils.py index 900eeee..bcd27c5 100644 --- a/src/datasmith/utils.py +++ b/src/datasmith/utils.py @@ -223,7 +223,10 @@ def _request_with_backoff( def get_db_connection(db_loc: str) -> tuple[sqlite3.Cursor, sqlite3.Connection]: """Get a SQLite database connection and cursor.""" - conn = sqlite3.connect(db_loc) + conn = sqlite3.connect(db_loc, timeout=30, isolation_level=None) + conn.execute("PRAGMA journal_mode=WAL;") # enables readers during writes + conn.execute("PRAGMA synchronous=NORMAL;") # good balance of safety/speed + conn.execute("PRAGMA busy_timeout=30000;") # wait up to 30s if locked c = conn.cursor() return c, conn