Skip to content

IPA Validation Metrics Release #11

IPA Validation Metrics Release

IPA Validation Metrics Release #11

name: IPA Validation Metrics Release
on:
workflow_call:
secrets: # all secrets are passed explicitly in this workflow
# aws_access_key:
# required: true
# aws_secret_key:
# required: true
# aws_s3_bucket_prefix:
# required: true
api_bot_pat:
required: true
IPA_S3_BUCKET_DW_STAGING_USERNAME:
required: true
IPA_S3_BUCKET_DW_STAGING_PASSWORD:
required: true
IPA_S3_BUCKET_DW_STAGING_PREFIX:
required: true
# inputs:
# env:
# description: 'Environment for the FOAS to use for IPA metrics collection'
# required: true
# type: string
workflow_dispatch:
permissions:
issues: write
jobs:
pre-IPA-metrics-release-checks:
name: IPA Metrics Release Pre-Checks
runs-on: ubuntu-latest
outputs:
should_run_release: ${{ steps.get_previous_status.outputs.result }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get Previous Run Date and Status
id: get_previous_status
uses: actions/github-script@v7
with:
github-token: ${{ secrets.api_bot_pat }}
script: |
const { default: getShouldRunMetricsRelease } = await import('${{ github.workspace }}/tools/spectral/ipa/metrics/scripts/getShouldRunMetricsRelease.js')
const shouldRunRelease = await getShouldRunMetricsRelease({github, context})
return shouldRunRelease
release-IPA-metrics:
name: Release IPA Validation Metrics
needs: [pre-IPA-metrics-release-checks]
if: ${{ needs.pre-IPA-metrics-release-checks.outputs.should_run_release == 'true' }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '20.x'
cache: 'npm'
- name: Install npm dependencies
run: npm install
# - name: Download openapi-foas
# uses: actions/download-artifact@v4
# with:
# name: openapi-foas-dev # TODO: Change to passed input env
# github-token: ${{ secrets.api_bot_pat }}
# run-id: ${{ github.run_id }}
- name: Run Metric Collection Job
working-directory: ./tools/spectral/ipa/metrics/scripts
run: node runMetricCollection.js ../../../../../openapi/v2.json # TODO: Change to foas in release run
- name: Dump Metric Collection Job Data to S3
env:
AWS_ACCESS_KEY_ID: ${{ secrets.IPA_S3_BUCKET_DW_STAGING_USERNAME }} # TODO: Change to passed secret
AWS_SECRET_ACCESS_KEY: ${{ secrets.IPA_S3_BUCKET_DW_STAGING_PASSWORD }} # TODO: Change to passed secret
S3_BUCKET_PREFIX: ${{ secrets.IPA_S3_BUCKET_DW_STAGING_PREFIX }} # TODO: Change to passed secret
working-directory: ./tools/spectral/ipa/metrics/scripts
run: node dataDump.js ../../../../../openapi/v2.json # TODO: Change to foas in release run