From ddbf3418de450cf770ae8e99575855b5bb71cb66 Mon Sep 17 00:00:00 2001 From: Cameron Diver Date: Fri, 27 Apr 2018 16:51:24 +0100 Subject: [PATCH 1/2] Remove trailing slashes from working directories of services This is to combat when a working directory is in the compose file for a service with a trailing slash. Docker will strip this slash and that means service comparisons will fail going forward - even if they are the same. Change-type: patch Closes: #635 Signed-off-by: Cameron Diver --- src/compose/service.coffee | 2 +- test/compose/service.spec.coffee | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/compose/service.coffee b/src/compose/service.coffee index 22783e0e..39f9d78d 100644 --- a/src/compose/service.coffee +++ b/src/compose/service.coffee @@ -62,7 +62,7 @@ getUser = (service, imageInfo) -> return service.user ? imageInfo?.Config?.User ? '' getWorkingDir = (service, imageInfo) -> - return service.workingDir ? imageInfo?.Config?.WorkingDir ? '' + return (service.workingDir ? imageInfo?.Config?.WorkingDir ? '').replace(/(^.+)\/$/, '$1') buildHealthcheckTest = (test) -> if _.isString(test) diff --git a/test/compose/service.spec.coffee b/test/compose/service.spec.coffee index 22d6362c..8af9450c 100644 --- a/test/compose/service.spec.coffee +++ b/test/compose/service.spec.coffee @@ -147,3 +147,17 @@ describe 'compose/service.cofee', -> expect(makeComposeServiceWithLimit('64gb').memLimit).to.equal(68719476736) expect(makeComposeServiceWithLimit('64Gb').memLimit).to.equal(68719476736) + describe 'getWorkingDir', -> + makeComposeServiceWithWorkdir = (workdir) -> + new Service( + appId: 123456, + serviceId: 123456, + serviceName: 'foobar' + workingDir: workdir + ) + + it 'should remove a trailing slash', -> + expect(makeComposeServiceWithWorkdir('/usr/src/app/').workingDir).to.equal('/usr/src/app') + expect(makeComposeServiceWithWorkdir('/').workingDir).to.equal('/') + expect(makeComposeServiceWithWorkdir('/usr/src/app').workingDir).to.equal('/usr/src/app') + expect(makeComposeServiceWithWorkdir('').workingDir).to.equal('') From a70cf858b2cfdfd3b5bca996b49ae84d747d38eb Mon Sep 17 00:00:00 2001 From: "resin-io-versionbot[bot]" Date: Sun, 29 Apr 2018 10:01:27 +0000 Subject: [PATCH 2/2] v7.5.1 --- CHANGELOG.md | 4 ++++ package.json | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bcd02cae..262f68f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## v7.5.1 - 2018-04-29 + +* Remove trailing slashes from working directories of services #637 [Cameron Diver] + ## v7.5.0 - 2018-04-27 * Add tests for validation code #636 [Cameron Diver] diff --git a/package.json b/package.json index 5eb17909..083fbea8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "resin-supervisor", "description": "This is resin.io's Supervisor, a program that runs on IoT devices and has the task of running user Apps (which are Docker containers), and updating them as Resin's API informs it to.", - "version": "7.5.0", + "version": "7.5.1", "license": "Apache-2.0", "repository": { "type": "git",