.gitlab-ci.yml 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. image: "rustlang/rust:nightly"
  2. stages:
  3. - build
  4. - test
  5. before_script:
  6. - git submodule update --init --recursive
  7. - rustup toolchain add "$(cat rust-toolchain)"
  8. - rustup target add x86_64-unknown-redox --toolchain "$(cat rust-toolchain)"
  9. - rustup show # Print version info for debugging
  10. cache:
  11. paths:
  12. - target/
  13. # Redox only:
  14. - prefix/
  15. - rust/
  16. build:linux:
  17. stage: build
  18. script:
  19. - make all
  20. build:redox:
  21. stage: build
  22. variables:
  23. TARGET: x86_64-unknown-redox
  24. script:
  25. # Install the Redox OS toolchain
  26. ## (This can't be in before_script because that overrides
  27. ## the global before_script.)
  28. - apt-get update -qq
  29. - apt-get install -qq tar
  30. - '[ -e "prefix" ] || (mkdir prefix && wget -O - https://static.redox-os.org/toolchain/x86_64-unknown-redox/gcc-install.tar.gz |
  31. tar --extract --gzip --directory prefix)'
  32. - export PATH="$PWD/prefix/bin:$PATH"
  33. - export RUSTUP_TOOLCHAIN="$PWD/prefix"
  34. # Prepare xargo
  35. - cargo install xargo
  36. - '[ -e "rust" ] || git clone -b redox-2019-04-06 "https://gitlab.redox-os.org/redox-os/rust" --recursive'
  37. - export CARGO=xargo
  38. - export XARGO_HOME="$PWD/build/xargo"
  39. - export XARGO_RUST_SRC="$PWD/rust/src"
  40. # Main script
  41. - make -j `nproc` headers
  42. - make -j `nproc` install-headers DESTDIR="$PWD/prefix/$TARGET"
  43. - make -j `nproc` all
  44. test:linux:
  45. stage: test
  46. dependencies:
  47. - build:linux
  48. script:
  49. - make test
  50. - cd tests && make verify
  51. fmt:
  52. stage: test
  53. script:
  54. - rustup component add rustfmt-preview
  55. - ./fmt.sh -- --check
  56. allow_failure: true