2022-06-24 14:50:14 +02:00
|
|
|
name: Test Docker Compose Linux
|
2022-10-02 21:17:16 +02:00
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches:
|
|
|
|
- main
|
|
|
|
pull_request:
|
2022-06-24 14:50:14 +02:00
|
|
|
|
|
|
|
jobs:
|
|
|
|
test:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2022-08-24 14:37:18 +02:00
|
|
|
- name: Install jq
|
|
|
|
run: sudo apt-get install -y jq
|
|
|
|
|
|
|
|
- name: Install curl
|
|
|
|
run: sudo apt-get install -y curl
|
|
|
|
|
2022-06-24 14:50:14 +02:00
|
|
|
- name: Install Go
|
|
|
|
uses: actions/setup-go@v2
|
|
|
|
with:
|
2022-12-04 13:22:21 +01:00
|
|
|
go-version: 1.19.x
|
2022-06-24 14:50:14 +02:00
|
|
|
|
|
|
|
- name: Cache Go modules
|
|
|
|
uses: actions/cache@v2
|
|
|
|
with:
|
|
|
|
path: ~/go/pkg/mod
|
|
|
|
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
|
|
|
restore-keys: |
|
|
|
|
${{ runner.os }}-go-
|
|
|
|
|
|
|
|
- name: Checkout code
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
|
|
|
|
- name: cp setup.env
|
|
|
|
run: cp infrastructure_files/tests/setup.env infrastructure_files/
|
|
|
|
|
|
|
|
- name: run configure
|
|
|
|
working-directory: infrastructure_files
|
|
|
|
run: bash -x configure.sh
|
|
|
|
env:
|
2022-12-16 17:00:20 +01:00
|
|
|
CI_NETBIRD_DOMAIN: localhost
|
|
|
|
CI_NETBIRD_AUTH_CLIENT_ID: testing.client.id
|
2022-08-17 21:44:20 +02:00
|
|
|
CI_NETBIRD_AUTH_AUDIENCE: testing.ci
|
2022-08-24 14:37:18 +02:00
|
|
|
CI_NETBIRD_AUTH_OIDC_CONFIGURATION_ENDPOINT: https://example.eu.auth0.com/.well-known/openid-configuration
|
2022-08-17 21:44:20 +02:00
|
|
|
CI_NETBIRD_USE_AUTH0: true
|
2022-06-24 14:50:14 +02:00
|
|
|
|
|
|
|
- name: check values
|
|
|
|
working-directory: infrastructure_files
|
|
|
|
env:
|
2022-12-16 17:00:20 +01:00
|
|
|
CI_NETBIRD_DOMAIN: localhost
|
|
|
|
CI_NETBIRD_AUTH_CLIENT_ID: testing.client.id
|
2022-08-17 21:44:20 +02:00
|
|
|
CI_NETBIRD_AUTH_AUDIENCE: testing.ci
|
2022-08-24 14:37:18 +02:00
|
|
|
CI_NETBIRD_AUTH_OIDC_CONFIGURATION_ENDPOINT: https://example.eu.auth0.com/.well-known/openid-configuration
|
2022-08-17 21:44:20 +02:00
|
|
|
CI_NETBIRD_USE_AUTH0: true
|
2022-08-24 14:37:18 +02:00
|
|
|
CI_NETBIRD_AUTH_SUPPORTED_SCOPES: "openid profile email offline_access api email_verified"
|
|
|
|
CI_NETBIRD_AUTH_AUTHORITY: https://example.eu.auth0.com/
|
|
|
|
CI_NETBIRD_AUTH_JWT_CERTS: https://example.eu.auth0.com/.well-known/jwks.json
|
|
|
|
CI_NETBIRD_AUTH_TOKEN_ENDPOINT: https://example.eu.auth0.com/oauth/token
|
|
|
|
CI_NETBIRD_AUTH_DEVICE_AUTH_ENDPOINT: https://example.eu.auth0.com/oauth/device/code
|
2022-10-12 12:25:46 +02:00
|
|
|
CI_NETBIRD_AUTH_REDIRECT_URI: "/peers"
|
2022-06-24 14:50:14 +02:00
|
|
|
run: |
|
2022-08-17 21:44:20 +02:00
|
|
|
grep AUTH_CLIENT_ID docker-compose.yml | grep $CI_NETBIRD_AUTH_CLIENT_ID
|
|
|
|
grep AUTH_AUTHORITY docker-compose.yml | grep $CI_NETBIRD_AUTH_AUTHORITY
|
|
|
|
grep AUTH_AUDIENCE docker-compose.yml | grep $CI_NETBIRD_AUTH_AUDIENCE
|
2022-08-24 14:37:18 +02:00
|
|
|
grep AUTH_SUPPORTED_SCOPES docker-compose.yml | grep "$CI_NETBIRD_AUTH_SUPPORTED_SCOPES"
|
2022-08-17 21:44:20 +02:00
|
|
|
grep USE_AUTH0 docker-compose.yml | grep $CI_NETBIRD_USE_AUTH0
|
2022-12-16 17:00:20 +01:00
|
|
|
grep NETBIRD_MGMT_API_ENDPOINT docker-compose.yml | grep "$CI_NETBIRD_DOMAIN:33073"
|
2022-10-12 12:25:46 +02:00
|
|
|
grep AUTH_REDIRECT_URI docker-compose.yml | grep $CI_NETBIRD_AUTH_REDIRECT_URI
|
|
|
|
grep AUTH_SILENT_REDIRECT_URI docker-compose.yml | egrep 'AUTH_SILENT_REDIRECT_URI=$'
|
2022-08-24 14:37:18 +02:00
|
|
|
|
2022-06-24 14:50:14 +02:00
|
|
|
- name: run docker compose up
|
|
|
|
working-directory: infrastructure_files
|
|
|
|
run: |
|
|
|
|
docker-compose up -d
|
|
|
|
sleep 5
|
2022-12-16 17:00:20 +01:00
|
|
|
docker-compose ps
|
|
|
|
docker-compose logs --tail=20
|
2022-06-24 14:50:14 +02:00
|
|
|
|
|
|
|
- name: test running containers
|
|
|
|
run: |
|
|
|
|
count=$(docker compose ps --format json | jq '.[] | select(.Project | contains("infrastructure_files")) | .State' | grep -c running)
|
|
|
|
test $count -eq 4
|
|
|
|
working-directory: infrastructure_files
|