mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-16 23:35:20 +01:00
ff50e2363d
CI job timeout is 60 minutes, but proxy cache case timeout is 20 minutes, once proxy cache case is timeout, it will reach CI job timeout, then cause CI job terminated by timeout without running rest of test steps, expecially uploading useful harbor logs, so move this test into a new clean job for saving time and debugging. Signed-off-by: danfengliu <danfengl@vmware.com>
351 lines
11 KiB
YAML
351 lines
11 KiB
YAML
name: CI
|
|
env:
|
|
POSTGRESQL_HOST: localhost
|
|
POSTGRESQL_PORT: 5432
|
|
POSTGRESQL_USR: postgres
|
|
POSTGRESQL_PWD: root123
|
|
POSTGRESQL_DATABASE: registry
|
|
DOCKER_COMPOSE_VERSION: 1.23.0
|
|
HARBOR_ADMIN: admin
|
|
HARBOR_ADMIN_PASSWD: Harbor12345
|
|
CORE_SECRET: tempString
|
|
KEY_PATH: "/data/secret/keys/secretkey"
|
|
REDIS_HOST: localhost
|
|
REG_VERSION: v2.7.1-patch-2819-2553
|
|
UI_BUILDER_VERSION: 1.6.0
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
paths-ignore:
|
|
- 'docs/**'
|
|
|
|
jobs:
|
|
UTTEST:
|
|
env:
|
|
UTTEST: true
|
|
runs-on:
|
|
#- self-hosted
|
|
- ubuntu-latest
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: Set up Go 1.14
|
|
uses: actions/setup-go@v1
|
|
with:
|
|
go-version: 1.14.7
|
|
id: go
|
|
- name: setup Docker
|
|
uses: docker-practice/actions-setup-docker@0.0.1
|
|
with:
|
|
docker_version: 18.09
|
|
docker_channel: stable
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
path: src/github.com/goharbor/harbor
|
|
- name: setup env
|
|
run: |
|
|
cd src/github.com/goharbor/harbor
|
|
pwd
|
|
go env
|
|
echo "GOPATH=$(go env GOPATH):$GITHUB_WORKSPACE" >> $GITHUB_ENV
|
|
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
|
echo "TOKEN_PRIVATE_KEY_PATH=${GITHUB_WORKSPACE}/src/github.com/goharbor/harbor/tests/private_key.pem" >> $GITHUB_ENV
|
|
shell: bash
|
|
- name: before_install
|
|
run: |
|
|
set -x
|
|
cd src/github.com/goharbor/harbor
|
|
pwd
|
|
env
|
|
#sudo apt install -y xvfb
|
|
#xvfb-run ls
|
|
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=`hostname -I | awk '{print $1}'`
|
|
echo '{"insecure-registries" : ["'$IP':5000"]}' | sudo tee /etc/docker/daemon.json
|
|
echo "IP=$IP" >> $GITHUB_ENV
|
|
sudo cp ./tests/harbor_ca.crt /usr/local/share/ca-certificates/
|
|
sudo update-ca-certificates
|
|
sudo service docker restart
|
|
- name: install
|
|
run: |
|
|
cd src/github.com/goharbor/harbor
|
|
env
|
|
df -h
|
|
bash ./tests/showtime.sh ./tests/ci/ut_install.sh
|
|
- name: script
|
|
run: |
|
|
echo IP: $IP
|
|
df -h
|
|
cd src/github.com/goharbor/harbor
|
|
bash ./tests/showtime.sh ./tests/ci/ut_run.sh $IP
|
|
df -h
|
|
- name: Codecov For BackEnd
|
|
uses: codecov/codecov-action@v1
|
|
with:
|
|
file: ./src/github.com/goharbor/harbor/profile.cov
|
|
flags: unittests
|
|
|
|
APITEST_DB:
|
|
env:
|
|
APITEST_DB: true
|
|
runs-on:
|
|
#- self-hosted
|
|
- ubuntu-latest
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: Set up Go 1.14
|
|
uses: actions/setup-go@v1
|
|
with:
|
|
go-version: 1.14.7
|
|
id: go
|
|
- name: setup Docker
|
|
uses: docker-practice/actions-setup-docker@0.0.1
|
|
with:
|
|
docker_version: 18.09
|
|
docker_channel: stable
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
path: src/github.com/goharbor/harbor
|
|
- name: setup env
|
|
run: |
|
|
cd src/github.com/goharbor/harbor
|
|
pwd
|
|
go env
|
|
echo "GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}" >> $GITHUB_ENV
|
|
echo "GOPATH=$(go env GOPATH):$GITHUB_WORKSPACE" >> $GITHUB_ENV
|
|
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
|
echo "TOKEN_PRIVATE_KEY_PATH=${GITHUB_WORKSPACE}/src/github.com/goharbor/harbor/tests/private_key.pem" >> $GITHUB_ENV
|
|
IP=`hostname -I | awk '{print $1}'`
|
|
echo "IP=$IP" >> $GITHUB_ENV
|
|
shell: bash
|
|
- name: before_install
|
|
run: |
|
|
set -x
|
|
cd src/github.com/goharbor/harbor
|
|
pwd
|
|
env
|
|
df -h
|
|
#sudo apt install -y xvfb
|
|
#xvfb-run ls
|
|
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
|
|
- name: install
|
|
run: |
|
|
cd src/github.com/goharbor/harbor
|
|
env
|
|
df -h
|
|
docker system prune -a -f
|
|
bash ./tests/showtime.sh ./tests/ci/api_common_install.sh $IP DB
|
|
- name: script
|
|
run: |
|
|
cd src/github.com/goharbor/harbor
|
|
echo IP: $IP
|
|
df -h
|
|
bash ./tests/showtime.sh ./tests/ci/api_run.sh DB $IP
|
|
df -h
|
|
|
|
APITEST_DB_PROXY_CACHE:
|
|
env:
|
|
APITEST_DB: true
|
|
runs-on:
|
|
#- self-hosted
|
|
- ubuntu-latest
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: Set up Go 1.14
|
|
uses: actions/setup-go@v1
|
|
with:
|
|
go-version: 1.14.7
|
|
id: go
|
|
- name: setup Docker
|
|
uses: docker-practice/actions-setup-docker@0.0.1
|
|
with:
|
|
docker_version: 18.09
|
|
docker_channel: stable
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
path: src/github.com/goharbor/harbor
|
|
- name: setup env
|
|
run: |
|
|
cd src/github.com/goharbor/harbor
|
|
pwd
|
|
go env
|
|
echo "GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}" >> $GITHUB_ENV
|
|
echo "GOPATH=$(go env GOPATH):$GITHUB_WORKSPACE" >> $GITHUB_ENV
|
|
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
|
echo "TOKEN_PRIVATE_KEY_PATH=${GITHUB_WORKSPACE}/src/github.com/goharbor/harbor/tests/private_key.pem" >> $GITHUB_ENV
|
|
IP=`hostname -I | awk '{print $1}'`
|
|
echo "IP=$IP" >> $GITHUB_ENV
|
|
shell: bash
|
|
- name: before_install
|
|
run: |
|
|
set -x
|
|
cd src/github.com/goharbor/harbor
|
|
pwd
|
|
env
|
|
df -h
|
|
#sudo apt install -y xvfb
|
|
#xvfb-run ls
|
|
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
|
|
- name: install
|
|
run: |
|
|
cd src/github.com/goharbor/harbor
|
|
env
|
|
df -h
|
|
docker system prune -a -f
|
|
bash ./tests/showtime.sh ./tests/ci/api_common_install.sh $IP DB
|
|
- name: script
|
|
run: |
|
|
cd src/github.com/goharbor/harbor
|
|
echo IP: $IP
|
|
df -h
|
|
bash ./tests/showtime.sh ./tests/ci/api_run.sh PROXY_CACHE $IP
|
|
df -h
|
|
|
|
APITEST_LDAP:
|
|
env:
|
|
APITEST_LDAP: true
|
|
runs-on:
|
|
#- self-hosted
|
|
- ubuntu-latest
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: Set up Go 1.14
|
|
uses: actions/setup-go@v1
|
|
with:
|
|
go-version: 1.14.7
|
|
id: go
|
|
- name: setup Docker
|
|
uses: docker-practice/actions-setup-docker@0.0.1
|
|
with:
|
|
docker_version: 18.09
|
|
docker_channel: stable
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
path: src/github.com/goharbor/harbor
|
|
- name: setup env
|
|
run: |
|
|
cd src/github.com/goharbor/harbor
|
|
pwd
|
|
go env
|
|
echo "GOPATH=$(go env GOPATH):$GITHUB_WORKSPACE" >> $GITHUB_ENV
|
|
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
|
echo "TOKEN_PRIVATE_KEY_PATH=${GITHUB_WORKSPACE}/src/github.com/goharbor/harbor/tests/private_key.pem" >> $GITHUB_ENV
|
|
IP=`hostname -I | awk '{print $1}'`
|
|
echo "IP=$IP" >> $GITHUB_ENV
|
|
shell: bash
|
|
- name: before_install
|
|
run: |
|
|
set -x
|
|
cd src/github.com/goharbor/harbor
|
|
pwd
|
|
env
|
|
df -h
|
|
#sudo apt install -y xvfb
|
|
#xvfb-run ls
|
|
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
|
|
- name: install
|
|
run: |
|
|
cd src/github.com/goharbor/harbor
|
|
env
|
|
df -h
|
|
bash ./tests/showtime.sh ./tests/ci/api_common_install.sh $IP LDAP
|
|
- name: script
|
|
run: |
|
|
echo IP: $IP
|
|
df -h
|
|
cd src/github.com/goharbor/harbor
|
|
bash ./tests/showtime.sh ./tests/ci/api_run.sh LDAP $IP
|
|
df -h
|
|
|
|
OFFLINE:
|
|
env:
|
|
OFFLINE: true
|
|
runs-on:
|
|
#- self-hosted
|
|
- ubuntu-latest
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: Set up Go 1.14
|
|
uses: actions/setup-go@v1
|
|
with:
|
|
go-version: 1.14.7
|
|
id: go
|
|
- name: setup Docker
|
|
uses: docker-practice/actions-setup-docker@0.0.1
|
|
with:
|
|
docker_version: 18.09
|
|
docker_channel: stable
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
path: src/github.com/goharbor/harbor
|
|
- name: setup env
|
|
run: |
|
|
cd src/github.com/goharbor/harbor
|
|
pwd
|
|
docker version
|
|
go env
|
|
echo "GOPATH=$(go env GOPATH):$GITHUB_WORKSPACE" >> $GITHUB_ENV
|
|
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
|
echo "TOKEN_PRIVATE_KEY_PATH=${GITHUB_WORKSPACE}/src/github.com/goharbor/harbor/tests/private_key.pem" >> $GITHUB_ENV
|
|
shell: bash
|
|
- name: before_install
|
|
run: |
|
|
set -x
|
|
cd src/github.com/goharbor/harbor
|
|
pwd
|
|
env
|
|
df -h
|
|
#sudo apt install -y xvfb
|
|
#xvfb-run ls
|
|
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=`hostname -I | awk '{print $1}'`
|
|
echo '{"insecure-registries" : ["'$IP':5000"]}' | sudo tee /etc/docker/daemon.json
|
|
echo "IP=$IP" >> $GITHUB_ENV
|
|
sudo cp ./tests/harbor_ca.crt /usr/local/share/ca-certificates/
|
|
sudo update-ca-certificates
|
|
sudo service docker restart
|
|
- name: script
|
|
run: |
|
|
echo IP: $IP
|
|
df -h
|
|
cd src/github.com/goharbor/harbor
|
|
bash ./tests/showtime.sh ./tests/ci/distro_installer.sh
|
|
df -h
|
|
|
|
UI_UT:
|
|
env:
|
|
UI_UT: true
|
|
runs-on:
|
|
#- self-hosted
|
|
- ubuntu-latest
|
|
timeout-minutes: 60
|
|
steps:
|
|
- uses: actions/setup-node@v1
|
|
with:
|
|
node-version: '10.16.2'
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
path: src/github.com/goharbor/harbor
|
|
- name: script
|
|
run: |
|
|
echo IP: $IP
|
|
df -h
|
|
cd src/github.com/goharbor/harbor
|
|
bash ./tests/showtime.sh ./tests/ci/ui_ut_run.sh
|
|
df -h
|
|
- name: Codecov For UI
|
|
uses: codecov/codecov-action@v1
|
|
with:
|
|
file: ./src/github.com/goharbor/harbor/src/portal/coverage/lcov.info
|
|
flags: unittests
|