Merge pull request #72 from NicolasConstant/topic_packager_ci
First iteration of packaging CI/CD
This commit is contained in:
commit
2d048f4c57
|
@ -1,6 +1,7 @@
|
||||||
# See http://help.github.com/ignore-files/ for more about ignoring files.
|
# See http://help.github.com/ignore-files/ for more about ignoring files.
|
||||||
|
|
||||||
# compiled output
|
# compiled output
|
||||||
|
/release
|
||||||
/dist
|
/dist
|
||||||
/dist-server
|
/dist-server
|
||||||
/tmp
|
/tmp
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
sudo: required
|
||||||
|
dist: trusty
|
||||||
|
|
||||||
|
language: c
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: osx
|
||||||
|
- os: linux
|
||||||
|
env: CC=clang CXX=clang++ npm_config_clang=1
|
||||||
|
compiler: clang
|
||||||
|
|
||||||
|
node_js:
|
||||||
|
- 10.9.0
|
||||||
|
|
||||||
|
cache:
|
||||||
|
directories:
|
||||||
|
- node_modules
|
||||||
|
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
packages:
|
||||||
|
- g++-4.8
|
||||||
|
- icnsutils
|
||||||
|
- graphicsmagick
|
||||||
|
- libgnome-keyring-dev
|
||||||
|
- xz-utils
|
||||||
|
- xorriso
|
||||||
|
- xvfb
|
||||||
|
|
||||||
|
install:
|
||||||
|
- nvm install 10.9.0
|
||||||
|
- npm install electron-builder@next
|
||||||
|
- npm install
|
||||||
|
- npm rebuild node-sass
|
||||||
|
- export DISPLAY=':99.0'
|
||||||
|
- Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- export DISPLAY=:99.0
|
||||||
|
- sh -e /etc/init.d/xvfb start &
|
||||||
|
- sleep 3
|
||||||
|
|
||||||
|
script:
|
||||||
|
- npm run dist
|
|
@ -0,0 +1,22 @@
|
||||||
|
os: unstable
|
||||||
|
cache:
|
||||||
|
- node_modules
|
||||||
|
environment:
|
||||||
|
GH_TOKEN:
|
||||||
|
secure: wRRBU0GXTmTBgZBs2PGSaEJWOflynAyvp3Nc/7e9xmciPfkUCQAXcpOn0jIYmzpb
|
||||||
|
matrix:
|
||||||
|
- nodejs_version: 10.9.0
|
||||||
|
install:
|
||||||
|
- ps: Install-Product node $env:nodejs_version
|
||||||
|
- set CI=true
|
||||||
|
- npm install -g npm@latest
|
||||||
|
- set PATH=%APPDATA%\npm;%PATH%
|
||||||
|
- npm install
|
||||||
|
matrix:
|
||||||
|
fast_finish: true
|
||||||
|
build: off
|
||||||
|
version: '{build}'
|
||||||
|
shallow_clone: true
|
||||||
|
clone_depth: 1
|
||||||
|
test_script:
|
||||||
|
- npm run dist
|
File diff suppressed because it is too large
Load Diff
179
package.json
179
package.json
|
@ -1,65 +1,116 @@
|
||||||
{
|
{
|
||||||
"name": "sengi",
|
"name": "sengi",
|
||||||
"version": "0.0.0",
|
"version": "0.5.2",
|
||||||
"license": "AGPL-3.0-or-later",
|
"license": "AGPL-3.0-or-later",
|
||||||
"main": "main-electron.js",
|
"main": "main-electron.js",
|
||||||
"scripts": {
|
"author": {
|
||||||
"ng": "ng",
|
"name": "Nicolas Constant",
|
||||||
"start": "ng serve",
|
"email": "github@nicolas-constant.com"
|
||||||
"build": "ng build --prod",
|
},
|
||||||
"test": "ng test",
|
"repository": {
|
||||||
"test-nowatch": "ng test --watch=false",
|
"type": "git",
|
||||||
"lint": "ng lint",
|
"url": "https://github.com/NicolasConstant/sengi.git"
|
||||||
"e2e": "ng e2e",
|
},
|
||||||
"electron": "ng build --prod && electron .",
|
"scripts": {
|
||||||
"electron-debug": "ng build && electron ."
|
"ng": "ng",
|
||||||
},
|
"start": "ng serve",
|
||||||
"private": true,
|
"build": "ng build --prod",
|
||||||
"dependencies": {
|
"test": "ng test",
|
||||||
"@angular/animations": "^7.2.7",
|
"test-nowatch": "ng test --watch=false",
|
||||||
"@angular/common": "^7.2.7",
|
"lint": "ng lint",
|
||||||
"@angular/compiler": "^7.2.7",
|
"e2e": "ng e2e",
|
||||||
"@angular/core": "^7.2.7",
|
"electron": "ng build --prod && electron .",
|
||||||
"@angular/forms": "^7.2.7",
|
"electron-debug": "ng build && electron .",
|
||||||
"@angular/http": "^7.2.7",
|
"dist": "npm run build && build --publish onTagOrDraft"
|
||||||
"@angular/platform-browser": "^7.2.7",
|
},
|
||||||
"@angular/platform-browser-dynamic": "^7.2.7",
|
"private": true,
|
||||||
"@angular/router": "^7.2.7",
|
"dependencies": {
|
||||||
"@fortawesome/angular-fontawesome": "^0.3.0",
|
"@angular/animations": "^7.2.7",
|
||||||
"@fortawesome/fontawesome-svg-core": "^1.2.13",
|
"@angular/common": "^7.2.7",
|
||||||
"@fortawesome/free-brands-svg-icons": "^5.7.0",
|
"@angular/compiler": "^7.2.7",
|
||||||
"@fortawesome/free-regular-svg-icons": "^5.7.0",
|
"@angular/core": "^7.2.7",
|
||||||
"@fortawesome/free-solid-svg-icons": "^5.7.0",
|
"@angular/forms": "^7.2.7",
|
||||||
"@ngxs/storage-plugin": "^3.2.0",
|
"@angular/http": "^7.2.7",
|
||||||
"@ngxs/store": "^3.2.0",
|
"@angular/platform-browser": "^7.2.7",
|
||||||
"bootstrap": "^4.1.3",
|
"@angular/platform-browser-dynamic": "^7.2.7",
|
||||||
"core-js": "^2.5.4",
|
"@angular/router": "^7.2.7",
|
||||||
"electron": "^4.0.6",
|
"@fortawesome/angular-fontawesome": "^0.3.0",
|
||||||
"ionicons": "^4.4.3",
|
"@fortawesome/fontawesome-svg-core": "^1.2.13",
|
||||||
"rxjs": "^6.4.0",
|
"@fortawesome/free-brands-svg-icons": "^5.7.0",
|
||||||
"tslib": "^1.9.0",
|
"@fortawesome/free-regular-svg-icons": "^5.7.0",
|
||||||
"zone.js": "^0.8.29"
|
"@fortawesome/free-solid-svg-icons": "^5.7.0",
|
||||||
},
|
"@ngxs/storage-plugin": "^3.2.0",
|
||||||
"devDependencies": {
|
"@ngxs/store": "^3.2.0",
|
||||||
"@angular-devkit/build-angular": "~0.13.0",
|
"bootstrap": "^4.1.3",
|
||||||
"@angular/cli": "~7.3.3",
|
"core-js": "^2.5.4",
|
||||||
"@angular/compiler-cli": "^7.2.7",
|
"ionicons": "^4.4.3",
|
||||||
"@angular/language-service": "^7.2.7",
|
"rxjs": "^6.4.0",
|
||||||
"@types/jasmine": "~2.8.6",
|
"tslib": "^1.9.0",
|
||||||
"@types/jasminewd2": "~2.0.3",
|
"zone.js": "^0.8.29"
|
||||||
"@types/node": "~8.9.4",
|
},
|
||||||
"codelyzer": "~4.2.1",
|
"devDependencies": {
|
||||||
"jasmine-core": "~2.99.1",
|
"@angular-devkit/build-angular": "~0.13.0",
|
||||||
"jasmine-spec-reporter": "~4.2.1",
|
"@angular/cli": "~7.3.3",
|
||||||
"karma": "~1.7.1",
|
"@angular/compiler-cli": "^7.2.7",
|
||||||
"karma-chrome-launcher": "~2.2.0",
|
"@angular/language-service": "^7.2.7",
|
||||||
"karma-coverage-istanbul-reporter": "~2.0.0",
|
"@types/jasmine": "~2.8.6",
|
||||||
"karma-jasmine": "~1.1.0",
|
"@types/jasminewd2": "~2.0.3",
|
||||||
"karma-jasmine-html-reporter": "^0.2.2",
|
"@types/node": "~8.9.4",
|
||||||
"karma-junit-reporter": "^1.2.0",
|
"codelyzer": "~4.2.1",
|
||||||
"protractor": "~5.3.0",
|
"electron": "^4.0.6",
|
||||||
"ts-node": "~5.0.1",
|
"electron-builder": "^20.39.0",
|
||||||
"tslint": "~5.9.1",
|
"jasmine-core": "~2.99.1",
|
||||||
"typescript": "~3.2.4"
|
"jasmine-spec-reporter": "~4.2.1",
|
||||||
}
|
"karma": "~1.7.1",
|
||||||
}
|
"karma-chrome-launcher": "~2.2.0",
|
||||||
|
"karma-coverage-istanbul-reporter": "~2.0.0",
|
||||||
|
"karma-jasmine": "~1.1.0",
|
||||||
|
"karma-jasmine-html-reporter": "^0.2.2",
|
||||||
|
"karma-junit-reporter": "^1.2.0",
|
||||||
|
"protractor": "~5.3.0",
|
||||||
|
"ts-node": "~5.0.1",
|
||||||
|
"tslint": "~5.9.1",
|
||||||
|
"typescript": "~3.2.4"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"jquery": "1.9.1 - 3",
|
||||||
|
"popper.js": "^1.14.7"
|
||||||
|
},
|
||||||
|
"build": {
|
||||||
|
"productName": "Sengi",
|
||||||
|
"appId": "org.sengi.desktop",
|
||||||
|
"artifactName": "${productName}-${version}-${os}.${ext}",
|
||||||
|
"directories": {
|
||||||
|
"output": "release"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"dist/",
|
||||||
|
"node_modules/",
|
||||||
|
"main-electron.js",
|
||||||
|
"package.json"
|
||||||
|
],
|
||||||
|
"dmg": {
|
||||||
|
"contents": [
|
||||||
|
{
|
||||||
|
"x": 130,
|
||||||
|
"y": 220
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"x": 410,
|
||||||
|
"y": 220,
|
||||||
|
"type": "link",
|
||||||
|
"path": "/Applications"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"win": {
|
||||||
|
"target": "nsis"
|
||||||
|
},
|
||||||
|
"linux": {
|
||||||
|
"target": [
|
||||||
|
"AppImage",
|
||||||
|
"deb"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue