diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4b49d9e9..c79fd37d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,7 @@ stages: - build - - deploy + - package + - meta # Cache modules in between jobs cache: @@ -8,41 +9,94 @@ cache: paths: - node_modules/ +# Build basic webapp build: stage: build image: electronuserland/builder:wine - retry: 2 script: - npm install - - npm run release - - tar -czvf "./release-builds/openflexure-ev-web.tar.gz" -C "./dist" . - - chmod +x ./app/make-nupkg.sh - - ./app/make-nupkg.sh + - npm run build artifacts: + name: "openflexure-ev-web" paths: - - release-builds/*.exe - - release-builds/*.deb - - release-builds/*.AppImage - - release-builds/*.tar.gz - - release-builds/choco/openflexure-ev.nuspec - - release-builds/choco/tools/chocolateyInstall.ps1 + - dist/ only: - tags - web -deploy: - stage: deploy - image: patrickhuber/choco-linux + # Platform-specific Electron builds +package:rpi: + stage: package dependencies: - build + image: electronuserland/builder:wine + retry: 2 script: - - cd ./release-builds/choco - - ls -R - - choco pack - - choco apikey --key $CHOCO_API_KEY --source https://push.chocolatey.org/ - - choco push --source https://push.chocolatey.org/ + - npm run dist:raspi + - mv ./release-builds/openflexure-ev-linux-armv7l.deb . artifacts: + name: "openflexure-ev-linux-armv7l" paths: - - release-builds/choco/*.nupkg + - openflexure-ev-linux-armv7l.deb only: - tags + - web + +package:deb: + stage: package + dependencies: + - build + image: electronuserland/builder:wine + retry: 2 + script: + - npm run dist:linux + - mv ./release-builds/openflexure-ev-linux-amd64.deb . + artifacts: + name: "openflexure-ev-linux-amd64" + paths: + - openflexure-ev-linux-amd64.deb + only: + - tags + - web + +package:win32: + stage: package + dependencies: + - build + image: electronuserland/builder:wine + retry: 2 + script: + - npm run dist:win + - mv ./release-builds/openflexure-ev-win.exe . + artifacts: + name: "openflexure-ev-win" + paths: + - openflexure-ev-win.exe + only: + - tags + - web + +# Create a nupkg file for Choco package manager +meta:choco: + stage: meta + dependencies: + - package:win32 + image: patrickhuber/choco-linux + 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 + only: + - tags + - web diff --git a/app/builder-config-linux.yaml b/app/builder-config-linux.yaml index c8330a26..37f52c87 100644 --- a/app/builder-config-linux.yaml +++ b/app/builder-config-linux.yaml @@ -1,7 +1,6 @@ extends: app/builder-config-base.yaml linux: target: - - AppImage - target: deb arch: - x64 diff --git a/package.json b/package.json index a120af9b..4f335103 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "openflexure-ev", - "version": "0.2.4", + "version": "0.2.5", "private": true, "description": "An electron-based user client for the OpenFlexure Microscope Server", "author": "OpenFlexure (https://www.openflexure.org)", @@ -36,7 +36,7 @@ "electron-builder": "^20.39.0", "less": "^3.9.0", "less-loader": "^4.1.0", - "uikit": "^3.1.1", + "uikit": "3.1.1", "vue": "^2.5.21", "vue-template-compiler": "^2.6.10", "vuex": "^3.0.1" @@ -54,4 +54,4 @@ "last 2 versions", "not ie <= 8" ] -} +} \ No newline at end of file