Skip to content

Commit

Permalink
Fix Docker build for develop and publish a /version file
Browse files Browse the repository at this point in the history
Fixes #10426
  • Loading branch information
turt2live committed Dec 2, 2019
1 parent b4829fd commit 726bf35
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 1 deletion.
1 change: 0 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# Exclude a bunch of stuff which can make the build context a larger than it needs to be
.git/
test/
webapp/
lib/
Expand Down
3 changes: 3 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ RUN yarn build
# Copy the config now so that we don't create another layer in the app image
RUN cp /src/config.sample.json /src/webapp/config.json

# Ensure we populate the version file
RUN dos2unix /src/scripts/docker-write-version.sh && sh /src/scripts/docker-write-version.sh


# App
FROM nginx:alpine
Expand Down
11 changes: 11 additions & 0 deletions scripts/docker-link-repos.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,17 @@

set -ex

# Automatically link to develop if we're building develop, but only if the caller
# hasn't asked us to build something else
BRANCH=$(git rev-parse --abbrev-ref HEAD)
if [ $USE_CUSTOM_SDKS == false ] && [ $BRANCH == 'develop' ]
then
echo "using develop dependencies for react-sdk and js-sdk"
USE_CUSTOM_SDKS=true
JS_SDK_BRANCH='develop'
REACT_SDK_BRANCH='develop'
fi

if [ $USE_CUSTOM_SDKS == false ]
then
echo "skipping react-sdk and js-sdk installs: USE_CUSTOM_SDKS is false"
Expand Down
20 changes: 20 additions & 0 deletions scripts/docker-write-version.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/bin/sh

set -ex

TAG=$(git describe --dirty --tags)
BRANCH=$(git rev-parse --abbrev-ref HEAD)
DIST_VERSION=$TAG

# If the branch comes out as HEAD then we're probably checked out to a tag, so if the thing is *not*
# coming out as HEAD then we're on a branch. When we're on a branch, we want to resolve ourselves to
# a few SHAs rather than a version.
if [ $BRANCH != 'HEAD' ]
then
REACT_SHA=$(cd node_modules/matrix-react-sdk; git rev-parse --short=12 HEAD)
JSSDK_SHA=$(cd node_modules/matrix-js-sdk; git rev-parse --short=12 HEAD)
VECTOR_SHA=$(git rev-parse --short=12 HEAD) # use the ACTUAL SHA rather than assume develop
DIST_VERSION=$VECTOR_SHA-react-$REACT_SHA-js-$JSSDK_SHA
fi

echo $DIST_VERSION > /src/webapp/version

0 comments on commit 726bf35

Please sign in to comment.