Set env var REGISTRY_AUTH_FILE to work with buildah (#6)

* Set env var REGISTRY_AUTH_FILE to work with buildah

Signed-off-by: divyansh42 <diagrawa@redhat.com>

* Add info level message

Signed-off-by: divyansh42 <diagrawa@redhat.com>

* Resolve reviews

Signed-off-by: divyansh42 <diagrawa@redhat.com>

* Reslve reviews

Signed-off-by: divyansh42 <diagrawa@redhat.com>
This commit is contained in:
Divyanshu Agrawal 2021-08-20 19:19:14 +05:30 committed by GitHub
parent 4bf4190336
commit d968d572fb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 46 additions and 10 deletions

View file

@ -2,6 +2,8 @@ name: CI checks
on:
push:
pull_request:
schedule:
- cron: '0 0 * * *' # every day at midnight
jobs:
lint:
@ -12,7 +14,7 @@ jobs:
- uses: actions/checkout@v2
- run: npm ci
- run: npm run lint
check-dist:
name: Check Distribution
runs-on: ubuntu-20.04
@ -30,7 +32,7 @@ jobs:
with:
bundle_file: ${{ env.BUNDLE_FILE }}
bundle_command: ${{ env.BUNDLE_COMMAND }}
check-inputs-outputs:
name: Check Input and Output enums
runs-on: ubuntu-20.04
@ -41,7 +43,7 @@ jobs:
- name: Install dependencies
run: npm ci
- name: Verify Input and Output enums
uses: redhat-actions/common/action-io-generator@v1
with:

View file

@ -1,16 +1,19 @@
name: Test Login
name: Test Login and Pull
on:
push:
workflow_dispatch:
schedule:
- cron: '0 0 * * *' # every day at midnight
env:
REGISTRY_USER: diagrawa
IMAGE_PATH: quay.io/redhat-github-actions/petclinic-private:latest
REGISTRY_USER: redhat-github-actions+redhat_actions_ci_puller
IMAGE_REGISTRY: quay.io
REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}
jobs:
login:
name: Log in to registry
podman-pull:
name: Log in and pull image with Podman
runs-on: ubuntu-20.04
steps:
@ -22,3 +25,23 @@ jobs:
username: ${{ env.REGISTRY_USER }}
password: ${{ env.REGISTRY_PASSWORD }}
registry: ${{ env.IMAGE_REGISTRY }}
- name: Pull image with Podman
run: podman pull ${{ env.IMAGE_PATH }}
buildah-pull:
name: Log in and pull image with Buildah
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Log in to quay.io
uses: ./
with:
username: ${{ env.REGISTRY_USER }}
password: ${{ env.REGISTRY_PASSWORD }}
registry: ${{ env.IMAGE_REGISTRY }}
- name: Pull image with Buildah
run: buildah pull ${{ env.IMAGE_PATH }}

View file

@ -6,6 +6,8 @@ on:
pull_request:
paths:
- '**.md'
schedule:
- cron: '0 0 * * *' # every day at midnight
jobs:
markdown-link-check:

View file

@ -1,6 +1,6 @@
# podman-login
[![CI checks](https://github.com/redhat-actions/podman-login/workflows/CI%20checks/badge.svg)](https://github.com/redhat-actions/podman-login/actions?query=workflow%3A%22CI+checks%22)
[![Build](https://github.com/redhat-actions/podman-login/workflows/Test%20Login/badge.svg)](https://github.com/redhat-actions/podman-login/actions?query=workflow%3ABuild)
[![Test Login and Pull](https://github.com/redhat-actions/podman-login/actions/workflows/example.yml/badge.svg)](https://github.com/redhat-actions/podman-login/actions/workflows/example.yml)
[![Link checker](https://github.com/redhat-actions/podman-login/workflows/Link%20checker/badge.svg)](https://github.com/redhat-actions/podman-login/actions?query=workflow%3A%22Link+checker%22)
<br>
<br>

2
dist/index.js vendored

File diff suppressed because one or more lines are too long

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View file

@ -6,6 +6,7 @@
import * as core from "@actions/core";
import * as io from "@actions/io";
import * as os from "os";
import * as path from "path";
import { getInputs } from "./context";
import { execute } from "./utils";
import * as stateHelper from "./state-helper";
@ -44,6 +45,14 @@ async function run(): Promise<void> {
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
const podmanAuthFilePath = path.join("/", "tmp", `podman-run-${process.getuid()}`,
"containers", "auth.json");
const REGISTRY_AUTH_ENVVAR = "REGISTRY_AUTH_FILE";
core.info(`Exporting ${REGISTRY_AUTH_ENVVAR}=${podmanAuthFilePath}`);
core.exportVariable(REGISTRY_AUTH_ENVVAR, podmanAuthFilePath);
}
async function registryLogout(): Promise<void> {