diff --git a/.dockerignore b/.dockerignore index d4eb9eeb..45ead65e 100644 --- a/.dockerignore +++ b/.dockerignore @@ -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/ diff --git a/Dockerfile b/Dockerfile index 50760c35..a92cdec4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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 diff --git a/scripts/docker-link-repos.sh b/scripts/docker-link-repos.sh index 9f17188e..66bd9842 100644 --- a/scripts/docker-link-repos.sh +++ b/scripts/docker-link-repos.sh @@ -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" diff --git a/scripts/docker-write-version.sh b/scripts/docker-write-version.sh new file mode 100644 index 00000000..0ca2a477 --- /dev/null +++ b/scripts/docker-write-version.sh @@ -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