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