Merge pull request #2051 from balena-io/fix-push-emulated-flag

push: Fix accidental rename of `-e` (emulated) option
This commit is contained in:
bulldozer-balena[bot] 2020-10-02 09:33:46 +00:00 committed by GitHub
commit fc8be3d8dc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 13 additions and 180 deletions

View File

@ -2251,9 +2251,10 @@ application name, or device address (for local pushes)
Source directory to be sent to balenaCloud or balenaOS device
(default: current working dir)
#### -f, --emulated
#### -e, --emulated
Force an emulated build to occur on the remote builder
Don't use native ARM servers; force QEMU ARM emulation on Intel x86-64
servers during the image build (balenaCloud).
#### --dockerfile DOCKERFILE
@ -2527,7 +2528,7 @@ name of the target balena application this build is for
#### -e, --emulated
Run an emulated build using Qemu
Use QEMU for ARM architecture emulation during the image build
#### --dockerfile DOCKERFILE
@ -2750,7 +2751,7 @@ don't upload build logs to the dashboard with image (if building)
#### -e, --emulated
Run an emulated build using Qemu
Use QEMU for ARM architecture emulation during the image build
#### --dockerfile DOCKERFILE

View File

@ -121,8 +121,10 @@ export default class PushCmd extends Command {
char: 's',
}),
emulated: flags.boolean({
description: 'Force an emulated build to occur on the remote builder',
char: 'f',
description: stripIndent`
Don't use native ARM servers; force QEMU ARM emulation on Intel x86-64
servers during the image build (balenaCloud).`,
char: 'e',
}),
dockerfile: flags.string({
description:

View File

@ -28,9 +28,7 @@ export const trackPromise = new Promise((resolve) => {
* parsed by oclif, but before the command's run() function is called.
* See: https://oclif.io/docs/hooks
*
* This hook is used to track CLI command signatures with mixpanel. This
* is the oclif version of what is already done for Capitano commands.
*
* This hook is used to track CLI command signatures with mixpanel.
* A command signature is something like "env add NAME [VALUE]". That's
* literally so: 'NAME' and 'VALUE' are NOT replaced with actual values.
*/

View File

@ -17,90 +17,7 @@
import * as path from 'path';
import { ExpectedError } from '../errors';
import { getChalk, stripIndent } from './lazy';
export function appendOptions(opts) {
return opts.concat([
{
signature: 'emulated',
description: 'Run an emulated build using Qemu',
boolean: true,
alias: 'e',
},
{
signature: 'dockerfile',
parameter: 'Dockerfile',
description:
'Alternative Dockerfile name/path, relative to the source folder',
},
{
signature: 'logs',
description:
'No-op and deprecated since balenaCLI v12.0.0. Build logs are now shown by default.',
boolean: true,
},
{
signature: 'nologs',
description:
'Hide the image build log output (produce less verbose output)',
boolean: true,
},
{
signature: 'gitignore',
alias: 'g',
description: stripIndent`
Consider .gitignore files in addition to the .dockerignore file. This reverts
to the CLI v11 behavior/implementation (deprecated) if compatibility is required
until your project can be adapted.`,
boolean: true,
},
{
signature: 'multi-dockerignore',
alias: 'm',
description:
'Have each service use its own .dockerignore file. See "balena help build".',
boolean: true,
},
{
signature: 'nogitignore',
description: `No-op (default behavior) since v12.0.0. See "balena help build".`,
boolean: true,
alias: 'G',
},
{
signature: 'noparent-check',
description:
"Disable project validation check of 'docker-compose.yml' file in parent folder",
boolean: true,
},
{
signature: 'registry-secrets',
alias: 'R',
parameter: 'secrets.yml|.json',
description:
'Path to a YAML or JSON file with passwords for a private Docker registry',
},
{
signature: 'convert-eol',
description: 'No-op and deprecated since v12.0.0',
boolean: true,
alias: 'l',
},
{
signature: 'noconvert-eol',
description:
"Don't convert line endings from CRLF (Windows format) to LF (Unix format).",
boolean: true,
},
{
signature: 'projectName',
parameter: 'projectName',
description:
'Specify an alternate project name; default is the directory name',
alias: 'n',
},
]);
}
import { getChalk } from './lazy';
/**
* @returns Promise<{import('./compose-types').ComposeOpts}>

View File

@ -909,7 +909,8 @@ export function createRunLoop(tick: (...args: any[]) => void) {
export const composeCliFlags: flags.Input<ComposeCliFlags> = {
emulated: flags.boolean({
description: 'Run an emulated build using Qemu',
description:
'Use QEMU for ARM architecture emulation during the image build',
char: 'e',
}),
dockerfile: flags.string({

View File

@ -20,92 +20,6 @@
import * as _ from 'lodash';
import { ExpectedError } from '../errors';
// Use this function to seed an action's list of capitano options
// with the docker options. Using this interface means that
// all functions using docker will expose the same interface
//
// NOTE: Care MUST be taken when using the function, so as to
// not redefine/override options already provided.
export const appendConnectionOptions = (opts) =>
opts.concat([
{
signature: 'docker',
parameter: 'docker',
description: 'Path to a local docker socket (e.g. /var/run/docker.sock)',
alias: 'P',
},
{
signature: 'dockerHost',
parameter: 'dockerHost',
description:
'Docker daemon hostname or IP address (dev machine or balena device) ',
alias: 'h',
},
{
signature: 'dockerPort',
parameter: 'dockerPort',
description:
'Docker daemon TCP port number (hint: 2375 for balena devices)',
alias: 'p',
},
{
signature: 'ca',
parameter: 'ca',
description: 'Docker host TLS certificate authority file',
},
{
signature: 'cert',
parameter: 'cert',
description: 'Docker host TLS certificate file',
},
{
signature: 'key',
parameter: 'key',
description: 'Docker host TLS key file',
},
]);
// Use this function to seed an action's list of capitano options
// with the docker options. Using this interface means that
// all functions using docker will expose the same interface
//
// NOTE: Care MUST be taken when using the function, so as to
// not redefine/override options already provided.
export function appendOptions(opts) {
return appendConnectionOptions(opts).concat([
{
signature: 'tag',
parameter: 'tag',
description: 'The alias to the generated image',
alias: 't',
},
{
signature: 'buildArg',
parameter: 'arg',
description:
'Set a build-time variable (eg. "-B \'ARG=value\'"). Can be specified multiple times.',
alias: 'B',
},
{
signature: 'cache-from',
parameter: 'image-list',
description: `\
Comma-separated list (no spaces) of image names for build cache resolution. \
Implements the same feature as the "docker build --cache-from" option.`,
},
{
signature: 'nocache',
description: "Don't use docker layer caching when building",
boolean: true,
},
{
signature: 'squash',
description: 'Squash newly built layers into a single new layer',
boolean: true,
},
]);
}
const generateConnectOpts = async function (opts) {
const { promises: fs } = await import('fs');