CI: Import .gitlab-ci.yml from xmpp-rs

Maxime “pep” Buquet created

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

Change summary

.gitlab-ci.yml | 56 +++++++++++++++++++++++++++++++++++++++++++++------
CHANGELOG.md   |  3 +
2 files changed, 51 insertions(+), 8 deletions(-)

Detailed changes

.gitlab-ci.yml 🔗

@@ -1,10 +1,52 @@
-image: "pitkley/rust:nightly"
+stages:
+  - build
+  - test
 
-before_script:
-- apt-get update -yqq
-- apt-get install -yqq --no-install-recommends build-essential
+variables:
+  FEATURES: ""
+  RUST_BACKTRACE: "full"
 
-test:cargo:
+.stable:
+  image: rust:latest
+  cache:
+    key: stable
+    paths:
+      - target/
+
+.nightly:
+  image: rustlang/rust:nightly
+  cache:
+    key: nightly
+    paths:
+      - target/
+
+.build:
+  stage: build
   script:
-  - rustc --version && cargo --version
-  - cargo test --verbose --jobs 1 --release
+    - cargo build --verbose --no-default-features --features=$FEATURES
+
+.test:
+  stage: test
+  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:
+  extends:
+    - .test
+    - .nightly

CHANGELOG.md 🔗

@@ -1,11 +1,12 @@
 Version XXX, released YYY:
   * Changes
     * Update edition to 2018
+  * Fixes
+    * Update old CI configuration with newer Rust images
 Version 0.11.1, released 2019-09-06:
   * Changes
     * Update to quick-xml 0.16
     * Add a default "comments" feature to transform comments into errors when unset.
-    * Remove the mostly-unused failure dependency, to dramatically reduce compilation times.
 Version 0.11.0, released 2019-06-14:
   * Breaking
     * Get rid of IntoElements, replace with `Into<Node>` and `<T: Into<Node> IntoIterator<Item = T>>`