Wout Van De Wiel 90a6236466 Add option to use the kubernetes scheduler for workflow pods (#111)
* Add option to use kube scheduler

This should only be used when rwx volumes are supported or when using a single node cluster.

* Add option to set timeout for prepare job

If the kube scheduler is used to hold jobs until sufficient resources are available,
then prepare job needs to wait for a longer period until the workflow pod is running.
This timeout will mostly need an increase in cases where many jobs are triggered
which together exceed the resources available in the cluster.
The workflows can then be gracefully handled later when sufficient resources become available again.

* Skip name override warning when names match or job extension

* Add guard for positive timeouts with a warning

* Write out ReadWriteMany in full
2023-10-31 12:51:09 +01:00
2023-09-25 13:52:48 +02:00
2022-06-02 15:53:11 -04:00
2022-06-02 15:53:11 -04:00
2022-06-02 15:53:11 -04:00
2022-06-02 15:53:11 -04:00
2022-06-02 15:53:11 -04:00
2022-06-22 09:06:20 -04:00
2022-06-02 15:50:35 -04:00
2022-06-02 15:53:11 -04:00
2022-06-02 15:53:11 -04:00
2022-06-02 15:53:11 -04:00
2022-06-02 15:53:11 -04:00

Runner Container Hooks

The Runner Container Hooks repo provides a set of packages that implement the container hooks feature in the actions/runner. These can be used as is, or you can use them as a guide to implement your own hooks.

More information on how to implement your own hooks can be found in the adr. The examples folder provides example inputs for each hook.

Background

Three projects are included in the packages folder

  • k8s: A kubernetes hook implementation that spins up pods dynamically to run a job. More details can be found in the readme
  • docker: A hook implementation of the runner's docker implementation. More details can be found in the readme
  • hooklib: a shared library which contains typescript definitions and utilities that the other projects consume

Requirements

We welcome contributions. See how to contribute to get started.

License

This project is licensed under the terms of the MIT open source license. Please refer to MIT for the full terms.

Maintainers

See the Codeowners

Support

Find a bug? Please file an issue in this repository using the issue templates.

Code of Conduct

See our Code of Conduct

Description
Runner Container Hooks for GitHub Actions
Readme MIT 5.4 MiB
Languages
TypeScript 96%
JavaScript 4%