.gitlab-ci.yml 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. image: "redoxos/redoxer"
  2. variables:
  3. CARGO_HOME: $CI_PROJECT_DIR/cargo
  4. before_script:
  5. - apt-get update -qq
  6. - apt-get install -qq build-essential curl git
  7. format:
  8. image: 'rustlang/rust:nightly'
  9. cache:
  10. key: format
  11. paths:
  12. - cargo/
  13. - target/
  14. script:
  15. - rustup default nightly
  16. - rustup component add rustfmt
  17. - cargo +nightly fmt --all -- --check
  18. linux:
  19. image: 'rust:1.53.0'
  20. cache:
  21. key: linux
  22. paths:
  23. - cargo/
  24. - target/
  25. script:
  26. - cargo check --features=piston
  27. - FULL=1 make tests
  28. linux:stable:
  29. cache:
  30. key: linuxstable
  31. paths:
  32. - cargo/
  33. - target/
  34. script:
  35. - cargo check --features=piston
  36. - TOOLCHAIN= make tests
  37. redox:
  38. cache:
  39. key: redox
  40. paths:
  41. - cargo/
  42. - target/
  43. before_script:
  44. - apt-get update -qq
  45. - apt-get install -qq build-essential curl git
  46. script:
  47. - redoxer test
  48. link-check:
  49. image: hrektts/mdbook
  50. cache:
  51. key: linkcheck
  52. paths:
  53. - cargo/
  54. - cargo/bin
  55. before_script:
  56. - apt-get update -qq
  57. - apt-get install -qq libssl-dev pkg-config build-essential curl git
  58. - test -x $CARGO_HOME/bin/mdbook-linkcheck || cargo install mdbook-linkcheck
  59. script:
  60. - PATH=$PATH:$CARGO_HOME/bin
  61. - make manual
  62. - mdbook build manual
  63. pages:
  64. image: hrektts/mdbook
  65. stage: deploy
  66. cache:
  67. key: book
  68. paths:
  69. - cargo/
  70. - cargo/bin
  71. before_script:
  72. - apt-get update -qq
  73. - apt-get install -qq libssl-dev pkg-config build-essential curl git
  74. - test -x $CARGO_HOME/bin/mdbook-linkcheck || cargo install mdbook-linkcheck
  75. script:
  76. - PATH=$PATH:$CARGO_HOME/bin
  77. - make manual
  78. - mdbook build manual
  79. - mv manual/book/html public
  80. artifacts:
  81. paths:
  82. - public
  83. only:
  84. - master
  85. compare-benchmarks:
  86. image: rustlang/rust:nightly
  87. stage: test
  88. when: manual
  89. allow_failure: true
  90. except: [master]
  91. script:
  92. - apt-get update && apt-get install -y build-essential libboost-dev jq bc
  93. - sh ./ci/run_benchmark.sh
  94. artifacts:
  95. reports:
  96. junit: target/report.xml
  97. paths: [target/criterion]