Skip to content

feat: enable cron job execution of integration tests w/ Slack notifications #54

feat: enable cron job execution of integration tests w/ Slack notifications

feat: enable cron job execution of integration tests w/ Slack notifications #54

name: Integration Tests
on:
workflow_dispatch:
push:
branches: [main]
pull_request:
workflow_call:
secrets:
NEW_RELIC_ACCOUNT_ID:
required: true
NEW_RELIC_SUBACCOUNT_ID:
required: true
NEW_RELIC_ADMIN_API_KEY:
required: true
NEW_RELIC_API_KEY:
required: true
NEW_RELIC_LICENSE_KEY:
required: true
NEW_RELIC_REGION:
required: true
NEW_RELIC_INSIGHTS_INSERT_KEY:
required: true
NR_ACC_TESTING:
required: true
INTEGRATION_TESTING_AWS_ARN:
required: true
INTEGRATION_TESTING_GCP_ACCOUNT_NAME:
required: true
INTEGRATION_TESTING_GCP_PROJECT_ID:
required: true
INTEGRATION_TESTING_GCP_INTEGRATIONS_PROJECT_ID:
required: true
INTEGRATION_TESTING_AZURE_APPLICATION_ID:
required: true
INTEGRATION_TESTING_AZURE_CLIENT_SECRET_ID:
required: true
INTEGRATION_TESTING_AZURE_SUBSCRIPTION_ID:
required: true
INTEGRATION_TESTING_AZURE_TENANT_ID:
required: true
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 }}