stages: - build - package - meta # Cache modules in between jobs cache: key: ${CI_COMMIT_REF_SLUG} paths: - node_modules/ # Build basic webapp build: stage: build image: electronuserland/builder:wine script: - npm install - npm run build artifacts: name: "openflexure-ev-web" paths: - dist/ only: - stable - tags - web # Platform-specific Electron builds package:rpi: stage: package dependencies: - build image: electronuserland/builder:wine retry: 2 script: - npm run dist:raspi - mv ./release-builds/openflexure-ev-linux-armv7l.deb . artifacts: name: "openflexure-ev-linux-armv7l" paths: - openflexure-ev-linux-armv7l.deb only: - stable - 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: - stable - 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: - stable - 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: - stable - tags - web