IPA Validation Metrics Release #64
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
# This workflow will generate metrics about the IPA validation on the current OAS | |
# (number of adoptions, violations and exceptions) and upload the data to an S3 bucket. | |
name: IPA Validation Metrics Release | |
on: | |
schedule: | |
- cron: '0 11 * * *' # Runs daily at 11:00 UTC (11 AM UTC) | |
workflow_dispatch: | |
permissions: | |
issues: write | |
contents: write | |
jobs: | |
# Generates and uploads the IPA validation metrics to S3 | |
release-IPA-metrics: | |
name: Release IPA Validation Metrics | |
runs-on: ubuntu-latest | |
steps: | |
- name: Fetch OAS file from Dev Branch | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 | |
with: | |
ref: 'dev' | |
sparse-checkout: openapi/v2.json | |
- name: Upload OAS file | |
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 | |
with: | |
name: oas-dev | |
path: openapi/v2.json | |
- name: Checkout repository (scripts) | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 | |
with: | |
sparse-checkout: | | |
tools/spectral/ipa | |
package.json | |
package-lock.json | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20.x' | |
cache: 'npm' | |
- name: Install npm dependencies | |
run: npm install | |
- name: Download oas-dev | |
uses: actions/download-artifact@v4 | |
with: | |
name: oas-dev | |
- name: Run Metric Collection Job | |
working-directory: tools/spectral/ipa/metrics/scripts | |
run: node runMetricCollection.js "${{ github.workspace }}/v2.json" | |
- name: Dump Metric Collection Job Data to S3 | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.IPA_S3_BUCKET_DW_STAGING_USERNAME }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.IPA_S3_BUCKET_DW_STAGING_PASSWORD }} | |
S3_BUCKET_PREFIX: ${{ secrets.IPA_S3_BUCKET_DW_STAGING_PREFIX }} | |
working-directory: tools/spectral/ipa/metrics/scripts | |
run: node dataDump.js | |
failure-handler: | |
name: Failure Handler | |
needs: [ release-IPA-metrics ] | |
if: ${{ failure() }} | |
uses: ./.github/workflows/failure-handler.yml | |
with: | |
env: 'dev' | |
release_name: "IPA Metrics" | |
secrets: | |
jira_api_token: ${{ secrets.JIRA_API_TOKEN }} |