mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 19:42:56 +01:00
Adds WIP support for a daily job pipeline
This commit is contained in:
parent
8440cba727
commit
e7291e938a
3 changed files with 97 additions and 16 deletions
25
azure-pipelines.yml
Normal file
25
azure-pipelines.yml
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
# triggered by schedule at 5am to try make sure it's done after the TS daily build
|
||||||
|
schedules:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
displayName: Daily midnight build
|
||||||
|
branches:
|
||||||
|
include:
|
||||||
|
- master
|
||||||
|
always: true
|
||||||
|
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-latest'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- task: DownloadSecureFile@1
|
||||||
|
inputs:
|
||||||
|
secureFile: vscode_typescript_next_deploy_key
|
||||||
|
displayName: 'Get the deploy key'
|
||||||
|
|
||||||
|
- bash: |
|
||||||
|
npm run run-nightly
|
||||||
|
npm publish
|
||||||
|
|
||||||
|
displayName: 'Publish to NPM'
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
"watch": "tsc -p ./src --watch",
|
"watch": "tsc -p ./src --watch",
|
||||||
"prepublishOnly": "npm run compile && node ./scripts/bundle && mcopy ./src/monaco.d.ts ./release/monaco.d.ts",
|
"prepublishOnly": "npm run compile && node ./scripts/bundle && mcopy ./src/monaco.d.ts ./release/monaco.d.ts",
|
||||||
"import-typescript": "node ./scripts/importTypescript",
|
"import-typescript": "node ./scripts/importTypescript",
|
||||||
"run-nightly": "node ./scripts/runDaily",
|
"run-nightly": "node ./scripts/runDaily"
|
||||||
},
|
},
|
||||||
"author": "Microsoft Corporation",
|
"author": "Microsoft Corporation",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
"monaco-editor-core": "^0.16.0",
|
"monaco-editor-core": "^0.16.0",
|
||||||
"monaco-languages": "^1.7.0",
|
"monaco-languages": "^1.7.0",
|
||||||
"monaco-plugin-helpers": "^1.0.2",
|
"monaco-plugin-helpers": "^1.0.2",
|
||||||
|
"node-fetch": "^2.6.0",
|
||||||
"requirejs": "^2.3.6",
|
"requirejs": "^2.3.6",
|
||||||
"typescript": "^3.5.1",
|
"typescript": "^3.5.1",
|
||||||
"uglify-js": "^3.4.9"
|
"uglify-js": "^3.4.9"
|
||||||
|
|
|
||||||
|
|
@ -4,24 +4,79 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
const {execSync} = require('child_process');
|
const { execSync } = require("child_process");
|
||||||
const {join} = require('path')
|
const { join } = require("path");
|
||||||
const {readFileSync, writeFileSync} = require("fs")
|
const { readFileSync, writeFileSync } = require("fs");
|
||||||
|
const fetch = require("node-fetch");
|
||||||
|
|
||||||
// Update to the daily build
|
try {
|
||||||
execSync("npm install --save typescript@next")
|
// Update to the daily build
|
||||||
|
execSync("npm install --save typescript@next")
|
||||||
|
|
||||||
// Update the dts files
|
// Update the dts files
|
||||||
execSync("npm run import-typescript")
|
execSync("npm run import-typescript")
|
||||||
|
|
||||||
// Sync the versions
|
// Sync the versions
|
||||||
const packagePath = join(__dirname, "../package.json")
|
const packagePath = join(__dirname, "../package.json")
|
||||||
const package = JSON.parse(readFileSync(packagePath, "utf8"))
|
const package = JSON.parse(readFileSync(packagePath, "utf8"))
|
||||||
|
|
||||||
const tsPackagePath = join(__dirname, "../node_modules/typescript/package.json")
|
const tsPackagePath = join(__dirname, "../node_modules/typescript/package.json")
|
||||||
const tsPackage = JSON.parse(readFileSync(tsPackagePath, "utf8"))
|
const tsPackage = JSON.parse(readFileSync(tsPackagePath, "utf8"))
|
||||||
|
|
||||||
// Set the monaco-typescript version to directly match the typescript nightly version
|
// Set the monaco-typescript version to directly match the typescript nightly version
|
||||||
package.version = tsPackage.version
|
package.version = tsPackage.version
|
||||||
writeFileSync(packagePath, JSON.stringify(package), "utf8")
|
writeFileSync(packagePath, JSON.stringify(package), "utf8")
|
||||||
|
|
||||||
|
// Update the dts files
|
||||||
|
execSync("npm run compile")
|
||||||
|
|
||||||
|
} catch (error) {
|
||||||
|
// If it fails, post a message into the TS teams bot channel
|
||||||
|
const teamsURL = process.env.TEAMS_INCOMING_WEBHOOK_URL
|
||||||
|
if(!teamsURL) return
|
||||||
|
|
||||||
|
const message = {
|
||||||
|
"@type": "MessageCard",
|
||||||
|
"@context": "https://schema.org/extensions",
|
||||||
|
summary: "Issue with Monaco-TypeScript daily build",
|
||||||
|
themeColor: "0078D7",
|
||||||
|
title: 'Issue opened: "Push notifications not working"',
|
||||||
|
sections: [
|
||||||
|
{
|
||||||
|
activityTitle: "Azure Pipelines",
|
||||||
|
activitySubtitle: "9/13/2016, 11:46am",
|
||||||
|
activityImage:
|
||||||
|
"https://avatars2.githubusercontent.com/ml/1303?s=140&v=4",
|
||||||
|
facts: [
|
||||||
|
{
|
||||||
|
name: "Error:",
|
||||||
|
value: error.name
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Description:",
|
||||||
|
value: error.message || error.description
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
potentialAction: [
|
||||||
|
{
|
||||||
|
"@type": "OpenUri",
|
||||||
|
name: "View in Pipelines",
|
||||||
|
targets: [
|
||||||
|
{
|
||||||
|
os: "default",
|
||||||
|
uri: "https://link.com"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
|
||||||
|
fetch(teamsURL, {
|
||||||
|
method: "post",
|
||||||
|
body: JSON.stringify(message),
|
||||||
|
headers: { "Content-Type": "application/json" }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue