From a84efdb8be869c548eef3e78123c54a928f37463 Mon Sep 17 00:00:00 2001 From: Clement Michaud Date: Fri, 16 Jun 2017 21:11:54 +0200 Subject: [PATCH 1/2] Test npm deployment in CI --- .gitignore | 2 ++ .travis.yml | 3 +- .../{check_services.sh => check-services.sh} | 0 scripts/npm-deployment-test.sh | 35 +++++++++++++++++++ 4 files changed, 39 insertions(+), 1 deletion(-) rename scripts/{check_services.sh => check-services.sh} (100%) create mode 100755 scripts/npm-deployment-test.sh 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/.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/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..868fb2b45 --- /dev/null +++ b/scripts/npm-deployment-test.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +NPM_UNPACK_DIR=/tmp/npm-unpack/test + +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=$? +# echo ${RET_CODE} + +popd + +if [ "$RET_CODE" != "0" ] +then + echo "Unpacking failed..." + exit 1 +else + echo "Unpacking succeeded" + exit 0 +fi + + + From 1a6f3137eb75c8019049b7124d979bc8ac15c193 Mon Sep 17 00:00:00 2001 From: Clement Michaud Date: Fri, 16 Jun 2017 22:21:12 +0200 Subject: [PATCH 2/2] npm install breaks because it does not find entrypoint file --- .npmignore | 0 package.json | 4 ++-- scripts/npm-deployment-test.sh | 22 +++++++++++++--------- 3 files changed, 15 insertions(+), 11 deletions(-) create mode 100644 .npmignore diff --git a/.npmignore b/.npmignore new file mode 100644 index 000000000..e69de29bb 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/npm-deployment-test.sh b/scripts/npm-deployment-test.sh index 868fb2b45..92dad4a86 100755 --- a/scripts/npm-deployment-test.sh +++ b/scripts/npm-deployment-test.sh @@ -1,33 +1,37 @@ #!/bin/bash -NPM_UNPACK_DIR=/tmp/npm-unpack/test +NPM_UNPACK_DIR=/tmp/npm-unpack -echo "Packing npm package into a tarball" +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 "--- Authelia package is ${AUTHELIA_PACKAGE}" -echo "Copy package into "${NPM_UNPACK_DIR}" to test unpacking" +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..." +echo "--- Test unpacking..." npm install ${AUTHELIA_PACKAGE} -RET_CODE=$? +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" != "0" ] +if [ "$RET_CODE_INSTALL" != "0" ] || [ "$RET_CODE_RUN" != "0" ] then - echo "Unpacking failed..." + echo "--- Unpacking failed..." exit 1 else - echo "Unpacking succeeded" + echo "+++ Unpacking succeeded" exit 0 fi