import { Job, JobArgT } from '.'; export interface FetchCodeJobProps extends JobArgT { readonly remoteUrl: string; readonly checkout: string; readonly path: string; } export interface FetchCodeJob { readonly type: 'fetch_code'; readonly arguments: FetchCodeJobProps; } export interface NpmPublishJobProps extends JobArgT { readonly source: string; readonly registry: string; } export interface NpmPublishJob { readonly type: 'npm_publish.js'; readonly arguments: NpmPublishJobProps; } export interface BuildDockerImageJobProps extends JobArgT { readonly registry: string; readonly namespace: string; readonly repository: string; readonly imageTag: string; readonly context: string; readonly dockerfile: string; readonly buildTarget: string; } export interface BuildDockerImageJob extends Job { readonly type: 'build_docker_image.js'; readonly arguments: BuildDockerImageJobProps; } export interface AnsiblePlaybookJobProps extends JobArgT { readonly path: string; readonly playbooks: string; } export interface AnsiblePlaybookJob extends Job { readonly type: 'ansible_playbook.js'; readonly arguments: AnsiblePlaybookJobProps; } export interface CheckoutCiJobProps extends JobArgT { readonly remote: string; readonly refname: string; readonly rev: string; readonly run: string; readonly returnPath: string; } export interface CheckoutCiJob extends Job { readonly type: 'checkout_ci.js'; readonly arguments: CheckoutCiJobProps; }