name: Metric Pipeline on: workflow_call: inputs: aws-region: required: true type: string metric-name: required: true type: string namespace: required: true type: string secrets: CI_AWS_KEY_ID: required: true CI_AWS_KEY_SECRET: required: true jobs: metric-pipeline-result: runs-on: ubuntu-latest if: always() # always run to capture workflow success or failure steps: # Make sure the secrets are stored in you repo settings - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v1 with: aws-access-key-id: ${{ secrets.CI_AWS_KEY_ID }} aws-secret-access-key: ${{ secrets.CI_AWS_KEY_SECRET }} aws-region: ${{ inputs.aws-region }} - name: Calculate Pipleline Success # run this action to get the workflow conclusion # You can get the conclusion via env (env.WORKFLOW_CONCLUSION) # values: neutral, success, skipped, cancelled, timed_out, # action_required, failure uses: technote-space/workflow-conclusion-action@v3 - name: Metric Pipleline Success # replace TAG by the latest tag in the repository uses: ros-tooling/action-cloudwatch-metrics@0.0.5 with: metric-value: ${{ env.WORKFLOW_CONCLUSION == 'success' }} metric-name: ${{ inputs.metric-name }} namespace: ${{ inputs.namespace }}