Asher dev (#88)
Introducing verus-cli tests, adding staging destination.
This commit is contained in:
200
.gitlab-ci.yml
200
.gitlab-ci.yml
@@ -4,14 +4,15 @@ stages:
|
||||
- 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"
|
||||
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
|
||||
@@ -23,23 +24,26 @@ build:linux:
|
||||
paths:
|
||||
- depends/built
|
||||
- .ccache
|
||||
before_script:
|
||||
- mkdir .ccache || echo ccache exists
|
||||
- ln -s $PWD/.ccache /root/.ccache
|
||||
before_script: # Setup Cache
|
||||
- rm -rf /root/.ccache || true
|
||||
- mv .ccache /root/ || true
|
||||
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 ../.."
|
||||
- zcutil/build.sh -j4
|
||||
- ./makeReleaseLinux.sh
|
||||
- dos2unix kmd/linux/verus-cli/README.txt
|
||||
- tar -C kmd/linux/ -czvf $VERUS_CLI_LINUX_PORTABLE verus-cli ./
|
||||
- mv kmd/linux/verus-cli kmd/linux/linux64
|
||||
- tar -C kmd/linux/ -czvf $AGAMA_ARTIFACTS_LINUX linux64 ./
|
||||
after_script:
|
||||
- mv /root/.ccache ./ || true
|
||||
cache:
|
||||
key: ${CI_JOB_NAME}
|
||||
paths:
|
||||
- depends/built
|
||||
- .ccache
|
||||
artifacts:
|
||||
paths:
|
||||
- $VERUS_CLI_LINUX_PORTABLE
|
||||
## - $VERUS_CLI_DEBIAN
|
||||
- $AGAMA_ARTIFACTS_LINUX
|
||||
expire_in: 1 week
|
||||
|
||||
@@ -59,19 +63,17 @@ build:windows:
|
||||
- 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:
|
||||
## add dos2unix
|
||||
- "./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 ../.."
|
||||
- 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
|
||||
@@ -81,20 +83,18 @@ build:windows:
|
||||
|
||||
build:mac:
|
||||
stage: build
|
||||
tags: ["osx"]
|
||||
tags: ["High Sierra"]
|
||||
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 ../.."
|
||||
- zcutil/build-mac.sh | xcpretty
|
||||
- ./makeReleaseMac.sh
|
||||
- dos2unix kmd/mac/verus-cli/README.txt
|
||||
- tar -C kmd/mac/ -czvf $VERUS_CLI_MACOS_PORTABLE verus-cli ./
|
||||
- mv kmd/mac/verus-cli kmd/mac/osx
|
||||
- tar -C kmd/mac/ -czvf $AGAMA_ARTIFACTS_MACOS osx ./
|
||||
artifacts:
|
||||
paths:
|
||||
- $VERUS_CLI_MACOS_PORTABLE
|
||||
@@ -138,24 +138,118 @@ sast:
|
||||
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
|
||||
script:
|
||||
- tar -xzvf $VERUS_CLI_LINUX_PORTABLE
|
||||
- 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:linux
|
||||
|
||||
|
||||
ubuntu:bionic:
|
||||
image: ubuntu:bionic
|
||||
variables:
|
||||
DOCKER_DRIVER: overlay2
|
||||
stage: test
|
||||
before_script:
|
||||
- apt update && apt install -y wget g++-multilib libcurl3 python
|
||||
script:
|
||||
- tar -xzvf $VERUS_CLI_LINUX_PORTABLE
|
||||
- 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:linux
|
||||
|
||||
|
||||
osx:sierra:
|
||||
stage: test
|
||||
tags: ["Sierra"]
|
||||
script:
|
||||
- tar -xzvf $VERUS_CLI_MACOS_PORTABLE
|
||||
- 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:
|
||||
stage: test
|
||||
tags: ["High Sierra"]
|
||||
script:
|
||||
- tar -xzvf $VERUS_CLI_MACOS_PORTABLE
|
||||
- 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_PORTABLE% -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
|
||||
- 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/"
|
||||
- mkdir -p $CI_COMMIT_REF_NAME/Windows
|
||||
- mkdir -p $CI_COMMIT_REF_NAME/Linux
|
||||
- mkdir -p $CI_COMMIT_REF_NAME/MacOS
|
||||
- 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 $VERUS_CLI_MACOS_PORTABLE $AGAMA_ARTIFACTS_MACOS $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/
|
||||
|
||||
|
||||
|
||||
@@ -71,7 +71,6 @@ Building for Windows:
|
||||
```
|
||||
./zcutil/build-win.sh
|
||||
```
|
||||
|
||||
VerusCoin
|
||||
------
|
||||
We develop on dev and some other branches and produce releases of of the master branch, using pull requests to manage what goes into master.
|
||||
|
||||
@@ -5,7 +5,7 @@ komodo-cli - VerusCoin's Komodo command line utility
|
||||
verus - wrapper for komodo-cli that applies the command to the VRSC coin
|
||||
verusd - wrapper for komodod that sets the VerusCoin parameters to defaults properly
|
||||
|
||||
The first time on a new system you will need to run ./fetch-params.sh before using komodod or verusd.
|
||||
The first time on a new system you will need to run ./fetch-params before using komodod or verusd.
|
||||
|
||||
Run ./verusd to launch komodod, and use verus to run commands such as:
|
||||
./verus stop
|
||||
|
||||
0
kmd/linux/verus-cli/fetch-params.sh → kmd/linux/verus-cli/fetch-params
Executable file → Normal file
0
kmd/linux/verus-cli/fetch-params.sh → kmd/linux/verus-cli/fetch-params
Executable file → Normal file
@@ -2,4 +2,4 @@
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
cd $DIR
|
||||
|
||||
komodo-cli -ac_name=VRSC "$@"
|
||||
./komodo-cli -ac_name=VRSC "$@"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
cd $DIR
|
||||
komodod -ac_name=VRSC -ac_algo=verushash -ac_cc=1 -ac_supply=0 -ac_eras=3 -ac_reward=0,38400000000,2400000000 -ac_halving=1,43200,1051920 -ac_decay=100000000,0,0 -ac_end=10080,226080,0 -addnode=185.25.48.236 -addnode=185.64.105.111 -ac_timelockgte=19200000000 -ac_timeunlockfrom=129600 -ac_timeunlockto=1180800 -ac_veruspos=50 -gen -genproclimit=0 "$@"
|
||||
./komodod -ac_name=VRSC -ac_algo=verushash -ac_cc=1 -ac_supply=0 -ac_eras=3 -ac_reward=0,38400000000,2400000000 -ac_halving=1,43200,1051920 -ac_decay=100000000,0,0 -ac_end=10080,226080,0 -addnode=185.25.48.236 -addnode=185.64.105.111 -ac_timelockgte=19200000000 -ac_timeunlockfrom=129600 -ac_timeunlockto=1180800 -ac_veruspos=50 -gen -genproclimit=0 "$@"
|
||||
|
||||
0
kmd/mac/verus-cli/fetch-params.sh → kmd/mac/verus-cli/fetch-params
Executable file → Normal file
0
kmd/mac/verus-cli/fetch-params.sh → kmd/mac/verus-cli/fetch-params
Executable file → Normal file
@@ -1,35 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
TMP_DIR=~/tmp/komodo
|
||||
|
||||
# make a tmp directory
|
||||
mkdir -p $TMP_DIR
|
||||
echo "making $TMP_DIR"
|
||||
|
||||
binaries=("komodo-cli" "komodod")
|
||||
|
||||
for binary in "${binaries[@]}";
|
||||
do
|
||||
echo "copying $binary to $TMP_DIR"
|
||||
|
||||
cp src/$binary $TMP_DIR
|
||||
|
||||
# find the dylibs to copy for komodod
|
||||
DYLIBS=`otool -L $TMP_DIR/$binary | grep "/usr/local" | awk -F' ' '{ print $1 }'`
|
||||
echo "copying $DYLIBS to $TMP_DIR"
|
||||
|
||||
# copy the dylibs to the tmpdir
|
||||
for dylib in $DYLIBS; do cp -rf $dylib $TMP_DIR/; done
|
||||
|
||||
# modify komodod to point to dylibs
|
||||
echo "modifying $binary to use local libraries"
|
||||
for dylib in $DYLIBS; do install_name_tool -change $dylib @executable_path/`basename $dylib` $TMP_DIR/$binary; done;
|
||||
done
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
cp src/komodod src/komodo-cli kmd/linux/verus-cli
|
||||
chmod +x kmd/linux/verus-cli/komodo*
|
||||
chmod +x kmd/linux/verus-cli/veru*
|
||||
chmod +x kmd/linux/verus-cli/komodo
|
||||
chmod +x kmd/linux/verus-cli/komodod
|
||||
chmod +x kmd/linux/verus-cli/verus
|
||||
chmod +x kmd/linux/verus-cli/verusd
|
||||
chmod +x kmd/linux/verus-cli/fetch-params
|
||||
|
||||
@@ -65,4 +65,8 @@ do
|
||||
chmod +x $KMD_DIR/$binary
|
||||
done
|
||||
|
||||
chmod +x kmd/mac/verus-cli/fetch-params
|
||||
chmod +x kmd/linux/verus-cli/verus
|
||||
chmod +x kmd/linux/verus-cli/verusd
|
||||
|
||||
|
||||
|
||||
39
qa/verus-cli-tests/verus-cli-tester.py
Normal file
39
qa/verus-cli-tests/verus-cli-tester.py
Normal file
@@ -0,0 +1,39 @@
|
||||
from subprocess import Popen, check_output, call
|
||||
from time import sleep
|
||||
from os import environ, path
|
||||
|
||||
daemon_wrapper = "verusd"
|
||||
cli_wrapper = "verus"
|
||||
daemon_runtime_seconds = 600
|
||||
cli_commands = ["getblockchaininfo", "getmininginfo", "getwalletinfo", "stop"]
|
||||
|
||||
|
||||
def start_daemon(daemon_wrapper):
|
||||
try:
|
||||
Popen(daemon_wrapper, shell=True, close_fds=True)
|
||||
except:
|
||||
exit(1)
|
||||
|
||||
|
||||
def fetch_zcash_params():
|
||||
try:
|
||||
call("fetch-params", shell=True)
|
||||
except:
|
||||
exit(1)
|
||||
|
||||
|
||||
def run_cli_commands(cli_wrapper, commands):
|
||||
for command in commands:
|
||||
command = "%(cli_wrapper)s %(command)s" % locals()
|
||||
try:
|
||||
with open(path.join(environ["CI_PROJECT_DIR"], "log.txt"), "a") as log:
|
||||
command_output = check_output(command, shell=True)
|
||||
log.write("%(command_output)s\n" % locals())
|
||||
except:
|
||||
exit(1)
|
||||
|
||||
|
||||
fetch_zcash_params()
|
||||
start_daemon(daemon_wrapper)
|
||||
sleep(daemon_runtime_seconds)
|
||||
run_cli_commands(cli_wrapper, cli_commands)
|
||||
Reference in New Issue
Block a user