Allows for manual nightly builds.

This commit is contained in:
Henning Dieterichs 2023-06-05 17:40:14 +02:00
Родитель c84c0cb8f9
Коммит 74470a5fb2
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 771381EFFDB9EC06
5 изменённых файлов: 31 добавлений и 5 удалений

Просмотреть файл

@ -23,6 +23,16 @@ resources:
ref: main
endpoint: Monaco
parameters:
- name: vscodeRef
displayName: The VS Code commit id. When left empty, the main branched is used.
type: string
default: ''
- name: prereleaseVersion
displayName: The prerelease version. When left empty, dev-${today} is used.
type: string
default: ''
extends:
template: azure-pipelines/npm-package/pipeline.yml@templates
parameters:
@ -35,6 +45,9 @@ extends:
displayName: Install NPM dependencies
- script: yarn ts-node ./scripts/ci/monaco-editor-core-prepare nightly
env:
VSCODE_REF: ${{ parameters.vscodeRef }}
PRERELEASE_VERSION: ${{ parameters.prereleaseVersion }}
retryCountOnTaskFailure: 5
displayName: Setup, Build & Test monaco-editor-core
@ -51,6 +64,9 @@ extends:
displayName: Install NPM dependencies
- script: yarn ts-node ./scripts/ci/monaco-editor-prepare nightly
env:
VSCODE_REF: ${{ parameters.vscodeRef }}
PRERELEASE_VERSION: ${{ parameters.prereleaseVersion }}
retryCountOnTaskFailure: 5
displayName: Setup, Build & Test monaco-editor

6
scripts/ci/env.ts Normal file
Просмотреть файл

@ -0,0 +1,6 @@
export function getEnv(): {
VSCODE_REF: string | undefined;
PRERELEASE_VERSION: string | undefined;
} {
return process.env as any;
}

Просмотреть файл

@ -1,6 +1,7 @@
import { mkdir, rm } from 'fs/promises';
import { join, resolve } from 'path';
import { PackageJson, group, gitShallowClone, run, writeJsonFile, getNightlyVersion } from '../lib';
import { getEnv } from './env';
const selfPath = __dirname;
const rootPath = join(selfPath, '..', '..');
@ -21,8 +22,8 @@ async function prepareMonacoEditorCoreReleaseStableOrNightly() {
version = monacoEditorPackageJson.version;
ref = monacoEditorPackageJson.vscodeRef;
} else if (arg === 'nightly') {
version = getNightlyVersion(monacoEditorPackageJson.version);
ref = 'main';
version = getNightlyVersion(monacoEditorPackageJson.version, getEnv().PRERELEASE_VERSION);
ref = getEnv().VSCODE_REF || 'main';
} else {
throw new Error('Invalid argument');
}

Просмотреть файл

@ -1,6 +1,7 @@
import { readFile } from 'fs/promises';
import { join, resolve } from 'path';
import { PackageJson, getNightlyVersion, group, run, writeJsonFile, gitCommitId } from '../lib';
import { getEnv } from './env';
const selfPath = __dirname;
const rootPath = join(selfPath, '..', '..');
@ -23,7 +24,7 @@ async function prepareMonacoEditorReleaseStableOrNightly() {
if (arg === 'stable') {
version = monacoEditorPackageJson.version;
} else if (arg === 'nightly') {
version = getNightlyVersion(monacoEditorPackageJson.version);
version = getNightlyVersion(monacoEditorPackageJson.version, getEnv().PRERELEASE_VERSION);
} else {
throw new Error('Invalid argument');
}

Просмотреть файл

@ -73,14 +73,16 @@ export async function writeJsonFile(filePath: string, jsonData: unknown): Promis
await writeFile(filePath, JSON.stringify(jsonData, null, '\t') + '\n');
}
export function getNightlyVersion(version: string): string {
export function getNightlyVersion(version: string, prerelease: string | undefined): string {
const pieces = version.split('.');
const minor = parseInt(pieces[1], 10);
const date = new Date();
const yyyy = date.getUTCFullYear();
const mm = String(date.getUTCMonth() + 1).padStart(2, '0');
const dd = String(date.getUTCDate()).padStart(2, '0');
return `0.${minor + 1}.0-dev.${yyyy}${mm}${dd}`;
prerelease = prerelease || `dev.${yyyy}${mm}${dd}`;
return `0.${minor + 1}.0-${prerelease}`;
}
export interface PackageJson {