Add auth_file_path input and --verbose flag (#21)

Signed-off-by: divyansh42 <diagrawa@redhat.com>
This commit is contained in:
Divyanshu Agrawal 2022-05-04 13:15:40 +05:30 committed by GitHub
parent 43f863be90
commit 34f135348d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 34 additions and 9 deletions

View file

@ -1,5 +1,11 @@
// This file was auto-generated by action-io-generator. Do not edit by hand!
export enum Inputs {
/**
* Path of the authentication file, this will override the default auth file path in podman
* Required: false
* Default: None.
*/
AUTH_FILE_PATH = "auth_file_path",
/**
* 'By default, the action logs out of the container image registry at the end
* of the job (for self-hosted runners). Set this to false to disable this behaviour'

View file

@ -34,6 +34,7 @@ async function run(): Promise<void> {
const username = core.getInput(Inputs.USERNAME, { required: true });
const password = core.getInput(Inputs.PASSWORD, { required: true });
const logout = core.getInput(Inputs.LOGOUT) || "true";
const authFilePath = core.getInput(Inputs.AUTH_FILE_PATH);
stateHelper.setRegistry(registry);
stateHelper.setLogout(logout);
@ -46,17 +47,29 @@ async function run(): Promise<void> {
"-p",
password,
];
args.push("--verbose");
if (authFilePath) {
args.push(`--authfile=${authFilePath}`);
}
await execute(await getPodmanPath(), args);
core.info(`✅ Successfully logged in to ${registry} as ${username}`);
// Setting REGISTRY_AUTH_FILE environment variable as buildah needs
// this environment variable to point to registry auth file
let authFileDir = path.join("/", "tmp", `podman-run-${process.getuid()}`);
if (process.env.XDG_RUNTIME_DIR) {
authFileDir = process.env.XDG_RUNTIME_DIR;
let podmanAuthFilePath;
if (authFilePath) {
podmanAuthFilePath = authFilePath;
}
else {
let authFileDir = path.join("/", "tmp", `podman-run-${process.getuid()}`);
if (process.env.XDG_RUNTIME_DIR) {
authFileDir = process.env.XDG_RUNTIME_DIR;
}
podmanAuthFilePath = path.join(authFileDir,
"containers", "auth.json");
}
const podmanAuthFilePath = path.join(authFileDir,
"containers", "auth.json");
const REGISTRY_AUTH_ENVVAR = "REGISTRY_AUTH_FILE";
core.info(`Exporting ${REGISTRY_AUTH_ENVVAR}=${podmanAuthFilePath}`);
core.exportVariable(REGISTRY_AUTH_ENVVAR, podmanAuthFilePath);