Files
hush3/.gitlab-ci.yml
Asher Dawes e96d89daa3 Asher dev (#81)
* Updating GitLab CI, clean up.

* Updating GitLab CI config
2018-06-27 13:29:35 -07:00

147 lines
4.2 KiB
YAML

stages:
- build
- test
- deploy
variables:
VERSION: "0.3.9"
AGAMA_ARTIFACTS_LINUX: "linux64.tar.gz"
AGAMA_ARTIFACTS_MACOS: "osx.tar.gz"
AGAMA_ARTIFACTS_WINDOWS: "win64.zip"
VERUS_CLI_DEBIAN: "verus-cli-v${VERSION}-beta-amd64.deb"
VERUS_CLI_LINUX_PORTABLE: "verus-cli-linux-v$VERSION-beta.tar.gz"
VERUS_CLI_WINDOWS_PORTABLE: "verus-cli-windows-v$VERSION-beta.zip"
VERUS_CLI_MACOS_PORTABLE: "verus-cli-mac-v$VERSION-beta.tar.gz"
build:linux:
image: asherd/veruscoin-cross-compiler:linux
variables:
DOCKER_DRIVER: overlay2
stage: build
script:
- "./zcutil/build.sh"
##- "./zcutil/build-debian-package.sh"
- "./makeReleaseLinux.sh"
- "cd kmd/linux"
- "tar -czvf $VERUS_CLI_LINUX_PORTABLE verus-cli"
- "mv $VERUS_CLI_LINUX_PORTABLE ../.."
- "mv verus-cli linux64"
- "tar -czvf $AGAMA_ARTIFACTS_LINUX linux64"
- "mv $AGAMA_ARTIFACTS_LINUX ../.."
artifacts:
paths:
- $VERUS_CLI_LINUX_PORTABLE
## - $VERUS_CLI_DEBIAN
- $AGAMA_ARTIFACTS_LINUX
expire_in: 1 week
build:windows:
image: asherd/veruscoin-cross-compiler:latest
variables:
DOCKER_DRIVER: overlay2
stage: build
cache:
key: ${CI_JOB_NAME}
paths:
- depends/built
- .ccache
- .cargo
before_script:
- mkdir .ccache || echo ccache exists
- ln -s $PWD/.ccache /root/.ccache
- mkdir .zcash-params || echo zcash-params exists
- ln -s $PWD/.zcash-params /root/.zcash-params
- mkdir .cargo || echo .cargo exists
- ln -s $PWD/.cargo /root/.cargo
script:
- "./zcutil/build-win.sh"
- "./makeReleaseWindows.sh"
- "cd kmd/windows/"
- "zip -r $VERUS_CLI_WINDOWS_PORTABLE verus-cli"
- "mv $VERUS_CLI_WINDOWS_PORTABLE ../.."
- "mv verus-cli win64"
- "zip -r $AGAMA_ARTIFACTS_WINDOWS win64"
- "mv $AGAMA_ARTIFACTS_WINDOWS ../.."
artifacts:
paths:
- $VERUS_CLI_WINDOWS_PORTABLE
- $AGAMA_ARTIFACTS_WINDOWS
expire_in: 1 week
build:mac:
stage: build
tags: ["osx"]
cache:
key: ${CI_JOB_NAME}
paths:
- depends/built
script:
- "./zcutil/build-mac.sh | xcpretty"
- "./makeReleaseMac.sh"
- "cd kmd/mac/"
- "tar -czvf $VERUS_CLI_MACOS_PORTABLE verus-cli"
- "mv verus-cli-mac-v$VERSION-beta.tar.gz ../.."
- "mv verus-cli osx"
- "tar -czvf $AGAMA_ARTIFACTS_MACOS osx"
- "mv $AGAMA_ARTIFACTS_MACOS ../.."
artifacts:
paths:
- $VERUS_CLI_MACOS_PORTABLE
- $AGAMA_ARTIFACTS_MACOS
expire_in: 1 week
.code_quality:
image: docker:stable
variables:
DOCKER_DRIVER: overlay2
allow_failure: true
services:
- docker:stable-dind
script:
- export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
- docker run
--env SOURCE_CODE="$PWD"
--volume "$PWD":/code
--volume /var/run/docker.sock:/var/run/docker.sock
"registry.gitlab.com/gitlab-org/security-products/codequality:$SP_VERSION" /code
artifacts:
paths: [gl-code-quality-report.json]
.sast:
image: docker:stable
variables:
DOCKER_DRIVER: overlay2
allow_failure: true
services:
- docker:stable-dind
script:
- export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
- docker run
--env SAST_CONFIDENCE_LEVEL="${SAST_CONFIDENCE_LEVEL:-3}"
--volume "$PWD:/code"
--volume /var/run/docker.sock:/var/run/docker.sock
"registry.gitlab.com/gitlab-org/security-products/sast:$SP_VERSION" /app/bin/run /code
artifacts:
paths: [gl-sast-report.json]
deploy:
stage: deploy
image: google/cloud-sdk:alpine
variables:
DOCKER_DRIVER: overlay2
dependencies:
- build:linux
- build:windows
- build:mac
script:
- "mkdir $CI_COMMIT_REF_NAME"
- "cd $CI_COMMIT_REF_NAME"
- "mkdir Windows && mkdir Linux @&& mkdir MacOS"
- "cd .."
- "mv $VERUS_CLI_WINDOWS_PORTABLE $AGAMA_ARTIFACTS_WINDOWS $CI_COMMIT_REF_NAME/Windows"
- "mv $VERUS_CLI_LINUX_PORTABLE $AGAMA_ARTIFACTS_LINUX $CI_COMMIT_REF_NAME/Linux"
- "mv $AGAMA_ARTIFACTS_MACOS $VERUS_CLI_MACOS_PORTABLE $CI_COMMIT_REF_NAME/MacOS"
- 'echo "$AUTH_KEY" > AUTH_KEY.json'
- "gcloud auth activate-service-account --key-file AUTH_KEY.json"
- "gsutil rsync -r $CI_COMMIT_REF_NAME/ $STAGING/VerusCoin/$CI_COMMIT_REF_NAME/"