mirror of https://github.com/dexidp/dex.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
2.3 KiB
79 lines
2.3 KiB
name: CI |
|
|
|
on: |
|
push: |
|
branches: |
|
- master |
|
pull_request: |
|
|
|
jobs: |
|
build: |
|
name: Build |
|
runs-on: ubuntu-16.04 |
|
env: |
|
GOFLAGS: -mod=readonly |
|
|
|
services: |
|
postgres: |
|
image: postgres:10.8 |
|
ports: |
|
- 5432 |
|
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 |
|
|
|
etcd: |
|
image: gcr.io/etcd-development/etcd:v3.2.9 |
|
ports: |
|
- 2379 |
|
env: |
|
ETCD_LISTEN_CLIENT_URLS: http://0.0.0.0:2379 |
|
ETCD_ADVERTISE_CLIENT_URLS: http://0.0.0.0:2379 |
|
options: --health-cmd "ETCDCTL_API=3 etcdctl --endpoints http://localhost:2379 endpoint health" --health-interval 10s --health-timeout 5s --health-retries 5 |
|
|
|
keystone: |
|
image: openio/openstack-keystone:pike |
|
ports: |
|
- 5000 |
|
- 35357 |
|
options: --health-cmd "curl --fail http://localhost:5000/v3" --health-interval 10s --health-timeout 5s --health-retries 5 |
|
|
|
steps: |
|
- name: Set up Go |
|
uses: actions/setup-go@v1 |
|
with: |
|
go-version: 1.13 |
|
|
|
- name: Checkout code |
|
uses: actions/checkout@v1 |
|
|
|
- name: Setup MySQL database |
|
run: mysql -u root -proot -e 'CREATE DATABASE dex;' |
|
|
|
- name: Run tests |
|
run: make testall |
|
env: |
|
DEX_MYSQL_DATABASE: dex |
|
DEX_MYSQL_USER: root |
|
DEX_MYSQL_PASSWORD: root |
|
DEX_MYSQL_HOST: 127.0.0.1 |
|
DEX_MYSQL_PORT: 3306 |
|
DEX_POSTGRES_DATABASE: postgres |
|
DEX_POSTGRES_USER: postgres |
|
DEX_POSTGRES_PASSWORD: postgres |
|
DEX_POSTGRES_HOST: localhost |
|
DEX_POSTGRES_PORT: ${{ job.services.postgres.ports[5432] }} |
|
DEX_ETCD_ENDPOINTS: http://localhost:${{ job.services.etcd.ports[2379] }} |
|
DEX_LDAP_TESTS: 1 |
|
DEX_KEYSTONE_URL: http://localhost:${{ job.services.keystone.ports[5000] }} |
|
DEX_KEYSTONE_ADMIN_URL: http://localhost:${{ job.services.keystone.ports[35357] }} |
|
DEX_KEYSTONE_ADMIN_USER: demo |
|
DEX_KEYSTONE_ADMIN_PASS: DEMO_PASS |
|
|
|
- name: Run Kubernetes tests |
|
run: ./scripts/test-k8s.sh |
|
|
|
- name: Run linter |
|
run: make lint |
|
|
|
# Ensure proto generation doesn't depend on external packages. |
|
- name: Verify proto |
|
run: make verify-proto
|
|
|