Base
Базовый класс для GitHub Action.
В своем подклассе вы должны реализовать метод main()
который вызывается из
run().
Вы можете определить пользовательские типы входных и/или выходных данных в подклассе. Или вы можете ничего не делать в подклассе, если вам не нужны типизированные входные и выходные данные.
Обратите внимание, что это просто типы, экземпляры этих типов автоматически создаются в методе init.
Использование:
from pathlib import Path
from github_custom_actions import ActionBase, ActionInputs, ActionOutputs
class MyInputs(ActionInputs):
my_input: str
"""My input description"""
my_path: Path
"""My path description"""
class MyOutputs(ActionOutputs):
runner_os: str
"""Runner OS description"""
class MyAction(ActionBase):
inputs: MyInputs
outputs: MyOutputs
def main(self):
if self.inputs.my_path is None:
raise ValueError("my-path is required")
self.inputs.my_path.mkdir(exist_ok=True)
self.outputs.runner_os = self.env.runner_os
self.summary.text += (
self.render(
"### {{ inputs.my_input }}.\n"
"Have a nice day, {{ inputs['name'] }}!"
)
)
if __name__ == "__main__":
MyAction().run()