prepare CI environment

This commit is contained in:
KtorZ 2017-07-06 11:45:36 +02:00
parent 1a1e3e3810
commit d86c6e0497
No known key found for this signature in database
GPG Key ID: 3F72E8BC2894C015
6 changed files with 169 additions and 24 deletions

2
.gitignore vendored
View File

@ -71,9 +71,9 @@ typings/
# Generated files # Generated files
output output
generated-docs generated-docs
releases
.pulp-cache .pulp-cache
.psc* .psc*
.purs* .purs*
.psa* .psa*
dist dist
src/Main.purs

37
.travis.yml Normal file
View File

@ -0,0 +1,37 @@
language: node_js
node_js:
- node
addons:
browserstack:
username: $BROWSERSTACK_USERNAME
access_key: $BROWSERSTACK_ACCESSKEY
before_install:
- export PATH=./node_modules/.bin:$PATH
install:
- npm install
- bower install
script:
- npm run test:browserstack
after_script:
- npm run prepare:release
deploy:
- provider: releases
api_key: $GITHUB_TOKEN
skip_cleanup: true
file_glob: true
file: releases/github/*
on:
tags: true
branch: master
- provider: script
script: deploy.sh
on:
tags: true
branch: master

View File

@ -1,19 +1,37 @@
{ {
"name": "purescript-indexeddb", "name": "purescript-indexeddb",
"description": "An API wrapper around IndexedDB",
"version": "1.0.0",
"authors": [
"Matthias Benkort <matthias.benkort@truqu.com>"
],
"ignore": [ "ignore": [
"**/.*", "**/.*",
"node_modules", "node_modules",
"bower_components", "bower_components",
"output" "output",
"test",
"dist",
"releases",
"package.json",
"karma.conf.js",
"karma.browserstack.conf.js",
"deploy.sh"
], ],
"license": "MIT",
"homepage": "https://github.com/truqu/purescript-indexeddb",
"repository": {
"type": "git",
"url": "git://github.com/KtorZ/purescript-ifrit.git"
},
"dependencies": { "dependencies": {
"purescript-maybe": "3.0.0", "purescript-maybe": "3.0.0",
"purescript-aff": "3.1.0", "purescript-aff": "3.1.0",
"purescript-spec": "1.0.0",
"purescript-datetime": "3.2.0" "purescript-datetime": "3.2.0"
}, },
"devDependencies": { "devDependencies": {
"purescript-spec": "1.0.0",
"purescript-psci-support": "3.0.0", "purescript-psci-support": "3.0.0",
"purescript-now": "^3.0.0" "purescript-now": "3.0.0"
} }
} }

3
deploy.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/sh
test -n "$TRAVIS_TAG" && ( yes | pulp publish --no-push )

View File

@ -0,0 +1,91 @@
module.exports = (config) => {
config.set({
browsers: [
'FirefoxMAC',
'ChromeMAC',
// 'SafariMAC',
'OperaMAC',
'FirefoxWIN',
'ChromeWIN',
'OperaWIN',
],
files: [
'dist/karma/index.js',
],
frameworks: [
'mocha',
],
plugins: [
'karma-browserstack-launcher',
'karma-mocha',
],
reporters: [
'dots',
'BrowserStack',
],
singleRun: true,
client: {
mocha: {
timeout: 10000,
},
},
browserStack: {
username: process.env.BROWSERSTACK_USERNAME,
accessKey: process.env.BROWSERSTACK_ACCESSKEY,
timeout: 1500,
captureTimeout: 500,
},
customLaunchers: {
FirefoxMAC: {
base: 'BrowserStack',
browser: 'Firefox',
browser_version: '51',
os: 'OS X',
os_version: 'Sierra',
},
ChromeMAC: {
base: 'BrowserStack',
browser: 'Chrome',
browser_version: '58',
os: 'OS X',
os_version: 'Sierra',
},
SafariMAC: {
base: 'BrowserStack',
browser: 'Safari',
browser_version: '10.1',
os: 'OS X',
os_version: 'Sierra',
},
OperaMAC: {
base: 'BrowserStack',
browser: 'Opera',
browser_version: '46',
os: 'OS X',
os_version: 'Sierra',
},
FirefoxWIN: {
base: 'BrowserStack',
browser: 'Firefox',
browser_version: '51',
os: 'WINDOWS',
os_version: '10',
},
ChromeWIN: {
base: 'BrowserStack',
browser: 'Chrome',
browser_version: '58',
os: 'WINDOWS',
os_version: '10',
},
OperaWIN: {
base: 'BrowserStack',
browser: 'Opera',
browser_version: '46',
os: 'WINDOWS',
os_version: '10',
},
},
});
};

