Merge pull request #72 from NicolasConstant/topic_packager_ci

First iteration of packaging CI/CD
This commit is contained in:
Nicolas Constant 2019-04-06 18:44:28 -04:00 committed by GitHub
commit 2d048f4c57
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 1299 additions and 64 deletions

1
.gitignore vendored
View File

@ -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

47
.travis.yml Normal file
View File

@ -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

22
appveyor.yml Normal file
View File

@ -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

1114
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -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"
]
}
}
} }