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
- schedules # Our nightly builds from schedule, on `master`
- "v*" # Our version tags
- ci-package
- next
- tags
.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
before_script:
- npm install --global yarn --cache-min 999999999
- npm install
- export VERSION=$(node -p "require('./package.json').version")
build:
stage: build
script:
- scripts/lint.sh
- scripts/push-precompiled.sh # TODO This needs to be done only on master branch!
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
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:
- rust-stable
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:
- rust-stable
dependencies:
- package:binaries:linux
variables:
BUILD_ARCH: amd64
- export VERSION=$(node -p "require('./package.json').version")
script:
- scripts/publish-snap.sh
tags:
- rust-stable