update gitlab CI conf
komodify gitlab CI conf
This commit is contained in:
253
.gitlab-ci.yml
253
.gitlab-ci.yml
@@ -1,112 +1,90 @@
|
||||
stages:
|
||||
- build
|
||||
- test
|
||||
- deploy
|
||||
########################################################################################################################
|
||||
####START#### PROJECT LEVEL VARIABLES ####START####
|
||||
########################################################################################################################
|
||||
variables:
|
||||
VERSION: 0.4.0c
|
||||
VERUS_CLI_LINUX: Verus-CLI-Linux-v${VERSION}.tar.gz
|
||||
VERUS_CLI_WINDOWS: Verus-CLI-Windows-v${VERSION}.zip
|
||||
VERUS_CLI_MACOS: Verus-CLI-MacOS-v${VERSION}.tar.gz
|
||||
DOWNSTREAM_AGAMA_BRANCH: ${CI_COMMIT_REF_NAME}
|
||||
POST_MESSAGE: "Source: ${CI_PROJECT_NAME}/${CI_COMMIT_REF_NAME}\n
|
||||
Pipeline Trigger: ${CI_PIPELINE_SOURCE}\n
|
||||
Commit: ${CI_COMMIT_SHA}$\n
|
||||
${CI_COMMIT_MESSAGE}"
|
||||
PACKAGE_DIR_LINUX: linux64
|
||||
PACKAGE_DIR_WINDOWS: win64
|
||||
PACKAGE_DIR_MACOS: macos
|
||||
AGAMA_ARTIFACTS_LINUX: ${PACKAGE_DIR_LINUX}.tar.gz
|
||||
AGAMA_ARTIFACTS_WINDOWS: ${PACKAGE_DIR_WINDOWS}.zip
|
||||
AGAMA_ARTIFACTS_MACOS: ${PACKAGE_DIR_MACOS}.tar.gz
|
||||
AGAMA_ARTIFACTS_LINUX_CHECKSUM: ${AGAMA_ARTIFACTS_LINUX}.md5
|
||||
AGAMA_ARTIFACTS_WINDOWS_CHECKSUM: ${AGAMA_ARTIFACTS_WINDOWS}.md5
|
||||
AGAMA_ARTIFACTS_MACOS_CHECKSUM: ${AGAMA_ARTIFACTS_MACOS}.md5
|
||||
ARTIFACT_EXPIRATION: 1 week
|
||||
|
||||
########################################################################################################################
|
||||
####END#### PROJECT LEVEL VARIABLES ####END####
|
||||
########################################################################################################################
|
||||
########################################################################################################################
|
||||
########################################################################################################################
|
||||
####START#### Build Stage: compile and package komodo binaries for Verus CLI ####START#####
|
||||
####START#### Build Stage: compile and package komodo binaries for the Agama Wallet. ####START#####
|
||||
########################################################################################################################
|
||||
########################################################################################################################
|
||||
####START#### LINUX ####START####
|
||||
########################################################################################################################
|
||||
build:linux:
|
||||
image: asherd/verus-builders:verus-ubuntu
|
||||
build:ubuntu:
|
||||
stage: build
|
||||
image: ca333/komodo-builders:komodo-ubuntu
|
||||
variables:
|
||||
DOCKER_DRIVER: overlay2
|
||||
stage: build
|
||||
cache:
|
||||
key: "${CI_JOB_NAME}${CI_COMMIT_REF_NAME}"
|
||||
paths:
|
||||
- depends/built
|
||||
script:
|
||||
- zcutil/build.sh -j$(nproc)
|
||||
- mkdir verus-cli
|
||||
- mkdir ${PACKAGE_DIR_LINUX}
|
||||
- cp src/komodod
|
||||
src/komodo-cli
|
||||
src/fiat/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
|
||||
- chmod +x verus-cli/verus
|
||||
- chmod +x verus-cli/verusd
|
||||
- chmod +x verus-cli/fetch-params
|
||||
- if [ "${CI_COMMIT_REF_NAME}" = "master" ]; then strip -g verus-cli/komodod && strip -g verus-cli/komodod; fi
|
||||
- tar -czvf ${VERUS_CLI_LINUX} verus-cli
|
||||
- md5sum ${VERUS_CLI_LINUX} > ${VERUS_CLI_LINUX}.md5
|
||||
- curl -F file=@"${VERUS_CLI_LINUX}"
|
||||
-F channels="${CLI_POST_CHANNEL}"
|
||||
-F initial_comment="${POST_MESSAGE}"
|
||||
-H "${SLACK_BOT_AUTH}"
|
||||
"https://slack.com/api/files.upload"
|
||||
${PACKAGE_DIR_LINUX}
|
||||
- chmod +x ${PACKAGE_DIR_LINUX}/komodod
|
||||
- chmod +x ${PACKAGE_DIR_LINUX}/komodo-cli
|
||||
- tar -czvf ${AGAMA_ARTIFACTS_LINUX} ${PACKAGE_DIR_LINUX}
|
||||
- md5sum ${AGAMA_ARTIFACTS_LINUX} > ${AGAMA_ARTIFACTS_LINUX_CHECKSUM}
|
||||
artifacts:
|
||||
paths:
|
||||
- ${VERUS_CLI_LINUX}
|
||||
- ${VERUS_CLI_LINUX}.md5
|
||||
- ${AGAMA_ARTIFACTS_LINUX}
|
||||
- ${AGAMA_ARTIFACTS_LINUX_CHECKSUM}
|
||||
expire_in: 1 week
|
||||
|
||||
########################################################################################################################
|
||||
####END#### LINUX ####END####
|
||||
########################################################################################################################
|
||||
####START#### WINDOWS ####START####
|
||||
########################################################################################################################
|
||||
build:windows:
|
||||
image: asherd/verus-builders:verus-windows
|
||||
stage: build
|
||||
image: ca333/komodo-builders:komodo-windows
|
||||
variables:
|
||||
DOCKER_DRIVER: overlay2
|
||||
stage: build
|
||||
cache:
|
||||
key: "${CI_JOB_NAME}${CI_COMMIT_REF_NAME}"
|
||||
paths:
|
||||
- depends/built
|
||||
script:
|
||||
- zcutil/build-win.sh -j$(nproc)
|
||||
- mkdir verus-cli
|
||||
- mkdir ${PACKAGE_DIR_WINDOWS}
|
||||
- cp src/komodod.exe
|
||||
src/komodo-cli.exe
|
||||
src/komodo-tx.exe
|
||||
src/fiat/verus.bat
|
||||
src/verusd.bat
|
||||
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}"
|
||||
-F channels="${CLI_POST_CHANNEL}"
|
||||
-F initial_comment="${POST_MESSAGE}"
|
||||
-H "${SLACK_BOT_AUTH}"
|
||||
"https://slack.com/api/files.upload"
|
||||
${PACKAGE_DIR_WINDOWS}
|
||||
- zip -r ${PACKAGE_DIR_WINDOWS}.zip ${PACKAGE_DIR_WINDOWS}
|
||||
- md5sum ${AGAMA_ARTIFACTS_WINDOWS} > ${AGAMA_ARTIFACTS_WINDOWS_CHECKSUM}
|
||||
artifacts:
|
||||
paths:
|
||||
- ${VERUS_CLI_WINDOWS}
|
||||
- ${VERUS_CLI_WINDOWS}.md5
|
||||
- ${AGAMA_ARTIFACTS_WINDOWS}
|
||||
- ${AGAMA_ARTIFACTS_WINDOWS_CHECKSUM}
|
||||
expire_in: 1 week
|
||||
########################################################################################################################
|
||||
####END#### WINDOWS ####END####
|
||||
########################################################################################################################
|
||||
####START#### MACOS ####START####
|
||||
########################################################################################################################
|
||||
build:mac:
|
||||
build:macos:
|
||||
stage: build
|
||||
tags: ["High Sierra"]
|
||||
cache:
|
||||
@@ -115,18 +93,13 @@ build:mac:
|
||||
- depends/built
|
||||
script:
|
||||
- zcutil/build-mac.sh -j$(sysctl -n hw.physicalcpu)
|
||||
- ./makeReleaseMac.sh
|
||||
- tar -czvf ${VERUS_CLI_MACOS} verus-cli
|
||||
- md5sum ${VERUS_CLI_MACOS} > ${VERUS_CLI_MACOS}.md5
|
||||
- curl -F file=@"${VERUS_CLI_MACOS}"
|
||||
-F channels="${CLI_POST_CHANNEL}"
|
||||
-F initial_comment="${POST_MESSAGE}"
|
||||
-H "${SLACK_BOT_AUTH}"
|
||||
"https://slack.com/api/files.upload"
|
||||
- ./makeRelease.sh ${PACKAGE_DIR_MACOS}
|
||||
- tar -czvf ${AGAMA_ARTIFACTS_MACOS} ${PACKAGE_DIR_MACOS}
|
||||
- md5sum ${AGAMA_ARTIFACTS_MACOS} > ${AGAMA_ARTIFACTS_MACOS_CHECKSUM}
|
||||
artifacts:
|
||||
paths:
|
||||
- ${VERUS_CLI_MACOS}
|
||||
- ${VERUS_CLI_MACOS}.md5
|
||||
- ${AGAMA_ARTIFACTS_MACOS}
|
||||
- ${AGAMA_ARTIFACTS_MACOS_CHECKSUM}
|
||||
expire_in: 1 week
|
||||
########################################################################################################################
|
||||
####END#### MACOS ####END####
|
||||
@@ -137,13 +110,13 @@ build:mac:
|
||||
########################################################################################################################
|
||||
########################################################################################################################
|
||||
########################################################################################################################
|
||||
####START#### Test stage: Test functionality of komodo binaries. Produce code quality and SAST reports. ####START####
|
||||
####START#### Test stage: Produce code quality and static application security test reports. ####START####
|
||||
########################################################################################################################
|
||||
########################################################################################################################
|
||||
########################################################################################################################
|
||||
####START#### Code Quality ####START####
|
||||
########################################################################################################################
|
||||
.code_quality:
|
||||
code_quality:
|
||||
image: docker:stable
|
||||
variables:
|
||||
DOCKER_DRIVER: overlay2
|
||||
@@ -165,7 +138,7 @@ build:mac:
|
||||
########################################################################################################################
|
||||
####START#### Static Application Security Tests ####START####
|
||||
########################################################################################################################
|
||||
.sast:
|
||||
sast:
|
||||
image: docker:stable
|
||||
variables:
|
||||
DOCKER_DRIVER: overlay2
|
||||
@@ -185,149 +158,7 @@ build:mac:
|
||||
####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 libcurl4-gnutls-dev python
|
||||
- rm -rf /root/.komodo || true
|
||||
- mv .komodo /root/ || true
|
||||
script:
|
||||
- tar -xzvf ${VERUS_CLI_LINUX}
|
||||
- export PATH=$PATH:$CI_PROJECT_DIR/verus-cli
|
||||
- python qa/verus-cli-tests/verus-cli-tester.py
|
||||
after_script:
|
||||
- mv /root/.komodo ./ || true
|
||||
cache:
|
||||
key: ${CI_JOB_NAME}
|
||||
paths: [.komodo]
|
||||
artifacts:
|
||||
paths: [log.txt]
|
||||
expire_in: 1 week
|
||||
dependencies:
|
||||
- build:linux
|
||||
########################################################################################################################
|
||||
####END#### Run Verus CLI on Ubuntu Xenial (16.04) ####END####
|
||||
####END#### Test stage ####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 libcurl4-gnutls-dev python
|
||||
- rm -rf /root/.komodo || true
|
||||
- mv .komodo /root/ || true
|
||||
script:
|
||||
- tar -xzvf ${VERUS_CLI_LINUX}
|
||||
- export PATH=$PATH:$CI_PROJECT_DIR/verus-cli
|
||||
- python qa/verus-cli-tests/verus-cli-tester.py
|
||||
after_script:
|
||||
- mv /root/.komodo ./ || true
|
||||
cache:
|
||||
key: ${CI_JOB_NAME}
|
||||
paths: [.komodo]
|
||||
artifacts:
|
||||
paths: [log.txt]
|
||||
expire_in: 1 week
|
||||
dependencies:
|
||||
- build:linux
|
||||
########################################################################################################################
|
||||
####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:
|
||||
- tar -xzvf $VERUS_CLI_MACOS
|
||||
- export PATH=$PATH:$CI_PROJECT_DIR/verus-cli
|
||||
- python qa/verus-cli-tests/verus-cli-tester.py
|
||||
artifacts:
|
||||
paths: [log.txt]
|
||||
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"]
|
||||
script:
|
||||
- tar -xzvf ${VERUS_CLI_MACOS}
|
||||
- export PATH=$PATH:$CI_PROJECT_DIR/verus-cli
|
||||
- python qa/verus-cli-tests/verus-cli-tester.py
|
||||
artifacts:
|
||||
paths: [log.txt]
|
||||
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"]
|
||||
script:
|
||||
- PowerShell Expand-Archive -Path %VERUS_CLI_WINDOWS% -DestinationPath %CI_PROJECT_DIR%
|
||||
- set PATH=%PATH%;%CI_PROJECT_DIR%\verus-cli
|
||||
- qa\verus-cli-tests\verus-cli-tester.py
|
||||
artifacts:
|
||||
paths: [log.txt]
|
||||
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
|
||||
variables:
|
||||
DOCKER_DRIVER: overlay2
|
||||
dependencies:
|
||||
- build:linux
|
||||
- build:windows
|
||||
- build:mac
|
||||
script:
|
||||
- mkdir Windows && mkdir Linux && mkdir MacOS &&
|
||||
mv ${VERUS_CLI_WINDOWS} Windows &&
|
||||
mv ${VERUS_CLI_LINUX} Linux &&
|
||||
mv ${VERUS_CLI_MACOS} MacOS
|
||||
- echo "$AUTH_KEY" > AUTH_KEY.json &&
|
||||
gcloud auth activate-service-account
|
||||
--key-file AUTH_KEY.json
|
||||
- gsutil cp -r Windows Linux MacOS $STAGING/${CI_PROJECT_NAME}/${CI_COMMIT_REF_NAME}/
|
||||
- curl -X POST
|
||||
-F token="$CI_JOB_TOKEN"
|
||||
-F ref="$DOWNSTREAM_AGAMA_BRANCH"
|
||||
-F variables\[UPSTREAM_TRIGGER_INFO\]="${POST_MESSAGE}"
|
||||
-F variables\[VERUS_CLI_LINUX\]="${VERUS_CLI_LINUX}"
|
||||
-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####
|
||||
########################################################################################################################
|
||||
|
||||
Reference in New Issue
Block a user