Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add docs for GHA self-hosted settings #2025

Merged
merged 2 commits into from
Nov 6, 2023
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions src/maintainer/conda_forge_yml.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ Top-level fields
* :ref:`conda_solver`
* :ref:`docker`
* :ref:`github`
* :ref:`github_actions`
* :ref:`idle_timeout_minutes`
* :ref:`linux`
* :ref:`linux_aarch64`
Expand Down Expand Up @@ -353,6 +354,50 @@ defaults are as follows:
# conda-forge-ci-setup-feedstock references
tooling_branch_name: main

.. _github_actions:

github_actions
jaimergp marked this conversation as resolved.
Show resolved Hide resolved
--------------
This dictates the behavior of the Github Actions CI service. It is a
mapping for GHA-specific configuration options. For example:

.. code-block:: yaml

github_actions:
# Is the job using Microsoft hosted free runners or 'self-hosted'.
self_hosted: false
# triggers for actions. Defaults to `['push', 'pull_request']` for
# Microsoft hosted free runners and `['push']` for self-hosted
triggers: []
# Timeout for CI jobs
timeout_minutes: 360
# Cancel in progress builds. Defaults to false for Microsoft hosted
# free runner and true for self-hosted
cancel_in_progress: None
# Maximum number of parallel jobs per build.
max_parallel: None
# Retain build artifacts for inspection
store_build_artifacts: false
# Retention period for built artifacts
artifact_retention_days: 14

For self-hosted runners ``recipe/conda_build_config.yaml`` is used for
specifying labels for the runners.

.. code-block:: yaml

github_actions_labels:
# use Microsoft free runners
- hosted # [osx or win]
# Use self-hosted runner with custom label
- - self-hosted # [linux and aarch64]
- custom-label # [linux and aarch64]
# Use self-hosted runner from cirun
- cirun-openstack-cpu-large # [linux and ppc64le]
# Use self-hosted gpu runner from cirun
- cirun-openstack-gpu-large # [linux and x86_64]
Comment on lines +389 to +398
Copy link

@adrianinsaval adrianinsaval Mar 18, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could somebody explain how do I interpret this? how do I use this? how can I achieve this output:

          - CONFIG: osx_arm64_python3.11.____cpython
            UPLOAD_PACKAGES: True
            os: macos
            runs_on: ['macos-14']

macos-14 are github's new arm macos runners

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can't, this is only for self-hosted runners, or organizations that are not conda-forge. We haven't enabled native osx-arm64 runners with Github. See discussion at #1781

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm trying to do it for a not conda-forge feedstock. Would be nice if smithy woudl support that in such cases, loks like most of the building blocks needed for such functionality are there. It's a PITA manually changing back to the specific runner I want every time I rerender. I also want to specify the macos version for the x86_64 runner, my builds hang for a prolonged time sometimes until timeout on macos-latest but usually run without issue on macos-11

Copy link
Member

@jakirkham jakirkham Mar 20, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we convert this to a conda-smithy issue?

Would help if we can capture what exactly is being tried, what happens now, and what the use case needs to work in the ideal case

Edit: Links to PRs, code, etc. would also be helpful context



.. _idle_timeout_minutes:

idle_timeout_minutes
Expand Down
Loading