image: rust:latest variables: CARGO_TARGET: x86_64-unknown-linux-musl before_script: - rustup target add $CARGO_TARGET - apt-get update -qq && apt-get install -y -qq sshpass musl musl-tools build: stage: build script: - cargo build --release --target $CARGO_TARGET artifacts: paths: - target/$CARGO_TARGET/release/rot expire_in: 1 week test: stage: test image: rust:latest script: - apt update && apt install -y sqlite3 && ./test_db.sh - cargo build --verbose - cargo test --verbose deploy: stage: deploy before_script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - - mkdir -p ~/.ssh - chmod 700 ~/.ssh script: - scp target/$CARGO_TARGET/release/rot $SSH_USER@$SSH_HOST:/home/k004373/rowing-staging only: - staging