diff --git a/.gitignore b/.gitignore index a8d1d2b98..e9fe0ab29 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,5 @@ notifications/ dist/ .nyc_output/ + +*.tgz diff --git a/.npmignore b/.npmignore new file mode 100644 index 000000000..e69de29bb diff --git a/.travis.yml b/.travis.yml index c60b10a50..a0ec104ff 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,8 +24,9 @@ script: - docker-compose build - docker-compose up -d - sleep 5 -- ./scripts/check_services.sh +- ./scripts/check-services.sh - npm run int-test +- ./scripts/npm-deployment-test.sh after_success: - ./scripts/docker-publish.sh diff --git a/package.json b/package.json index 5280264dd..ef439049d 100644 --- a/package.json +++ b/package.json @@ -2,9 +2,9 @@ "name": "authelia", "version": "3.0.0", "description": "2FA Single Sign-On server for nginx using LDAP, TOTP and U2F", - "main": "src/index.js", + "main": "dist/src/server/index.js", "bin": { - "authelia": "src/index.js" + "authelia": "dist/src/server/index.js" }, "scripts": { "test": "./node_modules/.bin/mocha --compilers ts:ts-node/register --recursive test/client test/server", diff --git a/scripts/check_services.sh b/scripts/check-services.sh similarity index 100% rename from scripts/check_services.sh rename to scripts/check-services.sh diff --git a/scripts/npm-deployment-test.sh b/scripts/npm-deployment-test.sh new file mode 100755 index 000000000..92dad4a86 --- /dev/null +++ b/scripts/npm-deployment-test.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +NPM_UNPACK_DIR=/tmp/npm-unpack + +echo "--- Packing npm package into a tarball" +npm pack + +AUTHELIA_PACKAGE=`ls | grep "authelia-\([0-9]\+.\)\{2\}[0-9]\+.tgz"` +echo "--- Authelia package is ${AUTHELIA_PACKAGE}" + +echo "--- Copy package into "${NPM_UNPACK_DIR}" to test unpacking" +mkdir -p ${NPM_UNPACK_DIR} +cp ${AUTHELIA_PACKAGE} ${NPM_UNPACK_DIR} + +pushd ${NPM_UNPACK_DIR} + +echo "--- Test unpacking..." +npm install ${AUTHELIA_PACKAGE} + +RET_CODE_INSTALL=$? +# echo ${RET_CODE} + +# The binary must start and display the help menu +./node_modules/.bin/authelia | grep "No config file has been provided." +RET_CODE_RUN=$? + +popd + +if [ "$RET_CODE_INSTALL" != "0" ] || [ "$RET_CODE_RUN" != "0" ] +then + echo "--- Unpacking failed..." + exit 1 +else + echo "+++ Unpacking succeeded" + exit 0 +fi + + +