You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

56 lines
1.5 KiB

# This file is a template, and might need editing before it works on your project.
# Official language image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/rust/tags/
image: "rust:buster"
# Optional: Pick zero or more services to be used on all builds.
# Only needed when using a docker container to run your tests in.
# Check out: http://docs.gitlab.com/ce/ci/docker/using_docker_images.html#what-is-a-service
#services:
# - mysql:latest
# - redis:latest
# - postgres:latest
stages:
- test
- deploy
variables:
CARGO_HOME: $CI_PROJECT_DIR/cargo
APT_CACHE_DIR: $CI_PROJECT_DIR/apt
# Optional: Install a C compiler, cmake and git into the container.
# You will often need this when you (or any of your dependencies) depends on C code.
before_script:
- apt-get update -yqq
- apt-get install -yqq --no-install-recommends build-essential libudev-dev zlib1g-dev libasound2-dev wabt
- set +e
- cargo install cargo-web || true
- set -e
# Use cargo to test the project
test:
stage: test
script:
- rustc --version && cargo --version # Print version info for debugging
- cargo test --all --verbose
pages:
stage: deploy
script:
- cargo web deploy --release --target=wasm32-unknown-unknown
- mkdir .public
- wasm-strip /builds/nycex/axosnake/target/deploy/axosnake.wasm
- cp -r /builds/nycex/axosnake/target/deploy/* .public
- mv .public public
artifacts:
paths:
- public
only:
- master
cache:
paths:
- cargo/
- apt/
- /builds/nycex/axosnake/target/