Newer
Older
image: parity/rust:gitlab-ci
cache:
key: "${CI_JOB_NAME}"
paths:
- ${CI_PROJECT_DIR}/target/
- ${CI_PROJECT_DIR}/cargo/
- node_modules/
- .cache
- $HOME/.cache
.releaseable_branches: # list of git refs for building GitLab artifacts (think "pre-release binaries")
only: &releaseable_branches
- master
- ci-package
- next
- tags
- schedules
.publishable_branches: # list of git refs for publishing builds to the "production" locations
only: &publishable_branches
- schedules # Our nightly builds from schedule, on `master`
- "v*" # Our version tags
- ci-package
- next
before_script:
- npm install --global yarn --cache-min 999999999
- npm install
#Stage - build
#build:
# stage: build
# only: *releaseable_branches
# script:
# - scripts/lint.sh
# - scripts/build.sh
# - scripts/push-precompiled.sh
# tags:
# - rust-stable
# Stage package binaries
package:binaries:linux:
stage: package
only: *releaseable_branches
script:
- npm run package
artifacts:
name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}"
when: on_success
expire_in: 1 week
paths:
- dist/*.deb
- dist/*.snap
- dist/*.AppImage
- dist/*.xz
tags:
package:binaries:mac:
stage: package
only: *releaseable_branches
script:
- export ELECTRON_BUILDER_ALLOW_UNRESOLVED_DEPENDENCIES=true
- npm run package -- --mac
artifacts:
name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}"
when: on_success
expire_in: 1 week
paths:
- dist/*.pkg
tags:
- osx
package:binaries:windows:
stage: package
only: *releaseable_branches
image: electronuserland/builder:wine
script:
- npm run package -- --win
artifacts:
name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}"
when: on_success
expire_in: 1 week
paths:
- dist/*.exe
tags:
# Stage sign
sign:mac:
stage: sign
only: *releaseable_branches
before_script:
- export VER="$(node -p "require('./package.json').version")"
- export CSC_IDENTITY_AUTO_DISCOVERY=false
dependencies:
- package:binaries:mac
script:
- scripts/sign-mac.sh
tags:
- osx