Browse Source

Adding comments to structure GitLab-CI configuration

enabling tests
pull/139/head
Asher Dawes 6 years ago
parent
commit
c79ca917a4
  1. 171
      .gitlab-ci.yml

171
.gitlab-ci.yml

@ -2,8 +2,9 @@ stages:
- build
- test
- deploy
########################################################################################################################
####START#### PROJECT LEVEL VARIABLES ####START####
########################################################################################################################
variables:
VERSION: 0.4.0a
VERUS_CLI_LINUX: Verus-CLI-Linux-v${VERSION}.tar.gz
@ -14,27 +15,35 @@ variables:
Pipeline Trigger: ${CI_PIPELINE_SOURCE}\n
Commit: ${CI_COMMIT_SHA}$\n
${CI_COMMIT_MESSAGE}"
########################################################################################################################
####END#### PROJECT LEVEL VARIABLES ####END####
########################################################################################################################
########################################################################################################################
########################################################################################################################
####START#### Build Stage: compile and package komodo binaries for Verus CLI ####START#####
########################################################################################################################
########################################################################################################################
####START#### LINUX ####START####
########################################################################################################################
build:linux:
image: asherd/verus-builders:verus-ubuntu
variables:
DOCKER_DRIVER: overlay2
stage: build
cache:
key: ${CI_JOB_NAME}
key: "${CI_JOB_NAME}${CI_COMMIT_REF_NAME}"
paths:
- depends/built
script:
- zcutil/build.sh -j$(nproc)
- mkdir verus-cli
- cp src/komodod
src/komodo-cli
src/verus
src/verusd
doc/man/verus-cli/linux/README.txt
zcutil/fetch-params.sh
verus-cli
src/komodo-cli
src/verus
src/verusd
doc/man/verus-cli/linux/README.txt
zcutil/fetch-params.sh
verus-cli
- mv verus-cli/fetch-params.sh verus-cli/fetch-params
- chmod +x verus-cli/komodod
- chmod +x verus-cli/komodo-cli
@ -53,27 +62,30 @@ build:linux:
- ${VERUS_CLI_LINUX}
- ${VERUS_CLI_LINUX}.md5
expire_in: 1 week
########################################################################################################################
####END#### LINUX ####END####
########################################################################################################################
####START#### WINDOWS ####START####
########################################################################################################################
build:windows:
image: asherd/verus-builders:verus-windows
variables:
DOCKER_DRIVER: overlay2
stage: build
cache:
key: ${CI_JOB_NAME}
key: "${CI_JOB_NAME}${CI_COMMIT_REF_NAME}"
paths:
- depends/built
script:
- zcutil/build-win.sh -j$(nproc)
- mkdir verus-cli
- cp src/komodod.exe
src/komodo-cli.exe
src/komodo-tx.exe
doc/man/verus-cli/windows/README.txt
zcutil/fetch-params.bat
zcutil/wget64.exe
verus-cli
src/komodo-cli.exe
src/komodo-tx.exe
doc/man/verus-cli/windows/README.txt
zcutil/fetch-params.bat
zcutil/wget64.exe
verus-cli
- zip -r ${VERUS_CLI_WINDOWS} verus-cli
- md5sum ${VERUS_CLI_WINDOWS} > ${VERUS_CLI_WINDOWS}.md5
- curl -F file=@"${VERUS_CLI_WINDOWS}"
@ -86,17 +98,19 @@ build:windows:
- ${VERUS_CLI_WINDOWS}
- ${VERUS_CLI_WINDOWS}.md5
expire_in: 1 week
########################################################################################################################
####END#### WINDOWS ####END####
########################################################################################################################
####START#### MACOS ####START####
########################################################################################################################
build:mac:
stage: build
tags: ["High Sierra"]
cache:
key: ${CI_JOB_NAME}
key: "${CI_JOB_NAME}${CI_COMMIT_REF_NAME}"
paths:
- depends/built
script:
- brew bundle
- zcutil/build-mac.sh -j$(sysctl -n hw.physicalcpu)
- ./makeReleaseMac.sh
- tar -czvf ${VERUS_CLI_MACOS} verus-cli
@ -111,9 +125,22 @@ build:mac:
- ${VERUS_CLI_MACOS}
- ${VERUS_CLI_MACOS}.md5
expire_in: 1 week
.code_quality:
########################################################################################################################
####END#### MACOS ####END####
########################################################################################################################
########################################################################################################################
####END#### Build Stage ####END####
########################################################################################################################
########################################################################################################################
########################################################################################################################
########################################################################################################################
####START#### Test stage: Test functionality of komodo binaries. Produce code quality and SAST reports. ####START####
########################################################################################################################
########################################################################################################################
########################################################################################################################
####START#### Code Quality ####START####
########################################################################################################################
code_quality:
image: docker:stable
variables:
DOCKER_DRIVER: overlay2
@ -129,9 +156,13 @@ build:mac:
"registry.gitlab.com/gitlab-org/security-products/codequality:$SP_VERSION" /code
artifacts:
paths: [gl-code-quality-report.json]
.sast:
########################################################################################################################
####END#### Code Quality ####END####
########################################################################################################################
########################################################################################################################
####START#### Static Application Security Tests ####START####
########################################################################################################################
sast:
image: docker:stable
variables:
DOCKER_DRIVER: overlay2
@ -147,31 +178,19 @@ build:mac:
"registry.gitlab.com/gitlab-org/security-products/sast:$SP_VERSION" /app/bin/run /code
artifacts:
paths: [gl-sast-report.json]
.license_management:
image: docker:stable
variables:
DOCKER_DRIVER: overlay2
allow_failure: true
services:
- docker:stable-dind
script:
- export LICENSE_MANAGEMENT_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
- docker run
--volume "$PWD:/code"
"registry.gitlab.com/gitlab-org/security-products/license-management:$LICENSE_MANAGEMENT_VERSION" analyze /code
artifacts:
paths: [gl-license-management-report.json]
.ubuntu:xenial:
########################################################################################################################
####END#### Static Application Security Tests ####END####
########################################################################################################################
########################################################################################################################
####START#### Run Verus CLI on Ubuntu Xenial (16.04) ####START####
########################################################################################################################
ubuntu:xenial:
image: ubuntu:xenial
variables:
DOCKER_DRIVER: overlay2
stage: test
before_script:
- apt update && apt install -y wget libgomp1 libcurl3 python
- apt update && apt install -y wget libgomp1 libcurl4-gnutls-dev python
- rm -rf /root/.komodo || true
- mv .komodo /root/ || true
script:
@ -188,15 +207,19 @@ build:mac:
expire_in: 1 week
dependencies:
- build:linux
.ubuntu:bionic:
########################################################################################################################
####END#### Run Verus CLI on Ubuntu Xenial (16.04) ####END####
########################################################################################################################
########################################################################################################################
####START#### Run Verus CLI on Ubuntu Bionic (18.04) ####START####
########################################################################################################################
ubuntu:bionic:
image: ubuntu:bionic
variables:
DOCKER_DRIVER: overlay2
stage: test
before_script:
- apt update && apt install -y wget libgomp1 libcurl3 python
- apt update && apt install -y wget libgomp1 libcurl4-gnutls-dev python
- rm -rf /root/.komodo || true
- mv .komodo /root/ || true
script:
@ -213,9 +236,13 @@ build:mac:
expire_in: 1 week
dependencies:
- build:linux
.macos:sierra: # fetch-params.sh needs to be fixed for MacOS
########################################################################################################################
####END#### Run Verus CLI on Ubuntu Bionic (18.04) ####END####
########################################################################################################################
########################################################################################################################
####START#### Run Verus CLI on MacOS Sierra (10.12.6) ####START####
########################################################################################################################
.macos:sierra:
stage: test
tags: ["Sierra"]
script:
@ -227,8 +254,12 @@ build:mac:
expire_in: 1 week
dependencies:
- build:mac
########################################################################################################################
####END#### Run Verus CLI on MacOS Sierra (10.12.6) ####END####
########################################################################################################################
########################################################################################################################
####START#### Run Verus CLI on MacOS High Sierra (10.12.6) ####START####
########################################################################################################################
.macos:high-sierra:
stage: test
tags: ["High Sierra"]
@ -241,8 +272,12 @@ build:mac:
expire_in: 1 week
dependencies:
- build:mac
########################################################################################################################
####START#### Run Verus CLI on MacOS High Sierra (10.12.6) ####START####
########################################################################################################################
########################################################################################################################
####START#### Run Verus CLI on Windows 10 ####START####
########################################################################################################################
.windows:10:
stage: test
tags: ["Windows 10"]
@ -255,8 +290,15 @@ build:mac:
expire_in: 1 week
dependencies:
- build:windows
########################################################################################################################
####END#### Run Verus CLI on Windows 10 ####END####
########################################################################################################################
########################################################################################################################
####END#### Test Stage ####END####
########################################################################################################################
########################################################################################################################
####START#### Deploy ####START####
########################################################################################################################
deploy:
stage: deploy
image: google/cloud-sdk:alpine
@ -283,3 +325,6 @@ deploy:
-F variables\[VERUS_CLI_WINDOWS\]="${VERUS_CLI_WINDOWS}"
-F variables\[VERUS_CLI_MACOS\]="${VERUS_CLI_MACOS}"
"https://gitlab.com/api/v4/projects/8018592/trigger/pipeline"
########################################################################################################################
####END#### Deploy ####END####
########################################################################################################################

Loading…
Cancel
Save