-
Notifications
You must be signed in to change notification settings - Fork 2
44 lines (35 loc) · 1.17 KB
/
test-openapi-spec.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
name: Validate openapi spec
on:
push:
branches:
- features/**
pull_request:
branches:
- main
- master
jobs:
docker:
timeout-minutes: 10
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Start containers
run: docker compose -f "docker-compose.yml" -f "docker-compose.test-openapi-spec.yml" up -d --build
env:
SCHEMA_URL: "http://schemas/datasets/"
- name: Setup tests
run: |
mkdir spectral
# Create spectral config file
echo 'extends: ["spectral:oas", "spectral:asyncapi"]' > ./spectral/.spectral.yaml
# Give dso-api some time to start
sleep 10
docker compose logs web
# Grab openapi yaml for bag dataset
docker compose exec web curl 'http://web:8000/v1/bag/?format=json' > ./spectral/openapi.yaml
- name: Run spectral tests
run: docker run -v ./spectral:/mnt/spectral stoplight/spectral lint /mnt/spectral/openapi.yaml --ruleset /mnt/spectral/.spectral.yaml
- name: Stop containers
if: always()
run: docker compose -f "docker-compose.yml" -f "docker-compose.test-openapi-spec.yml" down