Use Case - PROD #60005
This file contains hidden or 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
| name: Use Case - PROD | |
| on: | |
| workflow_dispatch: | |
| schedule: | |
| - cron: '*/15 * * * *' | |
| jobs: | |
| use-case-test: | |
| environment: prod | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| env: # Shared environment vars for k6 test scripts | |
| altinn_env: prod | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Set up k6 | |
| uses: grafana/setup-k6-action@db07bd9765aac508ef18982e52ab937fe633a065 # v1.2.1 | |
| - name: Create k6 secrets file | |
| id: k6-secrets | |
| env: | |
| PID: ${{ secrets.PERSON_NUMBER }} | |
| TESTIDPPWD: ${{ secrets.TESTIDPPWD }} | |
| MP_CLIENT_ID: ${{ secrets.MP_CLIENT_ID }} | |
| MP_KID: ${{ secrets.MP_KID }} | |
| ENCODED_JWK: ${{ secrets.MP_ENCODEDJWK }} | |
| WEBHOOK_ENDPOINT: ${{ secrets.WEBHOOK_ENDPOINT }} | |
| run: | | |
| umask 077 | |
| SECRETS_FILE="${{ runner.temp }}/k6.secrets" | |
| printf 'pid=%s\n' "$PID" >> "$SECRETS_FILE" | |
| printf 'testidppwd=%s\n' "$TESTIDPPWD" >> "$SECRETS_FILE" | |
| printf 'mpClientId=%s\n' "$MP_CLIENT_ID" >> "$SECRETS_FILE" | |
| printf 'mpKid=%s\n' "$MP_KID" >> "$SECRETS_FILE" | |
| printf 'encodedJwk=%s\n' "$ENCODED_JWK" >> "$SECRETS_FILE" | |
| printf 'webhookEndpoint=%s\n' "$WEBHOOK_ENDPOINT" >> "$SECRETS_FILE" | |
| echo "file=$SECRETS_FILE" >> "$GITHUB_OUTPUT" | |
| - name: Run app-events use case tests | |
| uses: grafana/run-k6-action@de51a7390bdf0ac85a3bef493691bd71d4c7c158 # v1.4.0 | |
| with: | |
| path: test/k6/src/tests/app-events.js | |
| flags: --secret-source=file=${{ steps.k6-secrets.outputs.file }} -e app=apps-test-prod | |
| - name: Run events use case tests (POST) | |
| if: always() | |
| uses: grafana/run-k6-action@de51a7390bdf0ac85a3bef493691bd71d4c7c158 # v1.4.0 | |
| with: | |
| path: test/k6/src/tests/events/post.js | |
| flags: --secret-source=file=${{ steps.k6-secrets.outputs.file }} | |
| - name: Run events use case tests (GET) | |
| if: always() | |
| uses: grafana/run-k6-action@de51a7390bdf0ac85a3bef493691bd71d4c7c158 # v1.4.0 | |
| with: | |
| path: test/k6/src/tests/events/get.js | |
| flags: --secret-source=file=${{ steps.k6-secrets.outputs.file }} | |
| - name: Run subscription use case tests | |
| if: always() | |
| uses: grafana/run-k6-action@de51a7390bdf0ac85a3bef493691bd71d4c7c158 # v1.4.0 | |
| with: | |
| path: test/k6/src/tests/subscriptions.js | |
| flags: --secret-source=file=${{ steps.k6-secrets.outputs.file }} -e app=apps-test-prod | |
| slack-notify: | |
| if: failure() | |
| needs: use-case-test | |
| permissions: {} | |
| uses: ./.github/workflows/send-slack-warning.yml | |
| with: | |
| warning-message: 'Events use case test failure in Production' | |
| secrets: | |
| SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_PROD }} |