64 lines
1.6 KiB
YAML
64 lines
1.6 KiB
YAML
image: "rustlang/rust:nightly"
|
|
|
|
stages:
|
|
- build
|
|
- test
|
|
|
|
before_script:
|
|
- git submodule update --init --recursive
|
|
- rustup toolchain add "$(cat rust-toolchain)"
|
|
- rustup target add x86_64-unknown-redox --toolchain "$(cat rust-toolchain)"
|
|
- rustup show # Print version info for debugging
|
|
|
|
cache:
|
|
paths:
|
|
- target/
|
|
# Redox only:
|
|
- prefix/
|
|
- rust/
|
|
|
|
build:linux:
|
|
stage: build
|
|
script:
|
|
- make all
|
|
|
|
build:redox:
|
|
stage: build
|
|
variables:
|
|
TARGET: x86_64-unknown-redox
|
|
script:
|
|
# Install the Redox OS toolchain
|
|
## (This can't be in before_script because that overrides
|
|
## the global before_script.)
|
|
- apt-get update -qq
|
|
- apt-get install -qq tar
|
|
- '[ -e "prefix" ] || (mkdir prefix && wget -O - https://static.redox-os.org/toolchain/x86_64-unknown-redox/gcc-install.tar.gz |
|
|
tar --extract --gzip --directory prefix)'
|
|
- export PATH="$PWD/prefix/bin:$PATH"
|
|
- export RUSTUP_TOOLCHAIN="$PWD/prefix"
|
|
|
|
# Prepare xargo
|
|
- cargo install xargo
|
|
- '[ -e "rust" ] || git clone -b redox-2019-04-06 "https://gitlab.redox-os.org/redox-os/rust" --recursive'
|
|
- export CARGO=xargo
|
|
- export XARGO_HOME="$PWD/build/xargo"
|
|
- export XARGO_RUST_SRC="$PWD/rust/src"
|
|
|
|
# Main script
|
|
- make -j `nproc` all
|
|
|
|
test:linux:
|
|
stage: test
|
|
dependencies:
|
|
- build:linux
|
|
script:
|
|
- make test
|
|
- cd tests && make verify
|
|
|
|
fmt:
|
|
stage: test
|
|
script:
|
|
- rustup component add rustfmt-preview
|
|
- ./fmt.sh -- --check
|
|
allow_failure: true
|