Skip to content

add some burn alert tests #2751

add some burn alert tests

add some burn alert tests #2751

Workflow file for this run

name: CI
on:
workflow_dispatch:
push:
schedule:
# run CI nightly at 00:11UTC
- cron: "11 0 * * *"
jobs:
build:
name: Build
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: "go.mod"
cache: true
- name: Lint
uses: golangci/golangci-lint-action@v6.1.1
with:
version: latest
- name: Build
run: go build -v .
test-us:
name: Test US
needs: build
runs-on: ubuntu-latest
timeout-minutes: 20
concurrency:
group: hnytf-testacc-us
env:
TERRAFORM_VERSION: "1.0.11"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: "go.mod"
cache: true
- name: Setup test environment
env:
HONEYCOMB_API_KEY: ${{ secrets.HONEYCOMB_API_KEY }}
HONEYCOMB_DATASET: testacc
run: |
go install github.com/jstemmer/go-junit-report/v2@latest
./scripts/setup-testsuite-dataset
- name: Run client acceptance tests
env:
HONEYCOMB_API_KEY: ${{ secrets.HONEYCOMB_API_KEY }}
HONEYCOMB_KEY_ID: ${{ secrets.HONEYCOMB_KEY_ID }}
HONEYCOMB_KEY_SECRET: ${{ secrets.HONEYCOMB_KEY_SECRET }}
HONEYCOMB_DATASET: testacc
run: |
go test -v ./client/... \
-covermode=atomic | \
go-junit-report \
-set-exit-code \
-iocopy \
-out client-report.xml
- uses: hashicorp/setup-terraform@v3
with:
terraform_version: ${{ env.TERRAFORM_VERSION }}
terraform_wrapper: false
- name: Run TF acceptance tests
env:
HONEYCOMB_API_KEY: ${{ secrets.HONEYCOMB_API_KEY }}
HONEYCOMB_KEY_ID: ${{ secrets.HONEYCOMB_KEY_ID }}
HONEYCOMB_KEY_SECRET: ${{ secrets.HONEYCOMB_KEY_SECRET }}
HONEYCOMB_DATASET: testacc
TF_ACC: 1
TF_ACC_TERRAFORM_VERSION: ${{ env.TERRAFORM_VERSION }}
run: |
go test -v ./internal/... ./honeycombio/... \
-covermode=atomic | \
go-junit-report \
-set-exit-code \
-iocopy \
-out provider-report.xml
- name: Notify if scheduled run fails
id: slack-notify
if: ${{ failure() && github.event_name == 'schedule' }}
uses: slackapi/slack-github-action@v2.0.0
with:
webhook: ${{ secrets.SLACK_WEBHOOK_URL }}
webhook-type: incoming-webhook
payload: |
username: "Terraform Provider CI"
text: ":rotating_light: The scheduled test suite run failed for the US region.\n\n<https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Workflow>"
icon_emoji: ":terraform-fall-down:"
- name: Cleanup Dangling Resources
if: ${{ always() }}
env:
HONEYCOMB_API_KEY: ${{ secrets.HONEYCOMB_API_KEY }}
HONEYCOMB_KEY_ID: ${{ secrets.HONEYCOMB_KEY_ID }}
HONEYCOMB_KEY_SECRET: ${{ secrets.HONEYCOMB_KEY_SECRET }}
HONEYCOMB_DATASET: testacc
run: make sweep
- name: Generate Test Summary
if: always()
uses: test-summary/action@v2
with:
paths: "*-report.xml"
show: "fail, skip"
test-eu:
name: Test EU
needs: build
runs-on: ubuntu-latest
timeout-minutes: 20
concurrency:
group: hnytf-testacc-eu
env:
TERRAFORM_VERSION: "1.0.11"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: "go.mod"
cache: true
- name: Setup test environment
env:
HONEYCOMB_API_ENDPOINT: https://api.eu1.honeycomb.io
HONEYCOMB_API_KEY: ${{ secrets.HONEYCOMB_API_KEY_EU }}
HONEYCOMB_DATASET: testacc
run: |
go install github.com/jstemmer/go-junit-report/v2@latest
./scripts/setup-testsuite-dataset
- name: Run client acceptance tests
env:
HONEYCOMB_API_ENDPOINT: https://api.eu1.honeycomb.io
HONEYCOMB_API_KEY: ${{ secrets.HONEYCOMB_API_KEY_EU }}
HONEYCOMB_KEY_ID: ${{ secrets.HONEYCOMB_KEY_ID_EU }}
HONEYCOMB_KEY_SECRET: ${{ secrets.HONEYCOMB_KEY_SECRET_EU }}
HONEYCOMB_DATASET: testacc
run: |
go test -v ./client/... \
-covermode=atomic | \
go-junit-report \
-set-exit-code \
-iocopy \
-out client-report.xml
- uses: hashicorp/setup-terraform@v3
with:
terraform_version: ${{ env.TERRAFORM_VERSION }}
terraform_wrapper: false
- name: Run TF acceptance tests
env:
HONEYCOMB_API_ENDPOINT: https://api.eu1.honeycomb.io
HONEYCOMB_API_KEY: ${{ secrets.HONEYCOMB_API_KEY_EU }}
HONEYCOMB_KEY_ID: ${{ secrets.HONEYCOMB_KEY_ID_EU }}
HONEYCOMB_KEY_SECRET: ${{ secrets.HONEYCOMB_KEY_SECRET_EU }}
HONEYCOMB_DATASET: testacc
TF_ACC: 1
TF_ACC_TERRAFORM_VERSION: ${{ env.TERRAFORM_VERSION }}
run: |
go test -v ./internal/... ./honeycombio/... \
-covermode=atomic | \
go-junit-report \
-set-exit-code \
-iocopy \
-out provider-report.xml
- name: Notify if scheduled run fails
id: slack-notify
if: ${{ failure() && github.event_name == 'schedule' }}
uses: slackapi/slack-github-action@v2.0.0
with:
webhook: ${{ secrets.SLACK_WEBHOOK_URL }}
webhook-type: incoming-webhook
payload: |
username: "Terraform Provider CI"
text: ":rotating_light: The scheduled test suite run failed for the EU region.\n\n<https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Workflow>"
icon_emoji: ":terraform-fall-down:"
- name: Cleanup Dangling Resources
if: ${{ always() }}
env:
HONEYCOMB_API_ENDPOINT: https://api.eu1.honeycomb.io
HONEYCOMB_API_KEY: ${{ secrets.HONEYCOMB_API_KEY_EU }}
HONEYCOMB_KEY_ID: ${{ secrets.HONEYCOMB_KEY_ID_EU }}
HONEYCOMB_KEY_SECRET: ${{ secrets.HONEYCOMB_KEY_SECRET_EU }}
HONEYCOMB_DATASET: testacc
run: make sweep
- name: Generate Test Summary
if: ${{ always() }}
uses: test-summary/action@v2
with:
paths: "*-report.xml"
show: "fail, skip"