From 37bb0b6ea18c6f926bfb783592c2edcb4189cf63 Mon Sep 17 00:00:00 2001 From: Thomas Nordquist Date: Sun, 13 Jan 2019 03:52:28 +0100 Subject: [PATCH] Prepare travis builds --- .travis.yml | 26 ++++++++++++++++++++++++++ package.json | 3 ++- build.ts => package.ts | 5 +++-- release.sh => prepare-release.sh | 30 +++++++++++++++++++++--------- 4 files changed, 52 insertions(+), 12 deletions(-) create mode 100644 .travis.yml rename build.ts => package.ts (91%) rename release.sh => prepare-release.sh (76%) diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..44843f9 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,26 @@ +language: node_js + +cache: + directories: + - node_modules + - $HOME/.cache/electron + - $HOME/.cache/electron-builder + - $HOME/.npm/_prebuilds + +node_js: + - "10" + +os: + - linux + - osx + +install: + - npm install + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install snapd && sudo snap install snapcraft --classic; fi + +script: + - npm run build + - npm run prepare-release + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then npm run package -- linux; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then npm run package -- mac; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then npm run package -- win; fi diff --git a/package.json b/package.json index 2c9683e..111417d 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "test": "npm run test-backend", "build": "cd app; npm run build; cd ..; cd backend; npm run build; cd ..", "test-backend": "cd backend && npm run test && cd ..", - "release": "npm run test && ./release.sh" + "prepare-release": "./prepare-release.sh", + "package": "ts-node package.ts" }, "repository": { "type": "git", diff --git a/build.ts b/package.ts similarity index 91% rename from build.ts rename to package.ts index 9dee44d..b54fe99 100644 --- a/build.ts +++ b/package.ts @@ -7,7 +7,7 @@ const linux: builder.CliOptions = { arm64: true, linux: ['snap', 'AppImage', 'deb', 'pacman'], projectDir: './build/clean', - publish: 'onTag', + publish: 'always', } const win: builder.CliOptions = { @@ -17,7 +17,7 @@ const win: builder.CliOptions = { arm64: false, win: ['portable'], projectDir: './build/clean', - publish: 'onTag', + publish: 'always', } const mac: builder.CliOptions = { @@ -31,6 +31,7 @@ const mac: builder.CliOptions = { } async function buildAll() { + console.log(process.argv[2]) switch (process.argv[2]) { case 'win': await builder.build(win) diff --git a/release.sh b/prepare-release.sh similarity index 76% rename from release.sh rename to prepare-release.sh index a78fb4b..9f7ebe2 100755 --- a/release.sh +++ b/prepare-release.sh @@ -1,20 +1,32 @@ #!/bin/bash - -DIR=build/clean - -rm -rf "$DIR" -mkdir -p "$DIR" -git clone .git "$DIR" +set -e ORIGINAL_DIR=`pwd` +DIR=build/clean + +rm -rf "$DIR" || echo "Directory did not exist" +mkdir -p "$DIR" + +git clone .git "$DIR" cd $DIR -cd app && npm install; cd .. -cd backend && npm install; cd .. + + +# App +cd app + npm install +cd .. + +# Backend +cd backend + npm install; + #npm run test +cd .. + +# Build npm run build rm -rf app/node_modules cd "$ORIGINAL_DIR" -node_modules/.bin/ts-node build.ts exit 0 docker run --rm -ti \ --env ELECTRON_CACHE="/root/.cache/electron" \