Newer
Older
################################################################################
## Copyright © 2018 Privategrity Corporation #
## #
## All rights reserved. #
################################################################################
# This drives all the integration tests. When you create a new test, add it as a
# new stage to this file. The stage should have a very clear report and may need
# to run a couple commands to publish.
cache:
untracked: true
key: "$CI_BUILD_REF_NAME"
# paths:
# - vendor/
variables:
REPO_NAME: server
DOCKER_IMAGE: bmastc/golang-glide:latest
# See https://docs.gitlab.com/ee/api/jobs.html#download-a-single-artifact-file-from-specific-tag-or-branch
REPOS_API: https://gitlab.com/api/v4/projects/elixxir%2F
SERVER_URL: ${REPOS_API}server/jobs/artifacts/$SERVER_ID/raw/release/server.linux64?job=build
CLIENT_URL: ${REPOS_API}client/jobs/artifacts/$CLIENT_ID/raw/release/client.linux64?job=build
REGISTRATION_URL: ${REPOS_API}registration/jobs/artifacts/$REGISTRATION_ID/raw/release/registration.linux64?job=build
UDB_URL: ${REPOS_API}user-discovery-bot/jobs/artifacts/$UDB_ID/raw/release/udb.linux64?job=build
GATEWAY_URL: ${REPOS_API}gateway/jobs/artifacts/$GATEWAY_ID/raw/release/gateway.linux64?job=build
DEFAULTBRANCH: "release"
before_script:
##
## Go Setup
##
Rick Carback
committed
## - go version || echo "Go executable not found."
## - mkdir -p $GOPATH/src/$REPO_DIR
## - ln -s $CI_PROJECT_DIR $GOPATH/src/$REPO_DIR/$REPO_NAME
## - cd $GOPATH/src/$REPO_DIR/$REPO_NAME
- echo $CI_BUILD_REF
- echo $CI_PROJECT_DIR
- echo $CI_BUILD_REF_NAME
stages:
- installbinaries
installbinaries:
stage: installbinaries
image: $DOCKER_IMAGE
script:
- mkdir -p ~/.elixxir
- mkdir -p bin
- cd bin
- "DOWNLOADS=\"$SERVER_URL $CLIENT_URL $REGISTRATION_URL $UDB_URL $GATEWAY_URL\""
- >
if [ "$CI_BUILD_REF_NAME" == "master" ]; then
DOWNLOADS=$(echo $DOWNLOADS | sed "s/artifacts\/$DEFAULTBRANCH\/raw/artifacts\/master\/raw/g")
echo $D
curl -f -O -s -L -H "PRIVATE-TOKEN: $PATKEY" $D
- ls -lha
- mv server.linux64?job=build server
- mv client.linux64?job=build client
- mv udb.linux64?job=build udb
- mv registration.linux64?job=build permissioning
- mv gateway.linux64?job=build gateway
- "chmod +x *"
- cd ..
- bin/server --version
- bin/client --version
- bin/udb --version
- bin/gateway --version
artifacts:
when: always
paths:
- bin/
basice2e:
image: $DOCKER_IMAGE
script:
- mkdir -p ~/.elixxir
artifacts:
- bin/
Rick Carback
committed
# NOTE: This was removed because of port conflicts with the base test. Instead
# we run in TLS mode by default and disable this version
# basice2eTLS:
# stage: tests
# image: $DOCKER_IMAGE
# script:
# - mkdir -p ~/.elixxir
# - echo $PWD
# - cd basice2e
# - for CONFIG in $(echo *.yaml); do echo $CONFIG; sed -i 's/cert\:\ \"\"/cert\:\ \"\.\.\/keys\/cmix\.rip\.crt\"/g' $CONFIG; sed -i 's/key\:\ \ \"\"/key\:\ \ \"\.\.\/keys\/cmix\.rip\.key\"/g' $CONFIG; done
# - for CONFIG in $(echo *.yaml); do echo $CONFIG; sed -i 's/ertPath\:\ \"\"/ertPath\:\ \"\.\.\/keys\/cmix\.rip\.crt\"/g' $CONFIG; sed -i 's/keyPath\:\ \"\"/keyPath\:\ \"\.\.\/keys\/cmix\.rip\.key\"/g' $CONFIG; done
# - sed -i "s/\"Tls\_certificate\"\:\ \"\"/\"Tls\_certificate\"\:\ \"$(awk -v ORS='\\n' '1' ../keys/cmix.rip.crt | sed -e 's/[\/&]/\\&/g')\"/g" ndf.json
# - sed -i 's/\-\-noTLS//g' run.sh
# - ./run.sh
# - cd ..
# artifacts:
# when: always
# paths:
# - basice2e/
# - bin/
image: $DOCKER_IMAGE
script:
- mkdir -p ~/.elixxir
- echo $PWD
- cd smokeinfra
- ./run.sh
- cd ..
artifacts:
when: always
paths:
- smokeinfra/results/
- bin/
smokeinfraBatch4:
image: $DOCKER_IMAGE
script:
- mkdir -p ~/.elixxir
- echo $PWD
- cd smokeinfra
- git checkout -- .
- ./run.sh
- cd ..
artifacts:
when: always
paths:
- smokeinfra/results/
- bin/
Rick Carback
committed
# smokeinfraBatch1:
# stage: tests
# image: $DOCKER_IMAGE
# script:
# - mkdir -p ~/.elixxir
# - echo $PWD
# - cd smokeinfra
# - git checkout -- .
# - sed -i 's/\ 42/\ 1/g' *.yaml
# - ./run.sh
# - cd ..
# artifacts:
# when: always
# paths:
# - smokeinfra/results/
# - bin/
benchmark:
stage: benchmark
image: $DOCKER_IMAGE
script:
# These take about 2 minutes each right now, so 16 total
- ./bin/server benchmark -b 1024 -n 1 -i 4
- ./bin/server benchmark -b 1024 -n 5 -i 1
artifacts:
when: always
paths:
- bin/