CI: refactor .gitlab-ci.yml

Maxime “pep” Buquet created

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>

Change summary

.gitlab-ci.yml | 37 +++++++++++++++++++++++++------------
1 file changed, 25 insertions(+), 12 deletions(-)

Detailed changes

.gitlab-ci.yml 🔗

@@ -5,26 +5,39 @@ stages:
 variables:
   FEATURES: ""
 
-rust-latest-build:
-  stage: build
+.stable:
   image: rust:latest
-  script:
-    - cargo build --verbose --no-default-features --features=$FEATURES
 
-rust-nightly-build:
-  stage: build
+.nightly:
   image: rustlang/rust:nightly
+
+.build:
+  stage: build
   script:
     - cargo build --verbose --no-default-features --features=$FEATURES
 
-rust-latest-test:
+.test:
   stage: test
-  image: rust:latest
   script:
     - cargo test --verbose --no-default-features --features=$FEATURES
 
+rust-latest-build:
+  extends:
+    - .build
+    - .stable
+
+rust-nightly-build:
+  extends:
+    - .build
+    - .nightly
+
+
+rust-latest-test:
+  extends:
+    - .test
+    - .stable
+
 rust-nightly-test:
-  stage: test
-  image: rustlang/rust:nightly
-  script:
-    - cargo test --verbose --no-default-features --features=$FEATURES
+  extends:
+    - .test
+    - .nightly