diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 91d7e4bb..3a523e16 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,6 @@ stages: - build - - meta + - deploy # Cache modules in between jobs cache: @@ -8,71 +8,44 @@ cache: paths: - node_modules/ -# Basic webapp build -build: - stage: build - image: electronuserland/builder:wine - script: - - npm install - - npm run build:web - artifacts: - name: "build" - paths: - - dist/ - only: - - stable - - tags - - web - - # Electron app build -package: +build: stage: build image: electronuserland/builder:wine script: - npm install - npm run build:app - npm run release - - shopt -s extglob - - mv ./release-builds/*.AppImage . - - mv ./release-builds/*.deb . - - mv ./release-builds/*.exe . - - mv ./release-builds/*.exe.blockmap . - - mv ./release-builds/?(beta*.yml|latest*.yml) . artifacts: name: "dist" + expire_in: 1 hour paths: - - "*.AppImage" - - "*.deb" - - "*.exe" - - "*.exe.blockmap" - - "latest*.yml" - - "beta*.yml" + - "./release-builds/*.AppImage" + - "./release-builds/*.exe" + - "./release-builds/*.exe.blockmap" + - "./release-builds/latest*.yml" + - "./release-builds/beta*.yml" only: + - web - stable - tags - - web -# Create a nupkg file for Choco package manager -meta:choco: - stage: meta +# Deploy to builds.openflexure.org +deploy: + stage: deploy dependencies: - - package - image: patrickhuber/choco-linux + - build + image: ubuntu:latest + before_script: + - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' + - eval $(ssh-agent -s) + - ssh-add <(echo "$SSH_PRIVATE_KEY_BASE64" | base64 --decode) + - mkdir -p ~/.ssh + - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config script: - - chmod +x ./app/make-nupkg.sh - - ./app/make-nupkg.sh - - cd ./release-builds/choco - - choco pack - - cd ../../ - - mv ./release-builds/choco/openflexure-ev.nuspec . - - mv ./release-builds/choco/*.nupkg . - - mv ./release-builds/choco/tools . - artifacts: - name: "openflexure-ev-choco-nupkg" - paths: - - ./openflexure-ev.nuspec - - tools/chocolateyInstall.ps1 - - ./*.nupkg + - 'which rsync || ( apt-get update -y && apt-get install rsync -y )' + - rsync -hrvz -e ssh release-builds/ ci-user@openflexure.bath.ac.uk:/var/www/build/openflexure-ev/ + - ssh -t ci-user@openflexure.bath.ac.uk "/var/www/build/update-latest.py" only: - - tags + - web + - stable