forked from hush/hush3
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.
283 lines
7.6 KiB
283 lines
7.6 KiB
stages:
|
|
- build
|
|
- test
|
|
- deploy
|
|
|
|
|
|
variables:
|
|
VERSION: 0.3.14
|
|
VERUS_CLI_LINUX: "Verus-CLI-Linux-v${VERSION}-beta.tar.gz"
|
|
VERUS_CLI_WINDOWS: "Verus-CLI-Windows-v${VERSION}-beta.zip"
|
|
VERUS_CLI_MACOS: "Verus-CLI-MacOS-v${VERSION}-beta.tar.gz"
|
|
POST_COMMENT: "Branch and Commit: ${CI_COMMIT_REF_NAME} ${CI_COMMIT_SHA} $'\n'MD5: "
|
|
|
|
|
|
build:linux:
|
|
image: asherd/veruscoin-cross-compiler:linux
|
|
variables:
|
|
DOCKER_DRIVER: overlay2
|
|
stage: build
|
|
before_script: # Setup Cache
|
|
- rm -rf /root/.ccache || true
|
|
- mv .ccache /root/ || true
|
|
script:
|
|
- zcutil/build.sh -j$(nproc)
|
|
- cp src/komodod src/komodo-cli kmd/linux/verus-cli
|
|
- chmod +x kmd/linux/verus-cli/komodod
|
|
- chmod +x kmd/linux/verus-cli/komodo-cli
|
|
- chmod +x kmd/linux/verus-cli/verus
|
|
- chmod +x kmd/linux/verus-cli/verusd
|
|
- chmod +x kmd/linux/verus-cli/fetch-params
|
|
- dos2unix kmd/linux/verus-cli/README.txt
|
|
- cd kmd/linux/
|
|
- tar -czvf $VERUS_CLI_LINUX verus-cli
|
|
- mv $VERUS_CLI_LINUX ../..
|
|
- cd ../..
|
|
- export VERUS_CLI_LINUX_MD5=$(md5sum $VERUS_CLI_LINUX | cut -d " " -f 1)
|
|
- curl -F file=@"$VERUS_CLI_LINUX"
|
|
-F channels="$CLI_POST_CHANNEL"
|
|
-F initial_comment="${POST_COMMENT}$VERUS_CLI_LINUX_MD5"
|
|
-H "${SLACK_BOT_AUTH}"
|
|
"https://slack.com/api/files.upload"
|
|
after_script:
|
|
- mv /root/.ccache ./ || true
|
|
cache:
|
|
key: ${CI_JOB_NAME}
|
|
paths:
|
|
- depends/built
|
|
- .ccache
|
|
artifacts:
|
|
paths:
|
|
- $VERUS_CLI_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
|
|
- mkdir .cargo || echo .cargo exists
|
|
- ln -s $PWD/.cargo /root/.cargo
|
|
script:
|
|
- zcutil/build-win.sh -j$(nproc)
|
|
- cp src/komodod.exe src/komodo-cli.exe src/komodo-tx.exe kmd/windows/verus-cli
|
|
- cd kmd/windows/
|
|
- zip -r $VERUS_CLI_WINDOWS verus-cli
|
|
- mv $VERUS_CLI_WINDOWS ../..
|
|
- cd ../..
|
|
- export VERUS_CLI_WINDOWS_MD5=$(md5sum $VERUS_CLI_WINDOWS | cut -d " " -f 1)
|
|
- curl -F file=@"$VERUS_CLI_WINDOWS"
|
|
-F channels="$CLI_POST_CHANNEL"
|
|
-F initial_comment="${POST_COMMENT}$VERUS_CLI_WINDOWS_MD5"
|
|
-H "${SLACK_BOT_AUTH}"
|
|
"https://slack.com/api/files.upload"
|
|
artifacts:
|
|
paths: [$VERUS_CLI_WINDOWS]
|
|
expire_in: 1 week
|
|
|
|
|
|
build:mac:
|
|
stage: build
|
|
tags: ["High Sierra"]
|
|
cache:
|
|
key: ${CI_JOB_NAME}
|
|
paths:
|
|
- depends/built
|
|
script:
|
|
- brew bundle
|
|
- zcutil/build-mac.sh -j$(sysctl -n hw.physicalcpu) | xcpretty
|
|
- ./makeReleaseMac.sh
|
|
- dos2unix kmd/mac/verus-cli/README.txt
|
|
- tar -C kmd/mac/ -czvf $VERUS_CLI_MACOS verus-cli ./
|
|
- export VERUS_CLI_MACOS_MD5=$(md5sum $VERUS_CLI_MACOS | cut -d " " -f 1)
|
|
- curl -F file=@"$VERUS_CLI_MACOS"
|
|
-F channels="$CLI_POST_CHANNEL"
|
|
-F initial_comment="${POST_COMMENT}$VERUS_CLI_MACOS_MD5"
|
|
-H "${SLACK_BOT_AUTH}"
|
|
"https://slack.com/api/files.upload"
|
|
artifacts:
|
|
paths: [$VERUS_CLI_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]
|
|
|
|
|
|
.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:
|
|
image: ubuntu:xenial
|
|
variables:
|
|
DOCKER_DRIVER: overlay2
|
|
stage: test
|
|
before_script:
|
|
- apt update && apt install -y wget g++-multilib libcurl3 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
|
|
|
|
|
|
.ubuntu:bionic:
|
|
image: ubuntu:bionic
|
|
variables:
|
|
DOCKER_DRIVER: overlay2
|
|
stage: test
|
|
before_script:
|
|
- apt update && apt install -y wget g++-multilib libcurl3 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
|
|
|
|
|
|
.osx:sierra: # fetch-params.sh needs to be fixed for MacOS
|
|
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
|
|
|
|
|
|
.osx:high-sierra: # fetch-params.sh needs to be fixed for MacOS
|
|
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
|
|
|
|
|
|
.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
|
|
|
|
|
|
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/VerusCoin/$CI_COMMIT_REF_NAME/
|
|
- curl -X POST
|
|
-F token="$CI_JOB_TOKEN"
|
|
-F ref=dev
|
|
-F variables\[UPSTREAM_CLI_BRANCH\]="$CI_COMMIT_REF_NAME"
|
|
-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"
|
|
|