-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitlab-ci.yml
36 lines (34 loc) · 909 Bytes
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
variables:
CARGO_HOME: ${CI_PROJECT_DIR}/.cargo
SOURCE: target/release/$CI_PROJECT_NAME
DESTINATION: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/$CI_PROJECT_NAME/$CI_COMMIT_TAG/
build:
stage: build
image: rust:latest
rules:
- if: $CI_COMMIT_TAG
cache:
paths:
- Cargo.lock
- target
- .cargo
before_script:
- cargo build --release
- strip $SOURCE
script:
- >
curl
--header "JOB-TOKEN: $CI_JOB_TOKEN"
--upload-file $SOURCE $DESTINATION
deploy:
stage: deploy
image: registry.gitlab.com/gitlab-org/release-cli:latest
rules:
- if: $CI_COMMIT_TAG
script:
- >
release-cli create
--tag-name $CI_COMMIT_TAG
--name "Release $CI_COMMIT_TAG"
--description "Release $CI_COMMIT_TAG"
--assets-link "{\"name\": \"$CI_PROJECT_NAME-$CI_COMMIT_TAG\", \"url\": \"$DESTINATION$CI_PROJECT_NAME\"}"