diff --git a/dist/index.js b/dist/index.js index 2a29e8a..c6816d4 100644 --- a/dist/index.js +++ b/dist/index.js @@ -62095,12 +62095,15 @@ const gBase64 = { // and finally, +// EXTERNAL MODULE: external "path" +var external_path_ = __nccwpck_require__(1017); ;// CONCATENATED MODULE: ./src/lib.js + function processAdditionalRegistries(targetRegistries) { const additionalRegistries = core.getInput('additional_registries'); if (additionalRegistries != null && additionalRegistries.length > 0) { @@ -62154,7 +62157,7 @@ function mergeArgRegistryAuthJson(registryAuthJson) { } } } - catch (e) { + catch (error) { console.log('Failed to parse registry auth json', e); core.setFailed(error.message); process.exit(1); @@ -62162,8 +62165,9 @@ function mergeArgRegistryAuthJson(registryAuthJson) { } } -function writeRegistryAuthJson(registryAuthJson, path) { - external_fs_.writeFileSync(path, JSON.stringify(registryAuthJson, null, 2)); +function writeRegistryAuthJson(registryAuthJson, targetFile) { + external_fs_.mkdirSync(external_path_.dirname(targetFile), {recursive: true}); + external_fs_.writeFileSync(targetFile, JSON.stringify(registryAuthJson, null, 2)); } function collectTags() { @@ -62236,32 +62240,40 @@ function prepareDestinations(registries, tags) { -const action_information = collect_all(true, false); -const debug = !!core.getInput('debug'); -let targetRegistries = []; -const repoStr = github.context.repo.owner + '/' + github.context.repo.repo; +try { + const information = collect_all(true, false); + const debug = !!core.getInput('debug'); -let ci_registry = false; -if (core.getBooleanInput('add_ci_registry_target')) { - ci_registry = action_information.ci_hostname + '/' + repoStr; - targetRegistries.push(ci_registry); + let targetRegistries = []; + const repoStr = github.context.repo.owner + '/' + github.context.repo.repo; + + let ci_registry = false; + if (core.getBooleanInput('add_ci_registry_target')) { + ci_registry = information.ci_hostname + '/' + repoStr; + targetRegistries.push(ci_registry); + } + + processAdditionalRegistries(); + const registryAuthJson = {auths: {}}; + addCiRegistryAuth(ci_registry, registryAuthJson); + mergeArgRegistryAuthJson(registryAuthJson); + writeRegistryAuthJson(registryAuthJson, '/home/runner/.docker/config.json'); + + const tags = collectTags(); + if (debug) { + console.log('tags:', JSON.stringify(tags, null, 2)); + } + + const destinations = prepareDestinations(targetRegistries, tags); + if (debug) { + console.log('destinations:', JSON.stringify(tags, null, 2)); + } } - -processAdditionalRegistries(); -const registryAuthJson = {auths: {}}; -addCiRegistryAuth(ci_registry, registryAuthJson); -mergeArgRegistryAuthJson(registryAuthJson); -writeRegistryAuthJson(registryAuthJson, '/home/runner/.docker/config.json'); - -const tags = collectTags(); -if (debug) { - console.log('tags:', JSON.stringify(tags, null, 2)); -} - -const destinations = prepareDestinations(targetRegistries, tags); -if (debug) { - console.log('destinations:', JSON.stringify(tags, null, 2)); +catch (error) { + console.log('Failed to build docker image', e); + core.setFailed(error.message); + process.exit(1); } })(); diff --git a/src/action.js b/src/action.js index 446f8c5..970d3e0 100644 --- a/src/action.js +++ b/src/action.js @@ -10,30 +10,38 @@ import { writeRegistryAuthJson } from './lib'; -const information = action_information.collect_all(true, false); -const debug = !!core.getInput('debug'); -let targetRegistries = []; -const repoStr = github.context.repo.owner + '/' + github.context.repo.repo; +try { + const information = action_information.collect_all(true, false); + const debug = !!core.getInput('debug'); -let ci_registry = false; -if (core.getBooleanInput('add_ci_registry_target')) { - ci_registry = information.ci_hostname + '/' + repoStr; - targetRegistries.push(ci_registry); + let targetRegistries = []; + const repoStr = github.context.repo.owner + '/' + github.context.repo.repo; + + let ci_registry = false; + if (core.getBooleanInput('add_ci_registry_target')) { + ci_registry = information.ci_hostname + '/' + repoStr; + targetRegistries.push(ci_registry); + } + + processAdditionalRegistries(); + const registryAuthJson = {auths: {}}; + addCiRegistryAuth(ci_registry, registryAuthJson); + mergeArgRegistryAuthJson(registryAuthJson); + writeRegistryAuthJson(registryAuthJson, '/home/runner/.docker/config.json'); + + const tags = collectTags(); + if (debug) { + console.log('tags:', JSON.stringify(tags, null, 2)); + } + + const destinations = prepareDestinations(targetRegistries, tags); + if (debug) { + console.log('destinations:', JSON.stringify(tags, null, 2)); + } } - -processAdditionalRegistries(); -const registryAuthJson = {auths: {}}; -addCiRegistryAuth(ci_registry, registryAuthJson); -mergeArgRegistryAuthJson(registryAuthJson); -writeRegistryAuthJson(registryAuthJson, '/home/runner/.docker/config.json'); - -const tags = collectTags(); -if (debug) { - console.log('tags:', JSON.stringify(tags, null, 2)); -} - -const destinations = prepareDestinations(targetRegistries, tags); -if (debug) { - console.log('destinations:', JSON.stringify(tags, null, 2)); +catch (error) { + console.log('Failed to build docker image', e); + core.setFailed(error.message); + process.exit(1); } diff --git a/src/lib.js b/src/lib.js index ddd8224..c409350 100644 --- a/src/lib.js +++ b/src/lib.js @@ -2,6 +2,7 @@ import * as core from '@actions/core'; import * as github from '@actions/github'; import * as fs from 'fs'; import {Base64} from 'js-base64'; +import * as path from 'path'; export function processAdditionalRegistries(targetRegistries) { const additionalRegistries = core.getInput('additional_registries'); @@ -56,7 +57,7 @@ export function mergeArgRegistryAuthJson(registryAuthJson) { } } } - catch (e) { + catch (error) { console.log('Failed to parse registry auth json', e); core.setFailed(error.message); process.exit(1); @@ -64,8 +65,9 @@ export function mergeArgRegistryAuthJson(registryAuthJson) { } } -export function writeRegistryAuthJson(registryAuthJson, path) { - fs.writeFileSync(path, JSON.stringify(registryAuthJson, null, 2)); +export function writeRegistryAuthJson(registryAuthJson, targetFile) { + fs.mkdirSync(path.dirname(targetFile), {recursive: true}); + fs.writeFileSync(targetFile, JSON.stringify(registryAuthJson, null, 2)); } export function collectTags() {