refactor progress
This commit is contained in:
44
scripts/ci/deploy_workflow.py
Normal file
44
scripts/ci/deploy_workflow.py
Normal file
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from collections.abc import Mapping, Sequence
|
||||
|
||||
from ci_steps import (
|
||||
ADD_KNOWN_HOSTS_SCRIPT,
|
||||
INSTALL_DOCKER_PUSSH_SCRIPT,
|
||||
record_deploy_commit_script,
|
||||
set_build_timestamp_script,
|
||||
)
|
||||
from ci_workflow import EnvArg, parse_step_env_args
|
||||
from ci_utils import Step, run_step
|
||||
|
||||
|
||||
def build_standard_deploy_steps(
|
||||
*,
|
||||
push_and_deploy_script: str,
|
||||
include_sentry: bool = False,
|
||||
include_build_timestamp: bool = True,
|
||||
) -> dict[str, Step]:
|
||||
steps: dict[str, Step] = {
|
||||
"record_deploy_commit": record_deploy_commit_script(
|
||||
include_env=True,
|
||||
include_sentry=include_sentry,
|
||||
),
|
||||
}
|
||||
if include_build_timestamp:
|
||||
steps["set_build_timestamp"] = set_build_timestamp_script()
|
||||
steps["install_docker_pussh"] = INSTALL_DOCKER_PUSSH_SCRIPT
|
||||
steps["add_known_hosts"] = ADD_KNOWN_HOSTS_SCRIPT
|
||||
steps["push_and_deploy"] = push_and_deploy_script
|
||||
return steps
|
||||
|
||||
|
||||
def run_deploy_workflow(
|
||||
steps: Mapping[str, Step],
|
||||
*,
|
||||
env_args: Sequence[EnvArg] | None = None,
|
||||
) -> int:
|
||||
args = parse_step_env_args(env_args, include_server_ip=True)
|
||||
run_step(steps, args.step)
|
||||
return 0
|
||||
Reference in New Issue
Block a user