Use `core.getBooleanInput`

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
CrazyMax 2021-06-22 10:39:55 +02:00
parent e2346b6971
commit 4fd5d8ead6
No known key found for this signature in database
GPG Key ID: 3248E46B6BB8C7F7
6 changed files with 34 additions and 7 deletions

View File

@ -28,6 +28,27 @@ jobs:
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
logout:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
logout:
- false
- true
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Login to GitHub Container Registry
uses: ./
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
logout: ${{ matrix.logout }}
dind:
runs-on: ubuntu-latest
env:

View File

@ -5,6 +5,7 @@ import {getInputs} from '../src/context';
test('with password and username getInputs does not throw error', async () => {
process.env['INPUT_USERNAME'] = 'dbowie';
process.env['INPUT_PASSWORD'] = 'groundcontrol';
process.env['INPUT_LOGOUT'] = 'true';
expect(() => {
getInputs();
}).not.toThrowError();

View File

@ -10,6 +10,8 @@ test('errors without username and password', async () => {
const platSpy = jest.spyOn(osm, 'platform');
platSpy.mockImplementation(() => 'linux');
process.env['INPUT_LOGOUT'] = 'true'; // default value
const coreSpy: jest.SpyInstance = jest.spyOn(core, 'setFailed');
await run();
@ -32,10 +34,13 @@ test('successful with username and password', async () => {
const password: string = 'groundcontrol';
process.env[`INPUT_PASSWORD`] = password;
const logout: boolean = false;
process.env['INPUT_LOGOUT'] = String(logout);
await run();
expect(setRegistrySpy).toHaveBeenCalledWith('');
expect(setLogoutSpy).toHaveBeenCalledWith('');
expect(setLogoutSpy).toHaveBeenCalledWith(logout);
expect(dockerSpy).toHaveBeenCalledWith('', username, password);
});
@ -57,8 +62,8 @@ test('calls docker login', async () => {
const registry: string = 'ghcr.io';
process.env[`INPUT_REGISTRY`] = registry;
const logout: string = 'true';
process.env['INPUT_LOGOUT'] = logout;
const logout: boolean = true;
process.env['INPUT_LOGOUT'] = String(logout);
await run();

2
dist/index.js generated vendored
View File

@ -4737,7 +4737,7 @@ function getInputs() {
registry: core.getInput('registry'),
username: core.getInput('username'),
password: core.getInput('password'),
logout: core.getInput('logout')
logout: core.getBooleanInput('logout')
};
}
exports.getInputs = getInputs;

View File

@ -4,7 +4,7 @@ export interface Inputs {
registry: string;
username: string;
password: string;
logout: string;
logout: boolean;
}
export function getInputs(): Inputs {
@ -12,6 +12,6 @@ export function getInputs(): Inputs {
registry: core.getInput('registry'),
username: core.getInput('username'),
password: core.getInput('password'),
logout: core.getInput('logout')
logout: core.getBooleanInput('logout')
};
}

View File

@ -8,7 +8,7 @@ export function setRegistry(registry: string) {
core.saveState('registry', registry);
}
export function setLogout(logout: string) {
export function setLogout(logout: boolean) {
core.saveState('logout', logout);
}