View File

@ -1,44 +1,40 @@
{ {
"name": "purescript-indexeddb", "name": "purescript-indexeddb",
"version": "1.0.0", "version": "1.0.0",
"description": "This document is a general grooming of the current state of the IndexedDB API. It covers only the features specified in the official specs.", "description": "A wrapper around the IndexedDB API",
"main": "bundle.js",
"scripts": { "scripts": {
"test:build": "pulp browserify -j 4 --main \"Test.Main\" -I test --to dist/karma/index.js", "prepare:release": "mkdir -p releases/github && cp -r README.md LICENSE src bower.json releases/github",
"test:run": "karma start --single-run", "test:build": "mkdir -p dist/karma && pulp browserify -j 4 --main \"Test.Main\" -I test --to dist/karma/index.js",
"test:watch": "find . -type f -regex '.*\\(src\\|test\\).*' ! -regex '.*bower_components.*\\|.*node_modules.*|.*\\.sw.*' | entr -s 'npm run test'", "test:run": "karma start --single-run karma.conf.js",
"test:run:browserstack": "karma start karma.browserstack.conf.js",
"test:browserstack": "npm run test:build && npm run test:run:browserstack",
"test": "npm run test:build && npm run test:run", "test": "npm run test:build && npm run test:run",
"build": "pulp browserify -j 4 -O --to dist/bundle.js", "start": "find . -type f -regex '.*\\(src\\|test\\).*' ! -regex '.*bower_components.*\\|.*node_modules.*|.*\\.sw.*' | entr -s 'npm run test -s'"
"start": "find . -type f -regex '.*\\(src\\|test\\).*' ! -regex '.*bower_components.*\\|.*node_modules.*|.*\\.sw.*' | entr -s 'clear; pulp browserify -j 4 -t dist/bundle.js'",
"start:test": "karma start"
},
"dependencies": {
"eslint": "^3.19.0",
"eslint-config-airbnb": "^15.0.1",
"eslint-plugin-import": "^2.3.0",
"eslint-plugin-jsx-a11y": "^5.0.3",
"eslint-plugin-react": "^7.1.0",
"karma": "^1.7.0"
}, },
"dependencies": {},
"devDependencies": { "devDependencies": {
"bower": "1.8.0",
"eslint": "3.19.0", "eslint": "3.19.0",
"eslint-config-airbnb": "15.0.1", "eslint-config-airbnb": "15.0.1",
"eslint-plugin-import": "2.5.0", "eslint-plugin-import": "2.5.0",
"eslint-plugin-jsx-a11y": "5.0.3", "eslint-plugin-jsx-a11y": "5.0.3",
"eslint-plugin-react": "7.1.0", "eslint-plugin-react": "7.1.0",
"karma": "1.7.0", "karma": "1.7.0",
"karma-browserstack-launcher": "1.3.0",
"karma-chrome-launcher": "2.1.1", "karma-chrome-launcher": "2.1.1",
"karma-firefox-launcher": "1.0.1", "karma-firefox-launcher": "1.0.1",
"karma-mocha": "^1.3.0", "karma-mocha": "1.3.0",
"karma-spec-reporter": "0.0.31", "karma-spec-reporter": "0.0.31",
"mocha": "^3.4.2" "mocha": "3.4.2",
"pulp": "11.0.0",
"purescript": "0.11.5"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git+https://github.com/Truqu/purescript-indexeddb.git" "url": "git+https://github.com/Truqu/purescript-indexeddb.git"
}, },
"author": "", "author": "Matthias Benkort <matthias.benkort@truqu.com>",
"license": "ISC", "license": "MIT",
"bugs": { "bugs": {
"url": "https://github.com/Truqu/purescript-indexeddb/issues" "url": "https://github.com/Truqu/purescript-indexeddb/issues"
}, },