Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set environment #7

Merged
merged 1 commit into from
Jul 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ This GitHub Action allows you to run a command that triggers a DevSecOps (DSO) e
| `event-type` | The event type. Must be one of "deploy" or "test" | Yes | N/A |
| `app` | The app corresponding to the event | Yes | N/A |
| `team` | The team corresponding to the event | Yes | N/A |
| `environment` | The environment corresponding to the event (can be "none") | Yes | N/A |
| `id` | The unique identifier of the event. See documentation (TODO) for choosing an ID | Yes | N/A |
| `oidc-role` | The OIDC role to assume that has permission to assume the DSO Metrics cross-account role. If not provided, AWS credentials with this permission must be set in the environment when this action is run | No | N/A |
| `oidc-role-session-name` | OIDC role session name | No | 'ReportDSOEvent' |
Expand All @@ -23,12 +24,13 @@ Here's an example of how to use this action in your workflow:

```yaml
- name: Run Command And Report DSO Event
uses: Enterprise-CMCS/mac-fc-report-dso-event@{ref}
uses: Enterprise-CMCS/mac-fc-report-dso-event@0.2.2
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think people often copy-paste these examples, and when 0.2.2 is outdated they will copy-paste that :) That's why I put {ref} so it wouldn't work when copy-pasted and they would need to think about it some

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My thinking was:

  • they might just put * and we don't want to encourage that (we want the default to be that they will pin to the latest released version at the time they set it up)
  • we already have to make a change updating references (in action.yml) whenever we bump the version number, so changing it in one more place doesn't seem harder to me.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, makes sense, as long as we remember to do it :)

with:
command: go test ./...
event-type: test
app: my-app
team: my-team
environment: none
id: ${{ github.run_id }}-go-test
aws-account-id: 123456789012
oidc-role: arn:aws:iam::123456789012:role/example-role
Expand Down
18 changes: 11 additions & 7 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ inputs:
team:
description: 'The team corresponding to the event'
required: true
environment:
description: 'The environment corresponding to the event (use "none" if there is none)'
required: true
id:
description: 'The unique identifier of the event. See documentation (TODO) for choosing an ID'
required: true
Expand All @@ -39,7 +42,7 @@ runs:
steps:
- name: Run command
id: run-command
uses: Enterprise-CMCS/mac-fc-report-dso-event/.github/actions/[email protected].1
uses: Enterprise-CMCS/mac-fc-report-dso-event/.github/actions/[email protected].2
with:
command: ${{ inputs.command }}

Expand All @@ -58,7 +61,7 @@ runs:

- name: Warn on failure
if: ${{ !cancelled() && steps.get-oidc-creds.outcome == 'failure' }}
uses: Enterprise-CMCS/mac-fc-report-dso-event/.github/actions/[email protected].1
uses: Enterprise-CMCS/mac-fc-report-dso-event/.github/actions/[email protected].2
with:
message: 'Failed to get OIDC credentials when reporting DSO Metrics. Please investigate the failure.'

Expand All @@ -79,7 +82,7 @@ runs:

- name: Warn on failure
if: ${{ !cancelled() && steps.assume-dso-role.outcome == 'failure' }}
uses: Enterprise-CMCS/mac-fc-report-dso-event/.github/actions/[email protected].1
uses: Enterprise-CMCS/mac-fc-report-dso-event/.github/actions/[email protected].2
with:
message: 'Failed to assume DSO metrics cross-account role when reporting DSO Metrics. Please investigate the failure.'

Expand All @@ -91,13 +94,14 @@ runs:
steps.assume-dso-role.outcome == 'success' &&
inputs.event-type == 'test'
continue-on-error: true
uses: Enterprise-CMCS/mac-fc-report-dso-event/.github/actions/[email protected].1
uses: Enterprise-CMCS/mac-fc-report-dso-event/.github/actions/[email protected].2
with:
# TODO add coverage
args: >
-app "${{ inputs.app }}"
-id "${{ inputs.id }}"
-team "${{ inputs.team }}"
-environment "${{ inputs.environment }}"
${{ inputs.event-type }}
-start "${{ steps.run-command.outputs.start-time }}"
-end "${{ steps.run-command.outputs.end-time }}"
Expand All @@ -106,7 +110,7 @@ runs:

- name: Warn on failure
if: ${{ !cancelled() && steps.report-test-metrics.outcome == 'failure' }}
uses: Enterprise-CMCS/mac-fc-report-dso-event/.github/actions/[email protected].1
uses: Enterprise-CMCS/mac-fc-report-dso-event/.github/actions/[email protected].2
with:
message: 'Failed to report test event metrics to the DSO Metrics API. Please investigate the failure.'

Expand All @@ -118,7 +122,7 @@ runs:
steps.assume-dso-role.outcome == 'success' &&
inputs.event-type == 'deploy'
continue-on-error: true
uses: Enterprise-CMCS/mac-fc-report-dso-event/.github/actions/[email protected].1
uses: Enterprise-CMCS/mac-fc-report-dso-event/.github/actions/[email protected].2
with:
args: >
-app "${{ inputs.app }}"
Expand All @@ -132,6 +136,6 @@ runs:

- name: Warn on failure
if: ${{ !cancelled() && steps.report-deploy-metrics.outcome == 'failure' }}
uses: Enterprise-CMCS/mac-fc-report-dso-event/.github/actions/[email protected].1
uses: Enterprise-CMCS/mac-fc-report-dso-event/.github/actions/[email protected].2
with:
message: 'Failed to report deploy event metrics to the DSO Metrics API. Please investigate the failure.'