Skip to content

link to failed job #2532

link to failed job

link to failed job #2532

Workflow file for this run

name: CI
on:
workflow_dispatch:
push:
paths-ignore:
- README.md
- CHANGELOG.md
- CONTRIBUTING.md
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: 15
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
timeout-minutes: 10
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/... \
-coverprofile=client-coverage.txt \
-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
timeout-minutes: 10
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/... \
-coverprofile=tf-coverage.txt \
-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@v1.27.0
with:
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 }}/jobs/${{ github.job }}|View Failed Job>",
"icon_emoji": ":terraform-fall-down:"
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
- name: Cleanup Dangling Resources
if: ${{ always() }}
timeout-minutes: 5
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"
- name: Generate Coverage Report
uses: codecov/codecov-action@v4.6.0
with:
token: ${{ secrets.CODECOV_TOKEN }}
test-eu:
name: Test EU
needs: build
runs-on: ubuntu-latest
timeout-minutes: 15
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
timeout-minutes: 10
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/... \
-coverprofile=client-coverage.txt \
-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
timeout-minutes: 10
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/... \
-coverprofile=tf-coverage.txt \
-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@v1.27.0
with:
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 }}/jobs/${{ github.job }}|View Failed Job>",
"icon_emoji": ":terraform-fall-down:"
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
- name: Cleanup Dangling Resources
if: ${{ always() }}
timeout-minutes: 5
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"
- name: Generate Coverage Report
uses: codecov/codecov-action@v4.6.0
with:
token: ${{ secrets.CODECOV_TOKEN }}