openflexure-microscope-server/.gitlab-ci.yml
2019-07-16 16:07:38 +00:00

109 lines
2 KiB
YAML

stages:
- build
- meta
# Cache modules in between jobs
cache:
key: ${CI_COMMIT_REF_SLUG}
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
build-nightly:
stage: build
image: electronuserland/builder:wine
script:
- npm install
- npm run build:web
artifacts:
expire_in: 1 week
name: "build"
paths:
- dist/
only:
- schedules
- web
# Electron app build
package:
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"
paths:
- "*.AppImage"
- "*.deb"
- "*.exe"
- "*.exe.blockmap"
- "latest*.yml"
- "beta*.yml"
only:
- stable
- tags
package-nightly:
stage: build
image: electronuserland/builder:wine
script:
- npm install
- npm run build:app
- npm run release
- mv ./release-builds/*.AppImage .
- mv ./release-builds/*.exe .
artifacts:
expire_in: 1 week
name: "dist"
paths:
- "*.AppImage"
- "*.exe"
only:
- schedules
- web
# Create a nupkg file for Choco package manager
meta:choco:
stage: meta
dependencies:
- package
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