GraphQL performance tests (PR) #47
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# GENERATED FILE, DO NOT EDIT MANUALLY - use yarn run github:codegen instead | |
name: GraphQL performance tests (PR) | |
on: [deployment_status] | |
jobs: | |
run_tests: | |
if: github.event.deployment_status.state == 'success' | |
name: Run tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out | |
uses: actions/checkout@v2 | |
- name: Send an HTTP request to start up the server | |
run: | | |
curl -s '${{ github.event.deployment_status.target_url }}/api/graphql' -X 'POST' -H 'Content-Type: application/json' -d '{"operationName":"DataCubeObservations","variables":{"locale":"en","sourceType":"sparql","sourceUrl":"https://lindas.admin.ch/query","cubeFilter":{"iri":"https://energy.ld.admin.ch/sfoe/bfe_ogd84_einmalverguetung_fuer_photovoltaikanlagen/9","filters":{"https://energy.ld.admin.ch/sfoe/bfe_ogd84_einmalverguetung_fuer_photovoltaikanlagen/Kanton":{"type":"single","value":"https://ld.admin.ch/canton/1"}}}},"query":"query DataCubeObservations($sourceType: String!, $sourceUrl: String!, $locale: String!, $cubeFilter: DataCubeObservationFilter!) { dataCubeObservations(sourceType: $sourceType, sourceUrl: $sourceUrl, locale: $locale, cubeFilter: $cubeFilter) }"}' > /dev/null | |
- name: Download, unzip and install k6 binary from https://github.com/grafana/k6/releases/download/v0.49.0/k6-v0.49.0-linux-arm64.tar.gz | |
run: | | |
wget https://github.com/grafana/k6/releases/download/v0.49.0/k6-v0.49.0-linux-arm64.tar.gz | |
tar -xzf k6-v0.49.0-linux-arm64.tar.gz | |
sudo cp k6-v0.49.0-linux-arm64/k6 /usr/local/bin/k6 | |
export PATH=$PATH:/usr/local/bin | |
- name: Run k6 | |
run: | | |
echo "SUMMARY=$(k6 run --tag testid=DataCubeComponents --env ENV=PR --env ENDPOINT=${{ github.event.deployment_status.target_url }}/api/graphql --env CUBE_IRI=https://energy.ld.admin.ch/sfoe/bfe_ogd84_einmalverguetung_fuer_photovoltaikanlagen/9 --env CUBE_LABEL=Photovoltaikanlagen/9 --env CHECK_TIMING=true --env CUBES='[{"iri":"https://energy.ld.admin.ch/sfoe/bfe_ogd84_einmalverguetung_fuer_photovoltaikanlagen/9","label":"Photovoltaikanlagen/9","filters":{"https://energy.ld.admin.ch/sfoe/bfe_ogd84_einmalverguetung_fuer_photovoltaikanlagen/Kanton":{"type":"single","value":"https://ld.admin.ch/canton/1"}},"queries":{"DataCubeComponents":{"expectedDuration":750},"DataCubeMetadata":{"expectedDuration":250},"DataCubeObservations":{"expectedDuration":500},"DataCubePreview":{"expectedDuration":750},"PossibleFilters":{"expectedDuration":600}}},{"iri":"https://environment.ld.admin.ch/foen/nfi/nfi_C-20/cube/2023-3","label":"NFI/2023-3","filters":{"https://environment.ld.admin.ch/foen/nfi/unitOfReference":{"type":"single","value":"https://ld.admin.ch/country/CHE"},"https://environment.ld.admin.ch/foen/nfi/classificationUnit":{"type":"single","value":"https://environment.ld.admin.ch/foen/nfi/ClassificationUnit/Total"},"https://environment.ld.admin.ch/foen/nfi/inventory":{"type":"single","value":"https://environment.ld.admin.ch/foen/nfi/Inventory/150"},"https://environment.ld.admin.ch/foen/nfi/unitOfEvaluation":{"type":"single","value":"https://environment.ld.admin.ch/foen/nfi/UnitOfEvaluation/2382"},"https://environment.ld.admin.ch/foen/nfi/evaluationType":{"type":"single","value":"https://environment.ld.admin.ch/foen/nfi/EvaluationType/1"}},"queries":{"DataCubeComponents":{"expectedDuration":2000},"DataCubeMetadata":{"expectedDuration":250},"DataCubeObservations":{"expectedDuration":1500},"DataCubePreview":{"expectedDuration":1000},"PossibleFilters":{"expectedDuration":1500}}},{"iri":"https://energy.ld.admin.ch/elcom/electricityprice","label":"Elcom","filters":{"https://energy.ld.admin.ch/elcom/electricityprice/dimension/municipality":{"type":"single","value":"https://ld.admin.ch/municipality/1"},"https://energy.ld.admin.ch/elcom/electricityprice/dimension/category":{"type":"single","value":"https://energy.ld.admin.ch/elcom/electricityprice/category/C1"},"https://energy.ld.admin.ch/elcom/electricityprice/dimension/operator":{"type":"single","value":"https://energy.ld.admin.ch/elcom/electricityprice/operator/486"},"https://energy.ld.admin.ch/elcom/electricityprice/dimension/product":{"type":"single","value":"https://energy.ld.admin.ch/elcom/electricityprice/product/standard"}},"queries":{"DataCubeComponents":{"expectedDuration":10000},"DataCubeMetadata":{"expectedDuration":250},"DataCubeObservations":{"expectedDuration":4000},"DataCubePreview":{"expectedDuration":750},"PossibleFilters":{"expectedDuration":3500}}}]' --quiet - <k6/performance-tests/graphql/DataCubeComponents.js)" >> $GITHUB_ENV | |
- name: GQL performance tests ❌ | |
if: ${{ env.SUMMARY != '' }} | |
run: | | |
curl --request POST --url https://api.github.com/repos/${{ github.repository }}/statuses/${{ github.sha }} --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' --header 'content-type: application/json' --data '{ | |
"context": "GQL performance tests", | |
"state": "failure", | |
"description": "${{ env.SUMMARY }}" | |
}' |