BREAKING CHANGE(szci): Rename project from npmci to szci and migrate runtime to Deno; add compiled binaries, installer and wrapper; update imports, env handling and package metadata
This commit is contained in:
@@ -1,20 +1,20 @@
|
||||
import { logger } from '../npmci.logging.js';
|
||||
import * as plugins from './mod.plugins.js';
|
||||
import * as paths from '../npmci.paths.js';
|
||||
import { bash } from '../npmci.bash.js';
|
||||
import { logger } from '../szci.logging.ts';
|
||||
import * as plugins from './mod.plugins.ts';
|
||||
import * as paths from '../szci.paths.ts';
|
||||
import { bash } from '../szci.bash.ts';
|
||||
|
||||
// classes
|
||||
import { Npmci } from '../npmci.classes.npmci.js';
|
||||
import { Dockerfile } from './mod.classes.dockerfile.js';
|
||||
import { DockerRegistry } from './mod.classes.dockerregistry.js';
|
||||
import { RegistryStorage } from './mod.classes.registrystorage.js';
|
||||
import { Szci } from '../szci.classes.szci.ts';
|
||||
import { Dockerfile } from './mod.classes.dockerfile.ts';
|
||||
import { DockerRegistry } from './mod.classes.dockerregistry.ts';
|
||||
import { RegistryStorage } from './mod.classes.registrystorage.ts';
|
||||
|
||||
export class NpmciDockerManager {
|
||||
public npmciRef: Npmci;
|
||||
export class SzciDockerManager {
|
||||
public szciRef: Szci;
|
||||
public npmciRegistryStorage = new RegistryStorage();
|
||||
|
||||
constructor(npmciArg: Npmci) {
|
||||
this.npmciRef = npmciArg;
|
||||
constructor(szciArg: Szci) {
|
||||
this.szciRef = szciArg;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -77,24 +77,24 @@ export class NpmciDockerManager {
|
||||
*/
|
||||
public prepare = async () => {
|
||||
// Always login to GitLab Registry
|
||||
if (process.env.GITLAB_CI) {
|
||||
if (Deno.env.get("GITLAB_CI")) {
|
||||
console.log('gitlab ci detected');
|
||||
if (!process.env.CI_JOB_TOKEN || process.env.CI_JOB_TOKEN === '') {
|
||||
if (!Deno.env.get("CI_JOB_TOKEN") || Deno.env.get("CI_JOB_TOKEN") === '') {
|
||||
logger.log('error', 'Running in Gitlab CI, but no registry token specified by gitlab!');
|
||||
process.exit(1);
|
||||
Deno.exit(1);
|
||||
}
|
||||
this.npmciRegistryStorage.addRegistry(
|
||||
new DockerRegistry({
|
||||
registryUrl: 'registry.gitlab.com',
|
||||
username: 'gitlab-ci-token',
|
||||
password: process.env.CI_JOB_TOKEN,
|
||||
password: Deno.env.get("CI_JOB_TOKEN"),
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
// handle registries
|
||||
await plugins.smartobject.forEachMinimatch(
|
||||
process.env,
|
||||
Deno.env.toObject(),
|
||||
'NPMCI_LOGIN_DOCKER*',
|
||||
async (envString: string) => {
|
||||
this.npmciRegistryStorage.addRegistry(DockerRegistry.fromEnvString(envString));
|
||||
@@ -115,14 +115,14 @@ export class NpmciDockerManager {
|
||||
if (argvArg._.length >= 3 && argvArg._[2] !== 'npmextra') {
|
||||
dockerRegistryUrls.push(argvArg._[2]);
|
||||
} else {
|
||||
if (this.npmciRef.npmciConfig.getConfig().dockerRegistries.length === 0) {
|
||||
if (this.szciRef.npmciConfig.getConfig().dockerRegistries.length === 0) {
|
||||
logger.log(
|
||||
'warn',
|
||||
`There are no docker registries listed in npmextra.json! This is strange!`
|
||||
);
|
||||
}
|
||||
dockerRegistryUrls = dockerRegistryUrls.concat(
|
||||
this.npmciRef.npmciConfig.getConfig().dockerRegistries
|
||||
this.szciRef.npmciConfig.getConfig().dockerRegistries
|
||||
);
|
||||
}
|
||||
|
||||
@@ -145,7 +145,7 @@ export class NpmciDockerManager {
|
||||
'error',
|
||||
`Cannot push to registry ${dockerRegistryUrl}, because it was not found in the authenticated registry list.`
|
||||
);
|
||||
process.exit(1);
|
||||
Deno.exit(1);
|
||||
}
|
||||
for (const dockerfile of dockerfileArray) {
|
||||
await dockerfile.push(dockerRegistryToPushTo, suffix);
|
||||
|
||||
Reference in New Issue
Block a user