This commit is contained in:
MilosKozak
2017-02-20 08:38:19 +01:00
8 changed files with 102 additions and 18 deletions
+18
View File
@@ -0,0 +1,18 @@
# Don't include the .git history in the Docker image:
.git
# Items from .gitignore
bower_components/
node_modules/
bundle/bundle.out.js
.idea/
*.iml
my.env
*.env
static/bower_components/
.*.sw?
.DS_Store
.vagrant
/iisnode
coverage/
npm-debug.log
+13 -3
View File
@@ -1,5 +1,5 @@
language: node_js
sudo: false
sudo: required
node_js:
- 0.10
- 0.12
@@ -10,11 +10,21 @@ matrix:
allow_failures:
- node_js: 4
- node_js: 5
services: mongodb
services:
- mongodb
- docker
script: make travis
after_success:
- nvm version
- if [[ ! -z "$DOCKER_USER" ]] && [[ "$(nvm version)" = "v0.12."* ]]; then docker login -u ${DOCKER_USER} -p ${DOCKER_PASS} && git checkout -- . && git clean -fd . && make docker_release; fi
after_script: make report
env:
- CXX=g++-4.8
global:
- CXX=g++-4.8
- secure: "QW33rAsCulSORXkSQK9fQotS5GuXwsr3P0KX+R0CE88N0rNE1gZuKZL5cIfYvHTdd4BiReMWja6Cox+QJJC/lu3UKZTPdArT5yUMvJ1AP8nbzzEYR1gKMy7DmcQ7OaZ8lD8LGG27P1+uRTiQ+94FmR31izg8jVXjD6ogEAayDMy5in3HoklnG+07RLdqo/8N5N7LoPcajHG051m/DRxvREdLg2L9K4yMqGKi1fpNFFti8L8jm5jAlylDlL9NGWdUj/4G1NeNIjkFrYZFodvd6R8oBDf8C6V6Tj0yvdyUQBLivTD9B8gKUWpyqE9fuy1Hz7UrZ9I9m7X6G5WPneVBRFRJpoRtg/VjiNrmbDUkBJXeXniGm2pi8dxcxV8lQ0m7D3S2UkJwNutEkGt9tp5y/RSEUo+7x8AnOIBb+H8f0SitUX9j3z1rzHfr4FGzW0EYprM9u8xzruOaZWF2yFe42YrJFgh22WWauhTtm1lgTO25xv/YP+wiVyshgswXgRuKPan5nal7WnIzP++yhAvAwYGs9z7zhQ9h63AaEav+4rjzJPHlD0hh2Y0lkVvcwTafkmPwVEkhV9R+QqhXX2Y2UcTMr77zJGE5S545WOWQpf2GmCewduixzCgjPEXLAhAI67biJRUxYaiLyZrAk8XouA9P8FzIcvqsOpfzWXcNXAc="
- secure: "c9XEIaL9ZvhpPwXN893Ek3dNp5c1fMb1TzAiK37EzLxNbyVtB5vOXw3qQGFtgwJBA/2DodDQL4ZwuR5EEJgSfpPrH3D/A6BFTIXOGzvPwmqSTYY6fV3LOmEf8AIy4Y2N2AitMkjrGHS0GfwTOr23horrVSnjXHwsGilN9wcNIuh2RDCknRTxJWY9eK6hOh4/F+TSW7hESQH1Zzk0pDUt127wifmkhBf93GmJPpX8b8/fmb6osNkfCUdy0Ec7h7SafJWXcSxrp8p+AP2m54f8EtiKY07pN0pt8RKu66fh4BEQPUp4P2/u26oWHC2P1o2meAtoFde2Fzk5BjFCKgy3DZcIFjJ9BFUpMzYFQ5WtNAcHPHvIjTUz63peFsXsAq7dlwBjWbAUJWtyvk8CGvLCI20/Q2qSEB4RciEXYGaGdQmCLuPnmTwN9Pa1CF1bIYWgK7ztYhe02GDUJJa3AikqIdEDnI0eodKmkTa+Do9nrLgZLWhG8HXm06SySICClnhqUmbAAHuliQxSdnDixuwhgcBkkPX/5Ta/pHIz0u5r9mdGKShKg1irC1alV4jtr6dJU7ly/orhW8zvoV1mu6C75lnc3aeqc1CVPMyowLUS+y+XQpOiGds57n0UlRFq38LE5n06ODv1x2eMFf8Wk+pbxgaOI4Co338A4opRjLPbULs="
- secure: "ZfFaKGU6OxyPFWuFT4eqIzpxJDZB9ABEe3L+mlyH6trhzFcA3EMghhAwuJOm4tvaRrn32l378b451qrcJ84TmKHB8KxYo7krAfIb5zf49A08YoCMpqKqITSS13jCiEuM0Yua8epXRbHzEiEuq8xGV1fqXZ3Wvii/IA0qVV2RTaM="
- secure: "AKz1AcG+xxnAPlMf7twqho6TsCwjafSHFObiUVP7J47t74HLklbKzI3hH7mJpkpYLhRDYGbQSzgP1Is00Hy4EwJyChocKMnWIsY2+5mGg1fkV5I2L1sncLtxyLakFw2TBQFvju7f7FaYtpvv9L3mt9i5JZ4E7BmSO+YBDv53uTA="
addons:
apt:
sources:
+24
View File
@@ -0,0 +1,24 @@
FROM node:0.12
MAINTAINER Nightscout Contributors
RUN apt-get update && \
apt-get -y dist-upgrade && \
DEBIAN_FRONTEND=noninteractive apt-get install -y \
git \
nodejs \
nodejs-legacy \
npm && \
apt-get -y clean
RUN mkdir -p /opt/app
ADD . /opt/app
WORKDIR /opt/app
RUN npm install && \
npm run postinstall && \
npm run env
EXPOSE 1337
CMD ["node", "server.js"]
+25 -1
View File
@@ -24,6 +24,8 @@ ISTANBUL=./node_modules/.bin/istanbul
ANALYZED=./coverage/lcov.info
export CODACY_REPO_TOKEN=e29ae5cf671f4f918912d9864316207c
DOCKER_IMAGE=nightscout/cgm-remote-monitor-travis
all: test
coverage:
@@ -45,4 +47,26 @@ travis:
NODE_ENV=test ${MONGO_SETTINGS} \
${ISTANBUL} cover ${MOCHA} --report lcovonly -- -R tap ${TESTS}
.PHONY: all coverage report test travis
docker_release:
# Get the version from the package.json file
$(eval DOCKER_TAG=$(shell cat package.json | jq '.version' | tr -d '"'))
#
# Rebuild the image. We do this with no-cache so that we have all security upgrades,
# since that's more important than fewer layers in the Docker image.
docker build --no-cache=true -f Dockerfile.example -t $(DOCKER_IMAGE):$(DOCKER_TAG) .
# Push an image to Docker Hub with the version from package.json:
docker push $(DOCKER_IMAGE):$(DOCKER_TAG)
#
# Push the master branch to Docker hub as 'latest'
if [ "$(TRAVIS_BRANCH)" = "master" ]; then \
docker tag $(DOCKER_IMAGE):$(DOCKER_TAG) $(DOCKER_IMAGE):latest && \
docker push $(DOCKER_IMAGE):latest; \
fi
#
# Push the dev branch to Docker Hub as 'latest_dev'
if [ "$(TRAVIS_BRANCH)" = "dev" ]; then \
docker tag $(DOCKER_IMAGE):$(DOCKER_TAG) $(DOCKER_IMAGE):latest_dev && \
docker push $(DOCKER_IMAGE):latest_dev; \
fi
.PHONY: all coverage docker_release report test travis
+2 -2
View File
@@ -174,7 +174,7 @@ function init (client, d3) {
return '<strong>'+translate('Time')+':</strong> ' + client.formatTime(new Date(d.mills)) + '<br/>' +
(d.eventType ? '<strong>'+translate('Treatment type')+':</strong> ' + translate(client.careportal.resolveEventName(d.eventType)) + '<br/>' : '') +
(d.reason ? '<strong>'+translate('Reason')+':</strong> ' + translate(d.reason) + '<br/>' : '') +
(d.glucose ? '<strong>'+translate('BG')+':</strong> ' + utils.scaleMgdl(d.glucose) + (d.glucoseType ? ' (' + translate(d.glucoseType) + ')': '') + '<br/>' : '') +
(d.glucose ? '<strong>'+translate('BG')+':</strong> ' + d.glucose + (d.glucoseType ? ' (' + translate(d.glucoseType) + ')': '') + '<br/>' : '') +
(d.enteredBy ? '<strong>'+translate('Entered By')+':</strong> ' + d.enteredBy + '<br/>' : '') +
(d.targetTop ? '<strong>'+translate('Target Top')+':</strong> ' + d.targetTop + '<br/>' : '') +
(d.targetBottom ? '<strong>'+translate('Target Bottom')+':</strong> ' + d.targetBottom + '<br/>' : '') +
@@ -493,7 +493,7 @@ function init (client, d3) {
(treatment.carbs ? '<strong>' + translate('Carbs') + ':</strong> ' + treatment.carbs + '<br/>' : '') +
(treatment.insulin ? '<strong>' + translate('Insulin') + ':</strong> ' + treatment.insulin + '<br/>' : '') +
(treatment.enteredinsulin ? '<strong>' + translate('Combo Bolus') + ':</strong> ' + treatment.enteredinsulin + 'U, ' + treatment.splitNow + '% : ' + treatment.splitExt + '%, ' + translate('Duration') + ': ' + treatment.duration + '<br/>' : '') +
(treatment.glucose ? '<strong>' + translate('BG') + ':</strong> ' + utils.scaleMgdl(treatment.glucose) + (treatment.glucoseType ? ' (' + translate(treatment.glucoseType) + ')' : '') + '<br/>' : '') +
(treatment.glucose ? '<strong>' + translate('BG') + ':</strong> ' + treatment.glucose + (treatment.glucoseType ? ' (' + translate(treatment.glucoseType) + ')' : '') + '<br/>' : '') +
(treatment.enteredBy ? '<strong>' + translate('Entered By') + ':</strong> ' + treatment.enteredBy + '<br/>' : '') +
(treatment.notes ? '<strong>' + translate('Notes') + ':</strong> ' + treatment.notes : '') +
boluscalcTooltip(treatment)
+2 -2
View File
@@ -154,7 +154,7 @@ function init(ctx) {
sbx.notifications.requestNotify({
level: level
, title: 'Loop isn\'t looping'
, message: 'Last Loop: ' + utils.formatAgo(prop.lastLoop.moment, now.valueOf())
, message: 'Last Loop: ' + utils.formatAgo(prop.lastOkMoment, now.valueOf())
, pushoverSound: 'echo'
, group: 'Loop'
, plugin: loop
@@ -231,7 +231,7 @@ function init(ctx) {
if (prop.lastLoop && prop.lastLoop.cob) {
var cob = prop.lastLoop.cob;
var cob = prop.lastLoop.cob.cob;
cob = Math.round(cob);
cob = Math.round(cob);
valueParts = valueParts.concat([
', COB: '
, cob + 'g'
+10 -2
View File
@@ -198,10 +198,18 @@ function init() {
info.value += ' (' + device.min.voltageDisplay + ')';
}
if (device.min && device.min.temperature) {
info.value += ' ' + device.min.temperature;
}
return info;
});
} else if (prop.min && prop.min.battery && prop.min.voltageDisplay) {
infos = [{label: 'Voltage', value: prop.min.voltageDisplay}];
} else {
if (prop.min && prop.min.battery && prop.min.voltageDisplay) {
infos = [{label: 'Voltage', value: prop.min.voltageDisplay}];
}
if (prop.min && prop.min.temperature) {
infos.push({label: 'Temp', value : prop.min.temperature});
}
}
sbx.pluginBase.updatePillText(upbat, {
+8 -8
View File
@@ -228,7 +228,7 @@
<fieldset id="bg">
<legend class="translate">Glucose Reading</legend>
<input type="number" step="any" id="glucoseValue" />
<input type="number" step="any" id="glucoseValue" pattern="\d*" />
<label><br><span class="translate">Measurement Method</span><br></label>
<label for="meter">
<input type="radio" name="glucoseType" id="meter" value="Finger"/>
@@ -241,17 +241,17 @@
</fieldset>
<label id="carbsGivenLabel" for="carbsGiven" class="left-column short-label">
<span class="translate">Carbs Given</span>
<input type="number" step="any" min="0" id="carbsGiven" placeholder="Amount in grams" class="titletranslate"/>
<input type="number" step="any" min="0" id="carbsGiven" placeholder="Amount in grams" class="titletranslate" pattern="\d*" />
</label>
<label id="insulinGivenLabel" for="insulinGiven" class="left-column short-label">
<span class="translate">Insulin Given</span>
<input type="number" step="any" min="0" id="insulinGiven" placeholder="Amount in units" class="titletranslate"/>
<input type="number" step="any" min="0" id="insulinGiven" placeholder="Amount in units" class="titletranslate" pattern="[0-9.]*" />
</label>
<label id="insulinSplitLabel" for="insulinSplit" class="left-column short-label">
<span class="translate">Split</span>
<input type="number" step="5" min="0" max="100" style="width:50px" id="insulinSplitNow" placeholder="% now" class="titletranslate"/>%
<input type="number" step="5" min="0" max="100" style="width:50px" id="insulinSplitNow" placeholder="% now" class="titletranslate" pattern="\d*" />%
:
<input type="number" step="5" min="0" max="100" style="width:50px" id="insulinSplitExt" placeholder="% extended" class="titletranslate"/>%
<input type="number" step="5" min="0" max="100" style="width:50px" id="insulinSplitExt" placeholder="% extended" class="titletranslate" pattern="\d*" />%
</label>
<label id="durationLabel" for="duration" class="left-column short-label">
<span class="translate">Duration</span>
@@ -259,7 +259,7 @@
</label>
<label id="percentLabel" for="percent" class="left-column short-label">
<span class="translate">Percent</span>
<input type="number" step="10" id="percent" placeholder="Basal change in %" class="titletranslate"/>
<input type="number" step="10" id="percent" placeholder="Basal change in %" class="titletranslate" pattern="\d*" />
</label>
<label id="profileLabel" for="profile" class="left-column short-label">
<span class="translate">Profile</span>
@@ -327,7 +327,7 @@
<td>
<span class="translate">BG</span>:
<span style="float:right;">
<input type="text" size="3" id="bc_bg" class="insulincalculationpart">
<input type="number" size="3" id="bc_bg" class="insulincalculationpart" pattern="[0-9.]*" >
</span>
</td>
<td>
@@ -383,7 +383,7 @@
<td>
<span class="translate">Carbs</span>:
<span style="float:right;">
<input type="text" size="3" id="bc_carbs" value="0" class="insulincalculationpart"> g
<input type="number" size="3" id="bc_carbs" value="0" class="insulincalculationpart" pattern="\d*" > g
</span>
</td>
<td id="bc_inzulincarbstd" class="insulincalculation">