Fix tmpDir and defaultContext func

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
CrazyMax 2020-10-21 02:46:41 +02:00
parent 24a0b9628d
commit 71d586a48c
No known key found for this signature in database
GPG Key ID: 3248E46B6BB8C7F7
4 changed files with 50 additions and 6 deletions

View File

@ -178,6 +178,13 @@ jobs:
- -
name: Image digest name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }} run: echo ${{ steps.docker_build.outputs.digest }}
-
name: Check digest
run: |
if [ -z "${{ steps.docker_build.outputs.digest }}" ]; then
echo "::error::Digest should not be empty"
exit 1
fi
- -
name: Dump context name: Dump context
if: always() if: always()

View File

@ -104,6 +104,28 @@ describe('getArgs', () => {
'--file', 'Dockerfile', '--file', 'Dockerfile',
'https://github.com/docker/build-push-action.git#test-jest' 'https://github.com/docker/build-push-action.git#test-jest'
] ]
],
[
'0.4.2',
new Map<string, string>([
['context', 'https://github.com/docker/build-push-action.git#heads/master'],
['tag', 'localhost:5000/name/app:latest'],
['platforms', 'linux/amd64,linux/arm64'],
['secrets', 'GIT_AUTH_TOKEN=abcdefghijklmno0123456789'],
['file', './test/Dockerfile'],
['builder', 'builder-git-context-2'],
['push', 'true']
]),
[
'buildx',
'build',
'--platform', 'linux/amd64,linux/arm64',
'--secret', 'id=GIT_AUTH_TOKEN,src=/tmp/.docker-build-push-jest/.tmpname-jest',
'--file', './test/Dockerfile',
'--builder', 'builder-git-context-2',
'--push',
'https://github.com/docker/build-push-action.git#heads/master'
]
] ]
])( ])(
'given %p with %p as inputs, returns %p', 'given %p with %p as inputs, returns %p',

11
dist/index.js generated vendored
View File

@ -14849,13 +14849,20 @@ const tmp = __importStar(__webpack_require__(517));
const buildx = __importStar(__webpack_require__(295)); const buildx = __importStar(__webpack_require__(295));
const core = __importStar(__webpack_require__(186)); const core = __importStar(__webpack_require__(186));
const github = __importStar(__webpack_require__(438)); const github = __importStar(__webpack_require__(438));
let _defaultContext, _tmpDir;
function defaultContext() { function defaultContext() {
var _a, _b; var _a, _b;
return `https://github.com/${github.context.repo.owner}/${github.context.repo.repo}.git#${(_b = (_a = github.context) === null || _a === void 0 ? void 0 : _a.ref) === null || _b === void 0 ? void 0 : _b.replace(/^refs\//, '')}`; if (!_defaultContext) {
_defaultContext = `https://github.com/${github.context.repo.owner}/${github.context.repo.repo}.git#${(_b = (_a = github.context) === null || _a === void 0 ? void 0 : _a.ref) === null || _b === void 0 ? void 0 : _b.replace(/^refs\//, '')}`;
}
return _defaultContext;
} }
exports.defaultContext = defaultContext; exports.defaultContext = defaultContext;
function tmpDir() { function tmpDir() {
return fs.mkdtempSync(path.join(os.tmpdir(), 'docker-build-push-')).split(path.sep).join(path.posix.sep); if (!_tmpDir) {
_tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-build-push-')).split(path.sep).join(path.posix.sep);
}
return _tmpDir;
} }
exports.tmpDir = tmpDir; exports.tmpDir = tmpDir;
function tmpNameSync(options) { function tmpNameSync(options) {

View File

@ -7,6 +7,8 @@ import * as buildx from './buildx';
import * as core from '@actions/core'; import * as core from '@actions/core';
import * as github from '@actions/github'; import * as github from '@actions/github';
let _defaultContext, _tmpDir: string;
export interface Inputs { export interface Inputs {
context: string; context: string;
file: string; file: string;
@ -29,13 +31,19 @@ export interface Inputs {
} }
export function defaultContext(): string { export function defaultContext(): string {
return `https://github.com/${github.context.repo.owner}/${ if (!_defaultContext) {
_defaultContext = `https://github.com/${github.context.repo.owner}/${
github.context.repo.repo github.context.repo.repo
}.git#${github.context?.ref?.replace(/^refs\//, '')}`; }.git#${github.context?.ref?.replace(/^refs\//, '')}`;
}
return _defaultContext;
} }
export function tmpDir(): string { export function tmpDir(): string {
return fs.mkdtempSync(path.join(os.tmpdir(), 'docker-build-push-')).split(path.sep).join(path.posix.sep); if (!_tmpDir) {
_tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-build-push-')).split(path.sep).join(path.posix.sep);
}
return _tmpDir;
} }
export function tmpNameSync(options?: tmp.TmpNameOptions): string { export function tmpNameSync(options?: tmp.TmpNameOptions): string {