166 lines
4.5 KiB
YAML
166 lines
4.5 KiB
YAML
include:
|
|
- template: Code-Quality.gitlab-ci.yml
|
|
- template: Dependency-Scanning.gitlab-ci.yml
|
|
- template: License-Scanning.gitlab-ci.yml
|
|
- template: SAST.gitlab-ci.yml
|
|
- template: Secret-Detection.gitlab-ci.yml
|
|
|
|
stages:
|
|
- python-test
|
|
- dockerize
|
|
- build
|
|
- test
|
|
|
|
build-mainnet:
|
|
stage: build
|
|
script:
|
|
- rm -rf .git/modules/docs .git/modules/libraries/fc ./docs ./libraries/fc
|
|
- git submodule sync
|
|
- git submodule update --init --recursive
|
|
- rm -rf build
|
|
- mkdir build
|
|
- cd build
|
|
- cmake -DCMAKE_BUILD_TYPE=Release ..
|
|
- make -j$(nproc)
|
|
artifacts:
|
|
untracked: true
|
|
paths:
|
|
- build/libraries/
|
|
- build/programs/
|
|
- build/tests/
|
|
tags:
|
|
- builder
|
|
when:
|
|
manual
|
|
|
|
test-mainnet:
|
|
stage: test
|
|
dependencies:
|
|
- build-mainnet
|
|
script:
|
|
- ./build/libraries/fc/tests/all_tests
|
|
- ./build/tests/betting_test --log_level=message
|
|
- ./build/tests/chain_test --log_level=message
|
|
- ./build/tests/cli_test --log_level=message
|
|
tags:
|
|
- builder
|
|
|
|
dockerize-mainnet:
|
|
stage: dockerize
|
|
variables:
|
|
IMAGE: $CI_REGISTRY_IMAGE/mainnet/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA
|
|
before_script:
|
|
- docker info
|
|
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
|
- df -BM $pwd
|
|
script:
|
|
- docker images
|
|
- docker builder prune -a -f
|
|
- docker build --no-cache -t $IMAGE .
|
|
- docker images
|
|
- docker push $IMAGE
|
|
after_script:
|
|
- docker rmi $IMAGE
|
|
- docker images
|
|
tags:
|
|
- builder
|
|
timeout:
|
|
3h
|
|
|
|
test-e2e:
|
|
stage: python-test
|
|
before_script:
|
|
- docker info
|
|
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
|
script:
|
|
- git clone https://gitlab.com/PBSA/tools-libs/peerplays-utils.git
|
|
- pwd
|
|
- cd peerplays-utils/peerplays-qa-environment
|
|
- FULL_PWD=$(pwd)
|
|
- cd e2e-tests/
|
|
- python3 -m venv venv
|
|
- source venv/bin/activate
|
|
- pip3 install -r requirements.txt
|
|
- docker ps -a
|
|
- docker stop $(docker ps -a -q)
|
|
- docker rm $(docker ps -aq)
|
|
- python3 main.py --stop
|
|
- docker ps -a
|
|
- python3 main.py --start btc hive
|
|
- docker ps -a
|
|
- python3 -m pytest test_btc_init_state.py test_hive_inital_state.py
|
|
- docker pull registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c
|
|
- ls -la $FULL_PWD/peerplays/config.ini
|
|
- ls -la $FULL_PWD/peerplays/genesis.json
|
|
- ls -la $FULL_PWD/peerplays/init_network.sh
|
|
- PP_CONTAINER_ID=$(docker run -d -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init_network.sh registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c)
|
|
- echo Milo
|
|
- echo $PP_CONTAINER_ID
|
|
- echo Milos
|
|
- docker ps -a
|
|
- docker exec $PP_CONTAINER_ID sh -c ./init-network.sh
|
|
- python3 -m pytest test_pp_inital_state.py
|
|
- ./main.py --stop
|
|
- deactivate
|
|
- docker ps -a
|
|
tags:
|
|
- python-tests
|
|
|
|
build-testnet:
|
|
stage: build
|
|
script:
|
|
- rm -rf .git/modules/docs .git/modules/libraries/fc ./docs ./libraries/fc
|
|
- git submodule sync
|
|
- git submodule update --init --recursive
|
|
- rm -rf build
|
|
- mkdir build
|
|
- cd build
|
|
- cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_PEERPLAYS_TESTNET=1 ..
|
|
- make -j$(nproc)
|
|
artifacts:
|
|
untracked: true
|
|
paths:
|
|
- build/libraries/
|
|
- build/programs/
|
|
- build/tests/
|
|
tags:
|
|
- builder
|
|
when:
|
|
manual
|
|
timeout:
|
|
3h
|
|
|
|
test-testnet:
|
|
stage: test
|
|
dependencies:
|
|
- build-testnet
|
|
script:
|
|
- ./build/libraries/fc/tests/all_tests
|
|
- ./build/tests/betting_test --log_level=message
|
|
- ./build/tests/chain_test --log_level=message
|
|
- ./build/tests/cli_test --log_level=message
|
|
tags:
|
|
- builder
|
|
when:
|
|
manual
|
|
timeout:
|
|
1h
|
|
|
|
dockerize-testnet:
|
|
stage: dockerize
|
|
variables:
|
|
IMAGE: $CI_REGISTRY_IMAGE/testnet/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA
|
|
before_script:
|
|
- docker info
|
|
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
|
script:
|
|
- docker build --no-cache -t $IMAGE .
|
|
- docker push $IMAGE
|
|
after_script:
|
|
- docker rmi $IMAGE
|
|
tags:
|
|
- builder
|
|
when:
|
|
manual
|
|
timeout:
|
|
3h
|