sudo: true language: go go: - 1.9.2 go_import_path: github.com/vmware/harbor services: - docker dist: trusty env: POSTGRESQL_HOST: localhost POSTGRESQL_PORT: 5432 POSTGRESQL_USR: postgres POSTGRESQL_PWD: root123 POSTGRESQL_DATABASE: registry ADMINSERVER_URL: http://127.0.0.1:8888 DOCKER_COMPOSE_VERSION: 1.7.1 HARBOR_ADMIN: admin HARBOR_ADMIN_PASSWD: Harbor12345 UI_SECRET: tempString MAX_JOB_WORKERS: 3 AUTH_MODE: db_auth SELF_REGISTRATION: on KEY_PATH: /data/secretkey REDIS_HOST: localhost before_install: - sudo ./tests/hostcfg.sh - sudo ./tests/generateCerts.sh - sudo ./make/prepare - sudo mkdir -p "/data/redis" install: - sudo apt-get update && sudo apt-get install -y libldap2-dev - sudo apt-get install -y sqlite3 # - sudo apt-get remove -y mysql-common mysql-server-5.5 mysql-server-core-5.5 mysql-client-5.5 mysql-client-core-5.5 # - sudo apt-get autoremove -y # - sudo apt-get install -y libaio1 # - wget -O mysql-5.6.14.deb http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.14-debian6.0-x86_64.deb/from/http://cdn.mysql.com/ # - sudo dpkg -i mysql-5.6.14.deb # - sudo cp /opt/mysql/server-5.6/support-files/mysql.server /etc/init.d/mysql.server # - sudo ln -s /opt/mysql/server-5.6/bin/* /usr/bin/ # - sudo sed -i'' 's/table_cache/table_open_cache/' /etc/mysql/my.cnf # - sudo sed -i'' 's/log_slow_queries/slow_query_log/' /etc/mysql/my.cnf # - sudo sed -i'' 's/basedir[^=]\+=.*$/basedir = \/opt\/mysql\/server-5.6/' /etc/mysql/my.cnf # - sudo /etc/init.d/mysql.server start # - mysql --version - go get -d github.com/docker/distribution - go get -d github.com/docker/libtrust - go get -d github.com/lib/pq - go get github.com/golang/lint/golint - go get github.com/GeertJohan/fgt # - sudo rm /usr/local/bin/docker-compose - curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose - chmod +x docker-compose - sudo mv docker-compose /usr/local/bin - IP=`ip addr s eth0 |grep "inet "|awk '{print $2}' |awk -F "/" '{print $1}'` - sudo sed -i '$a DOCKER_OPTS=\"--insecure-registry '$IP':5000\"' /etc/default/docker - sudo service docker restart - go get github.com/dghubble/sling - go get github.com/stretchr/testify - go get golang.org/x/tools/cmd/cover - go get github.com/mattn/goveralls before_script: # create tables and load data # - mysql < ./make/db/registry.sql -uroot --verbose # - sudo chmod 777 /tmp/registry.db script: - sudo mkdir -p /etc/ui/ca/ - sudo mv ./tests/ca.crt /etc/ui/ca/ - sudo mkdir -p /harbor - sudo mv ./VERSION /harbor/UIVERSION - sudo service postgresql stop - sudo make run_clarity_ut CLARITYIMAGE=vmware/harbor-clarity-ui-builder:1.4.1 - cat ./src/ui_ng/npm-ut-test-results - sudo ./tests/testprepare.sh - sudo make -f make/photon/Makefile _build_db _build_registry -e VERSIONTAG=dev -e CLAIRDBVERSION=dev -e REGISTRYVERSION=v2.6.2 - sudo sed -i 's/__reg_version__/v2.6.2-dev/g' ./make/docker-compose.test.yml - sudo sed -i 's/__version__/dev/g' ./make/docker-compose.test.yml - sudo mkdir -p ./make/common/config/registry/ - sudo mv ./tests/reg_config.yml ./make/common/config/registry/config.yml - sudo docker-compose -f ./make/docker-compose.test.yml up -d - go list ./... | grep -v -E 'vendor|tests|test' | xargs -L1 fgt golint - go list ./... | grep -v -E 'vendor|tests|test' | xargs -L1 go vet - export POSTGRESQL_HOST=$IP - export REGISTRY_URL=$IP:5000 - echo $REGISTRY_URL - ./tests/pushimage.sh - cd tests - sudo ./ldapprepare.sh - sudo ./admiral.sh - cd .. - go test -race -i ./src/ui ./src/adminserver ./src/jobservice - sudo -E env "PATH=$PATH" "POSTGRES_MIGRATION_SCRIPTS_PATH=/home/travis/gopath/src/github.com/vmware/harbor/make/migrations/postgresql/" ./tests/coverage4gotest.sh - goveralls -coverprofile=profile.cov -service=travis-ci - docker-compose -f make/docker-compose.test.yml down - sudo rm -rf /data/config/* - sudo rm -rf /data/database/* - ls /data/cert - sudo make install GOBUILDIMAGE=golang:1.9.2 COMPILETAG=compile_golangimage CLARITYIMAGE=vmware/harbor-clarity-ui-builder:1.4.1 NOTARYFLAG=true CLAIRFLAG=true - sleep 10 - docker ps - ./tests/validatecontainers.sh - ./tests/notarytest.sh - ./tests/swaggerchecker.sh - ./tests/startuptest.sh - ./tests/userlogintest.sh ${HARBOR_ADMIN} ${HARBOR_ADMIN_PASSWD} - export REDIS_HOST=$IP # - sudo ./tests/testprepare.sh # - go test -v ./tests/apitests