-
Notifications
You must be signed in to change notification settings - Fork 245
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(test): split out test jobs into their own workflows
- Loading branch information
1 parent
0d9cb9e
commit 24feefc
Showing
7 changed files
with
250 additions
and
148 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
name: Integration Tests | ||
|
||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: [main] | ||
pull_request: | ||
# schedule: | ||
# # Cron executes at 0800, 1200 1600 (8am, 12pm, 4pm) | ||
# - cron: "0 8,12,16 * * 1-5" | ||
|
||
jobs: | ||
test-integration: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Install Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
go-version: 1.21.x | ||
|
||
# - name: Add GOBIN to PATH | ||
# run: echo "$(go env GOPATH)/bin" >> $GITHUB_PATH | ||
# shell: bash | ||
|
||
# - name: Checkout code | ||
# uses: actions/checkout@v4 | ||
|
||
# - name: Cache deps | ||
# uses: actions/cache@v4 | ||
# with: | ||
# path: ~/go/pkg/mod | ||
# key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | ||
# restore-keys: | | ||
# ${{ runner.os }}-go- | ||
|
||
# - name: Integration Tests | ||
# if: github.event.pull_request.head.repo.full_name == github.repository | ||
# run: make test-integration cover-report | ||
# env: | ||
# NEW_RELIC_ACCOUNT_ID: ${{ secrets.NEW_RELIC_ACCOUNT_ID }} | ||
# NEW_RELIC_SUBACCOUNT_ID: ${{ secrets.NEW_RELIC_SUBACCOUNT_ID }} | ||
# NEW_RELIC_ADMIN_API_KEY: ${{ secrets.NEW_RELIC_ADMIN_API_KEY }} | ||
# NEW_RELIC_API_KEY: ${{ secrets.NEW_RELIC_API_KEY }} | ||
# NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }} | ||
# NEW_RELIC_REGION: ${{ secrets.NEW_RELIC_REGION }} | ||
# NEW_RELIC_INSIGHTS_INSERT_KEY: ${{ secrets.NEW_RELIC_INSIGHTS_INSERT_KEY }} | ||
# NR_ACC_TESTING: ${{ secrets.NR_ACC_TESTING }} | ||
# INTEGRATION_TESTING_AWS_ARN: ${{ secrets.INTEGRATION_TESTING_AWS_ARN }} | ||
# INTEGRATION_TESTING_GCP_ACCOUNT_NAME: ${{ secrets.INTEGRATION_TESTING_GCP_ACCOUNT_NAME }} | ||
# INTEGRATION_TESTING_GCP_PROJECT_ID: ${{ secrets.INTEGRATION_TESTING_GCP_PROJECT_ID }} | ||
# INTEGRATION_TESTING_GCP_INTEGRATIONS_PROJECT_ID: ${{secrets.INTEGRATION_TESTING_GCP_INTEGRATIONS_PROJECT_ID}} | ||
# INTEGRATION_TESTING_AZURE_APPLICATION_ID: ${{ secrets.INTEGRATION_TESTING_AZURE_APPLICATION_ID }} | ||
# INTEGRATION_TESTING_AZURE_CLIENT_SECRET_ID: ${{ secrets.INTEGRATION_TESTING_AZURE_CLIENT_SECRET_ID }} | ||
# INTEGRATION_TESTING_AZURE_SUBSCRIPTION_ID: ${{ secrets.INTEGRATION_TESTING_AZURE_SUBSCRIPTION_ID }} | ||
# INTEGRATION_TESTING_AZURE_TENANT_ID: ${{ secrets.INTEGRATION_TESTING_AZURE_TENANT_ID }} | ||
|
||
# - name: Create test failure report | ||
# id: testFailureReport | ||
# run: | | ||
# go install github.com/mfridman/tparse@latest | ||
# make test-failure-report | ||
# tparse -file=coverage/integration.failures -format=markdown >> "$GITHUB_OUTPUT" | ||
|
||
# - name: Send test failures report to Slack | ||
# id: slack | ||
# uses: slackapi/[email protected] | ||
# with: | ||
# # Uses Slack's Block Kit to build the message | ||
# payload: | | ||
# { | ||
# "text": "New Relic Terraform Provider Test Failures", | ||
# "blocks": [ | ||
# { | ||
# "type": "section", | ||
# "text": { | ||
# "type": "mrkdwn", | ||
# "text": "${{ steps.testFailureReport.outputs }}" | ||
# } | ||
# } | ||
# ] | ||
# } | ||
# env: | ||
# SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | ||
# SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK | ||
|
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
name: Lint Tests | ||
|
||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: [main] | ||
pull_request: | ||
|
||
jobs: | ||
lint: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Install Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
go-version: 1.21.x | ||
|
||
- name: Add GOBIN to PATH | ||
run: echo "$(go env GOPATH)/bin" >> $GITHUB_PATH | ||
shell: bash | ||
|
||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
|
||
- name: Full git history | ||
run: | | ||
git fetch --prune --unshallow | ||
- name: Cache deps | ||
uses: actions/cache@v4 | ||
with: | ||
path: ~/go/pkg/mod | ||
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | ||
restore-keys: | | ||
${{ runner.os }}-go- | ||
- name: Lint | ||
run: make lint | ||
|
||
- name: Check links | ||
uses: gaurav-nelson/github-action-markdown-link-check@v1 | ||
with: | ||
use-quiet-mode: 'yes' | ||
use-verbose-mode: 'yes' | ||
config-file: '.markdownlinkcheck.json' | ||
folder-path: 'website/docs' | ||
file-extension: '.markdown' |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
name: Unit Tests | ||
|
||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: [main] | ||
pull_request: | ||
|
||
jobs: | ||
test-unit: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Install Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
go-version: 1.21.x | ||
|
||
- name: Add GOBIN to PATH | ||
run: echo "$(go env GOPATH)/bin" >> $GITHUB_PATH | ||
shell: bash | ||
|
||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
|
||
- name: Cache deps | ||
uses: actions/cache@v4 | ||
with: | ||
path: ~/go/pkg/mod | ||
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | ||
restore-keys: | | ||
${{ runner.os }}-go- | ||
- name: Unit Tests | ||
id: unit-tests | ||
run: | | ||
make test-unit cover-report | ||
- name: Create test failure report | ||
id: test-failure-report | ||
if: ${{ failure() }} | ||
run: | | ||
go install github.com/mfridman/tparse@latest | ||
make test-failure-report | ||
tparse -file=coverage/unit.failures -format=markdown > coverage/unit.md | ||
- name: Prepare multiline test report | ||
id: payload | ||
shell: bash | ||
if: ${{ always() }} | ||
run: | | ||
cat coverage/unit.md | ||
result=$(cat coverage/unit.md) | ||
echo "Result: $result" | ||
echo 'UNIT_TEST_FAILURES<<EOF' | ||
$result | ||
echo EOF | ||
- name: Failure report | ||
id: failure-report | ||
if: ${{ always() }} | ||
run: | | ||
echo "${{ join(steps.test-failure-report.outputs.*, '\n') }}" | ||
# - name: Report unit test coverage via Codecov | ||
# uses: codecov/codecov-action@v3 | ||
# with: | ||
# files: ./coverage/coverage.out | ||
|
||
- name: Send test failures report to Slack | ||
id: slack | ||
if: ${{ always() }} | ||
uses: slackapi/[email protected] | ||
with: | ||
# Uses Slack's Block Kit to build the message | ||
payload: | | ||
{ | ||
"text": "New Relic Terraform Provider Test Failures", | ||
"blocks": [ | ||
{ | ||
"type": "context", | ||
"elements": [ | ||
{ | ||
"type": "plain_text", | ||
"text": ${{ toJSON(steps.test-failure-report.outputs.UNIT_TEST_FAILURES) }} | ||
} | ||
] | ||
} | ||
] | ||
} | ||
env: | ||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | ||
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK |
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
Oops, something went wrong.