Skip to content
Snippets Groups Projects
Commit fb1bf8d1 authored by Éloïs's avatar Éloïs
Browse files

[ci] #161: CI config: replace YAML anchors by new extends feature

parent b0d28183
No related branches found
No related tags found
1 merge request!190Resolve "CI config: replace YAML anchors by new extends feature"
...@@ -25,6 +25,12 @@ variables: ...@@ -25,6 +25,12 @@ variables:
variables: variables:
- $CI_COMMIT_MESSAGE =~ /^wip*/i - $CI_COMMIT_MESSAGE =~ /^wip*/i
.ci_conditions:
only:
<<: *ci_only_conditions
except:
<<: *ci_except_conditions
block_ci: block_ci:
only: only:
<<: *ci_except_conditions <<: *ci_except_conditions
...@@ -42,11 +48,8 @@ skip_ci: ...@@ -42,11 +48,8 @@ skip_ci:
script: script:
- echo 1 - echo 1
.rust_stable_lin64: &rust_stable_lin64 .rust_stable_lin64:
only: extends: .ci_conditions
<<: *ci_only_conditions
except:
<<: *ci_except_conditions
image: registry.duniter.org/docker/dunitrust/dunitrust-ci-lin64:latest image: registry.duniter.org/docker/dunitrust/dunitrust-ci-lin64:latest
tags: tags:
- redshift-docker-runner - redshift-docker-runner
...@@ -55,34 +58,16 @@ skip_ci: ...@@ -55,34 +58,16 @@ skip_ci:
- rustup show - rustup show
- rustc --version && cargo --version - rustc --version && cargo --version
.rust_nightly_lin64: &rust_nightly_lin64 .rust_stable_armv7:
only: extends: .ci_conditions
<<: *ci_only_conditions
except:
<<: *ci_except_conditions
image: rustlang/rust:nightly
tags:
- redshift-docker-runner
before_script:
- export PATH="$HOME/.cargo/bin:$PATH"
- rustc --version && cargo --version
.rust_stable_armv7: &rust_stable_armv7
only:
<<: *ci_only_conditions
except:
<<: *ci_except_conditions
image: registry.duniter.org/docker/rust/armv7-builder:latest image: registry.duniter.org/docker/rust/armv7-builder:latest
tags: tags:
- redshift-docker-runner - redshift-docker-runner
before_script: before_script:
- rustc --version && cargo --version - rustc --version && cargo --version
.rust_stable_win64: &rust_stable_win64 .rust_stable_win64:
only: extends: .ci_conditions
<<: *ci_only_conditions
except:
<<: *ci_except_conditions
image: registry.duniter.org/docker/rust/win64-builder:v1.35.0 image: registry.duniter.org/docker/rust/win64-builder:v1.35.0
tags: tags:
- redshift-docker-runner - redshift-docker-runner
...@@ -90,7 +75,7 @@ skip_ci: ...@@ -90,7 +75,7 @@ skip_ci:
- rustc --version && cargo --version - rustc --version && cargo --version
fmt: fmt:
<<: *rust_stable_lin64 extends: .rust_stable_lin64
stage: fmt stage: fmt
before_script: before_script:
- cargo fmt -- --version - cargo fmt -- --version
...@@ -98,7 +83,7 @@ fmt: ...@@ -98,7 +83,7 @@ fmt:
- cargo fmt -- --check - cargo fmt -- --check
tests:linux64:stable: tests:linux64:stable:
<<: *rust_stable_lin64 extends: .rust_stable_lin64
stage: tests stage: tests
tags: tags:
- redshift-docker-runner - redshift-docker-runner
...@@ -109,14 +94,11 @@ tests:linux64:stable: ...@@ -109,14 +94,11 @@ tests:linux64:stable:
- cargo test --all -- --ignored - cargo test --all -- --ignored
tests:arm-v7-:stable: tests:arm-v7-:stable:
<<: *rust_stable_armv7 extends: .rust_stable_armv7
stage: tests stage: tests
allow_failure: true allow_failure: true
when: manual when: manual
only:
<<: *ci_only_conditions
except: except:
<<: *ci_except_conditions
refs: refs:
- tags - tags
script: script:
...@@ -125,7 +107,7 @@ tests:arm-v7-:stable: ...@@ -125,7 +107,7 @@ tests:arm-v7-:stable:
- cargo test --all --target=armv7-unknown-linux-gnueabihf - cargo test --all --target=armv7-unknown-linux-gnueabihf
tests:arm-v7:stable: tests:arm-v7:stable:
<<: *rust_stable_armv7 extends: .rust_stable_armv7
stage: tests stage: tests
only: only:
- tags - tags
...@@ -135,7 +117,7 @@ tests:arm-v7:stable: ...@@ -135,7 +117,7 @@ tests:arm-v7:stable:
- cargo test --all --target=armv7-unknown-linux-gnueabihf - cargo test --all --target=armv7-unknown-linux-gnueabihf
tests:win64:stable: tests:win64:stable:
<<: *rust_stable_win64 extends: .rust_stable_win64
stage: tests stage: tests
script: script:
- cd bin/dunitrust-server - cd bin/dunitrust-server
...@@ -161,7 +143,7 @@ tests:win64:stable: ...@@ -161,7 +143,7 @@ tests:win64:stable:
- cargo test --package durs-wot --target=x86_64-pc-windows-gnu - cargo test --package durs-wot --target=x86_64-pc-windows-gnu
clippy: clippy:
<<: *rust_stable_lin64 extends: .rust_stable_lin64
before_script: before_script:
- cargo clippy -- -V - cargo clippy -- -V
stage: clippy stage: clippy
...@@ -169,7 +151,7 @@ clippy: ...@@ -169,7 +151,7 @@ clippy:
- cargo clippy --all -- -D warnings --verbose - cargo clippy --all -- -D warnings --verbose
publish:crate: publish:crate:
<<: *rust_stable_lin64 extends: .rust_stable_lin64
stage: publish_crate stage: publish_crate
when: manual when: manual
allow_failure: true allow_failure: true
...@@ -182,13 +164,10 @@ publish:crate: ...@@ -182,13 +164,10 @@ publish:crate:
- cargo publish - cargo publish
package:test:linux64: package:test:linux64:
<<: *rust_stable_lin64 extends: .rust_stable_lin64
stage: package stage: package
when: manual when: manual
only:
<<: *ci_only_conditions
except: except:
<<: *ci_except_conditions
refs: refs:
- tags - tags
script: script:
...@@ -198,16 +177,9 @@ package:test:linux64: ...@@ -198,16 +177,9 @@ package:test:linux64:
- work/bin/ - work/bin/
expire_in: 1 weeks expire_in: 1 weeks
package:test:docker-test-image: .docker-build-app-image:
extends: .ci_conditions
stage: package stage: package
only:
<<: *ci_only_conditions
except:
<<: *ci_except_conditions
refs:
- dev
- tags
when: manual
image: docker:18.06 image: docker:18.06
tags: tags:
- redshift-docker-runner - redshift-docker-runner
...@@ -220,44 +192,37 @@ package:test:docker-test-image: ...@@ -220,44 +192,37 @@ package:test:docker-test-image:
before_script: before_script:
- docker info - docker info
script: script:
- docker pull $CI_REGISTRY_IMAGE:test-image || true - docker pull $CI_REGISTRY_IMAGE:$IMAGE_TAG || true
- docker build --cache-from $CI_REGISTRY_IMAGE:test-image --pull -t "$CI_REGISTRY_IMAGE:test-image" -f release/docker/Dockerfile . - docker build --cache-from $CI_REGISTRY_IMAGE:$IMAGE_TAG --pull -t "$CI_REGISTRY_IMAGE:$IMAGE_TAG" -f release/docker/Dockerfile .
- docker login -u "gitlab-ci-token" -p "$CI_BUILD_TOKEN" $CI_REGISTRY - docker login -u "gitlab-ci-token" -p "$CI_BUILD_TOKEN" $CI_REGISTRY
- docker push "$CI_REGISTRY_IMAGE:test-image" - docker push "$CI_REGISTRY_IMAGE:$IMAGE_TAG"
package:test:docker-test-image:
extends: .docker-build-app-image
except:
refs:
- dev
- tags
when: manual
variables:
IMAGE_TAG: "test-image"
package:test:docker: package:test:docker:
stage: package extends: .docker-build-app-image
only: only:
<<: *ci_only_conditions
refs: refs:
- dev - dev
except: except:
<<: *ci_except_conditions
refs: refs:
- tags - tags
image: docker:18.06
tags:
- redshift-docker-runner
services:
- docker:18.06-dind
variables: variables:
#DOCKER_TLS_CERTDIR: "/certs" IMAGE_TAG: "dev"
#DOCKER_DRIVER: overlay2
LAST_COMMIT_HASH: $CI_COMMIT_SHORT_SHA
script:
- docker pull $CI_REGISTRY_IMAGE:dev || true
- docker build --cache-from $CI_REGISTRY_IMAGE:dev --pull -t "$CI_REGISTRY_IMAGE:dev" -f release/docker/Dockerfile .
- docker login -u "gitlab-ci-token" -p "$CI_BUILD_TOKEN" $CI_REGISTRY
- docker push "$CI_REGISTRY_IMAGE:dev"
package:test:armv7: package:test:armv7:
<<: *rust_stable_armv7 extends: .rust_stable_armv7
stage: package stage: package
when: manual when: manual
only:
<<: *ci_only_conditions
except: except:
<<: *ci_except_conditions
refs: refs:
- tags - tags
script: script:
...@@ -268,13 +233,10 @@ package:test:armv7: ...@@ -268,13 +233,10 @@ package:test:armv7:
expire_in: 1 weeks expire_in: 1 weeks
package:test:win64: package:test:win64:
<<: *rust_stable_win64 extends: .rust_stable_win64
stage: package stage: package
when: manual when: manual
only:
<<: *ci_only_conditions
except: except:
<<: *ci_except_conditions
refs: refs:
- tags - tags
script: script:
...@@ -285,7 +247,7 @@ package:test:win64: ...@@ -285,7 +247,7 @@ package:test:win64:
expire_in: 1 weeks expire_in: 1 weeks
package:prod:linux64: package:prod:linux64:
<<: *rust_stable_lin64 extends: .rust_stable_lin64
stage: package stage: package
only: only:
- tags - tags
...@@ -313,7 +275,7 @@ package:prod:docker: ...@@ -313,7 +275,7 @@ package:prod:docker:
- docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG" - docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG"
package:prod:armv7: package:prod:armv7:
<<: *rust_stable_armv7 extends: .rust_stable_armv7
stage: package stage: package
only: only:
- tags - tags
...@@ -325,7 +287,7 @@ package:prod:armv7: ...@@ -325,7 +287,7 @@ package:prod:armv7:
expire_in: 2 weeks expire_in: 2 weeks
package:prod:win64: package:prod:win64:
<<: *rust_stable_win64 extends: .rust_stable_win64
only: only:
- tags - tags
stage: package stage: package
...@@ -336,24 +298,13 @@ package:prod:win64: ...@@ -336,24 +298,13 @@ package:prod:win64:
- work/bin/ - work/bin/
expire_in: 2 weeks expire_in: 2 weeks
.release_jobs: &release_jobs
only:
- tags
image: rdadev/jinja2:py3.6
tags:
- redshift-docker-runner
script:
- python3 .gitlab/releaser
pages: pages:
<<: *rust_stable_lin64 extends: .rust_stable_lin64
stage: publish_doc stage: publish_doc
only: only:
<<: *ci_only_conditions
refs: refs:
- dev - dev
except: except:
<<: *ci_except_conditions
refs: refs:
- tags - tags
script: script:
...@@ -365,15 +316,24 @@ pages: ...@@ -365,15 +316,24 @@ pages:
paths: paths:
- public - public
.release_jobs:
only:
- tags
image: rdadev/jinja2:py3.6
tags:
- redshift-docker-runner
script:
- python3 .gitlab/releaser
prerelease: prerelease:
<<: *release_jobs extends: .release_jobs
stage: prerelease stage: prerelease
variables: variables:
RELEASE_BIN_DIR: work/bin/ RELEASE_BIN_DIR: work/bin/
SOURCE_EXT: '["tar.gz", "zip"]' SOURCE_EXT: '["tar.gz", "zip"]'
release: release:
<<: *release_jobs extends: .release_jobs
stage: release stage: release
allow_failure: false allow_failure: false
when: manual when: manual
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment