Compare commits

..

8 Commits

Author SHA1 Message Date
calebboyd ae51cc6b87 fix: set explicit release 2020-06-21 20:16:45 -05:00
calebboyd cf23147c9c fix: windows build 10.16 2019-06-24 15:57:54 -05:00
calebboyd 9c1d67b2e6 build: add 3rd scheduled build 2019-06-24 14:20:51 -05:00
calebboyd 93e0a021d3 build: increase timeout to 3 hours 2019-06-24 11:37:23 -05:00
calebboyd 021f50d50f build: add schedules to yml 2019-06-24 09:38:05 -05:00
calebboyd bf5ff7d9bd chore: set build limit to two hours 2019-06-21 15:20:21 -05:00
calebboyd 86c3acedb1 chore: pipeline display names 2019-06-17 18:38:54 -05:00
calebboyd ecb3d41a97 build: exit on existing target 2019-06-17 12:57:35 -05:00
6 changed files with 34 additions and 12 deletions
+22 -3
View File
@@ -1,6 +1,25 @@
schedules:
- cron: "0 8 * * *"
displayName: "Daily Build 1"
always: true
branches:
include:
- master
- cron: "0 13 * * *"
displayName: "Daily Build 2"
always: true
branches:
include:
- master
- cron: "0 19 * * *"
displayName: "Daily Build 3"
always: true
branches:
include:
- master
jobs: jobs:
- job: BaseBuild - job: BaseBuild
timeoutInMinutes: 0 timeoutInMinutes: 180
strategy: strategy:
matrix: matrix:
linux: linux:
@@ -27,10 +46,10 @@ jobs:
versionSpec: '10.x' versionSpec: '10.x'
- script: sudo apt-get update && sudo apt-get install -y libc6-dev-i386 gcc-multilib g++-multilib - script: sudo apt-get update && sudo apt-get install -y libc6-dev-i386 gcc-multilib g++-multilib
condition: contains(variables['Agent.JobName'], 'linux') condition: contains(variables['Agent.JobName'], 'linux')
displayName: Install Linux Build Dependencies displayName: Install Linux build dependencies
- script: choco install visualcpp-build-tools --version 14.0.25420.1 -fy && npm config set msvs_version 2015 - script: choco install visualcpp-build-tools --version 14.0.25420.1 -fy && npm config set msvs_version 2015
condition: contains(variables['Agent.JobName'], 'windows_2015') condition: contains(variables['Agent.JobName'], 'windows_2015')
displayName: Install Windows Build Dependencies displayName: Install Windows build dependencies
- script: choco install nasm -fy - script: choco install nasm -fy
displayName: Install Windows Assembler (NASM) displayName: Install Windows Assembler (NASM)
condition: contains(variables['Agent.JobName'], 'windows') condition: contains(variables['Agent.JobName'], 'windows')
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "nexe", "name": "nexe",
"version": "3.3.1", "version": "3.3.3",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
+1 -1
View File
@@ -2,7 +2,7 @@
"name": "nexe", "name": "nexe",
"description": "Create a single executable out of your Node.js application", "description": "Create a single executable out of your Node.js application",
"license": "MIT", "license": "MIT",
"version": "3.3.1", "version": "3.3.3",
"contributors": [ "contributors": [
"Craig Condon <craig.j.condon@gmail.com> (http://crcn.io)", "Craig Condon <craig.j.condon@gmail.com> (http://crcn.io)",
"Jared Allard <jaredallard@outlook.com>", "Jared Allard <jaredallard@outlook.com>",
+2 -2
View File
@@ -112,7 +112,7 @@ export class NexeCompiler {
this.remoteAsset = options.asset this.remoteAsset = options.asset
} else { } else {
this.remoteAsset = this.remoteAsset =
'https://github.com/nexe/nexe/releases/download/v3.0.0/' + this.target.toString() 'https://github.com/nexe/nexe/releases/download/v3.3.3/' + this.target.toString()
} }
this.src = join(this.options.temp, this.target.version) this.src = join(this.options.temp, this.target.version)
this.configureScript = configure + (semverGt(this.target.version, '10.10.0') ? '.py' : '') this.configureScript = configure + (semverGt(this.target.version, '10.10.0') ? '.py' : '')
@@ -237,7 +237,7 @@ export class NexeCompiler {
} }
private _configureAsync() { private _configureAsync() {
if (isWindows && semverGt(this.target.version, '11.999')) { if (isWindows && semverGt(this.target.version, '10.15.99')) {
return Promise.resolve() return Promise.resolve()
} }
return this._runBuildCommandAsync(this.env.PYTHON || 'python', [ return this._runBuildCommandAsync(this.env.PYTHON || 'python', [
+3 -3
View File
@@ -29,15 +29,15 @@ function isBuildableVersion(version: string) {
return !versionsToSkip.includes(major) || version === '4.8.4' return !versionsToSkip.includes(major) || version === '4.8.4'
} }
export function getLatestGitRelease(options?: any) { export function getV3GitRelease(options?: any) {
return getJson<GitRelease>('https://api.github.com/repos/nexe/nexe/releases/latest', options) return getJson<GitRelease>('https://api.github.com/repos/nexe/nexe/releases/7567580/', options)
} }
export async function getUnBuiltReleases(options?: any) { export async function getUnBuiltReleases(options?: any) {
const nodeReleases = await getJson<NodeRelease[]>( const nodeReleases = await getJson<NodeRelease[]>(
'https://nodejs.org/download/release/index.json' 'https://nodejs.org/download/release/index.json'
) )
const existingVersions = (await getLatestGitRelease(options)).assets.map(x => getTarget(x.name)) const existingVersions = (await getV3GitRelease(options)).assets.map(x => getTarget(x.name))
const versionMap: { [key: string]: true } = {} const versionMap: { [key: string]: true } = {}
return nodeReleases return nodeReleases
+5 -2
View File
@@ -1,9 +1,10 @@
import * as nexe from '../lib/nexe' import * as nexe from '../lib/nexe'
import { getUnBuiltReleases, getLatestGitRelease } from '../lib/releases' import { getUnBuiltReleases, getV3GitRelease } from '../lib/releases'
import { runDockerBuild } from './docker' import { runDockerBuild } from './docker'
import { getTarget, targetsEqual, NexeTarget } from '../lib/target' import { getTarget, targetsEqual, NexeTarget } from '../lib/target'
import { pathExistsAsync, readFileAsync, execFileAsync, semverGt } from '../lib/util' import { pathExistsAsync, readFileAsync, execFileAsync, semverGt } from '../lib/util'
import got = require('got') import got = require('got')
import { cpus } from 'os'
const env = process.env, const env = process.env,
isPullRequest = env.BUILD_REASON === 'PullRequest', isPullRequest = env.BUILD_REASON === 'PullRequest',
@@ -60,6 +61,7 @@ async function build() {
build: true, build: true,
verbose: Boolean(env.NEXE_VERBOSE!), verbose: Boolean(env.NEXE_VERBOSE!),
target, target,
make: ['-j' + cpus().length],
output output
} }
console.log('Building: ' + target + ' on ' + buildHost) console.log('Building: ' + target + ' on ' + buildHost)
@@ -76,10 +78,11 @@ async function build() {
stop() stop()
if (await pathExistsAsync(output)) { if (await pathExistsAsync(output)) {
await assertNexeBinary(output) await assertNexeBinary(output)
const gitRelease = await getLatestGitRelease({ headers }), const gitRelease = await getV3GitRelease({ headers }),
unbuiltReleases = await getUnBuiltReleases({ headers }) unbuiltReleases = await getUnBuiltReleases({ headers })
if (!unbuiltReleases.some(x => targetsEqual(x, target!))) { if (!unbuiltReleases.some(x => targetsEqual(x, target!))) {
console.log(`${target} already uploaded.`) console.log(`${target} already uploaded.`)
process.exit(0)
return return
} }
await got(gitRelease.upload_url.split('{')[0], { await got(gitRelease.upload_url.split('{')[0], {