2023-01-30 00:08:45 +01:00
|
|
|
import {Context} from './context';
|
|
|
|
|
import {Buildx} from './buildx';
|
|
|
|
|
import {BuildKit} from './buildkit';
|
2023-01-30 02:31:09 +01:00
|
|
|
import {GitHub} from './github';
|
2023-01-30 00:08:45 +01:00
|
|
|
|
|
|
|
|
export {Builder, BuilderOpts, BuilderInfo, NodeInfo} from './builder';
|
2023-01-30 02:31:09 +01:00
|
|
|
export {BuildKit, BuildKitOpts} from './buildkit';
|
2023-01-30 00:08:45 +01:00
|
|
|
export {Buildx, BuildxOpts} from './buildx';
|
2023-01-30 02:31:09 +01:00
|
|
|
export {Context} from './context';
|
2023-01-30 00:08:45 +01:00
|
|
|
export {Docker} from './docker';
|
|
|
|
|
export {Git} from './git';
|
2023-01-30 03:20:29 +01:00
|
|
|
export {GitHub, GitHubRepo, GitHubActionsRuntimeToken} from './github';
|
2023-01-30 00:08:45 +01:00
|
|
|
export {Util} from './util';
|
|
|
|
|
|
|
|
|
|
export interface ToolkitOpts {
|
|
|
|
|
/**
|
|
|
|
|
* GitHub token to use for authentication.
|
|
|
|
|
* Uses `process.env.GITHUB_TOKEN` by default.
|
|
|
|
|
*/
|
|
|
|
|
githubToken?: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export class Toolkit {
|
|
|
|
|
public context: Context;
|
2023-01-30 02:31:09 +01:00
|
|
|
public github: GitHub;
|
2023-01-30 00:08:45 +01:00
|
|
|
public buildx: Buildx;
|
|
|
|
|
public buildkit: BuildKit;
|
|
|
|
|
|
|
|
|
|
constructor(opts: ToolkitOpts = {}) {
|
2023-01-30 02:31:09 +01:00
|
|
|
this.context = new Context();
|
|
|
|
|
this.github = new GitHub({token: opts.githubToken});
|
2023-01-30 00:08:45 +01:00
|
|
|
this.buildx = new Buildx({context: this.context});
|
|
|
|
|
this.buildkit = new BuildKit({context: this.context, buildx: this.buildx});
|
|
|
|
|
}
|
|
|
|
|
}
|