Skip to content

feat(audit_trail): add new data source audit_trail_event #8787

feat(audit_trail): add new data source audit_trail_event

feat(audit_trail): add new data source audit_trail_event #8787

name: Acceptance Tests
permissions:
contents: read
on:
pull_request:
merge_group:
jobs:
terraform:
strategy:
fail-fast: false
matrix:
products:
- account
- applesilicon
- audittrail
- az
- baremetal
- billing
- block
- cockpit
- container
- datawarehouse
- domain
- file
- flexibleip
- function
- iam
- instance
- inference
- iot
- ipam
- jobs
- k8s
- lb
- marketplace
- mnq
- mongodb
- object
- rdb
- redis
- registry
- sdb
- secret
- tem
- vpc
- vpcgw
- webhosting
runs-on: ubuntu-latest
steps:
# Checkout should always be before setup-go to ensure caching is working
- name: Checkout
uses: actions/checkout@v5
- name: Install Terraform
uses: hashicorp/setup-terraform@v3
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: stable
# This CI supports skipping flaky or broken tests via GitHub repository variables.
# This allows quick fixes without code changes when tests break due to external factors.
#
# HOW TO SKIP TESTS:
# 1. Go to: Settings → Secrets and variables → Actions → Variables
# 2. Create or edit Repository variables:
# - SKIP_TESTS_<PRODUCT>: Skip patterns for any product (uppercase)
# - SKIP_TESTS_ALL: Skip patterns applied to ALL products
#
# PATTERN SYNTAX:
# - Single test: TestAccServer_Basic
# - Multiple tests: TestAccServer_Basic|TestAccServer_Other
# - Wildcard: TestAccServer.*
# - Contains: .*IPAM.*
#
# EXAMPLE:
# Variable: SKIP_TESTS_BAREMETAL
# Value: TestAccServer_Basic|TestAccServer_WithIPAMPrivateNetwork
- name: Determine Skip Pattern
id: skip-config
run: |
PRODUCT="${{ matrix.products }}"
SKIP_PATTERN=""
case "$PRODUCT" in
baremetal)
SKIP_PATTERN="$SKIP_TESTS_BAREMETAL"
;;
esac
if [ -n "$SKIP_TESTS_ALL" ]; then
if [ -n "$SKIP_PATTERN" ]; then
SKIP_PATTERN="${SKIP_PATTERN}|${SKIP_TESTS_ALL}"
else
SKIP_PATTERN="$SKIP_TESTS_ALL"
fi
fi
echo "skip_pattern=$SKIP_PATTERN" >> $GITHUB_OUTPUT
env:
SKIP_TESTS_BAREMETAL: ${{ vars.SKIP_TESTS_BAREMETAL }}
SKIP_TESTS_ALL: ${{ vars.SKIP_TESTS_ALL }}
- name: Run Acceptance Tests
run: |
SKIP_PATTERN="${{ steps.skip-config.outputs.skip_pattern }}"
if [ -n "$SKIP_PATTERN" ]; then
echo ""
echo "SKIPPING TESTS"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Pattern: $SKIP_PATTERN"
echo ""
echo "Tests that will be skipped:"
go tool gotestsum --format github-actions -- -list=. ./internal/services/${{ matrix.products }} | grep -E "$SKIP_PATTERN" || true
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
go tool gotestsum --format github-actions -- -v ./internal/services/${{ matrix.products }} -timeout=2h -skip="$SKIP_PATTERN"
TEST_RESULT=$?
else
go tool gotestsum --format github-actions -- -v ./internal/services/${{ matrix.products }} -timeout=2h
TEST_RESULT=$?
fi
if [ -n "$SKIP_PATTERN" ]; then
echo ""
echo "CI Skip Configuration:"
echo "Pattern: $SKIP_PATTERN"
echo "To modify: Update SKIP_TESTS_$(echo ${{ matrix.products }} | tr '[:lower:]' '[:upper:]') in GitHub repository variables"
fi
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
exit $TEST_RESULT
env:
TF_LOG: DEBUG
TF_ACC: 1
TF_UPDATE_CASSETTES: false
TF_TEST_DOMAIN: scaleway-terraform.com
TF_TEST_DOMAIN_ZONE: tf
SCW_DEBUG: 0
SCW_ACCESS_KEY: "SCWXXXXXXXXXXXXXFAKE"
SCW_SECRET_KEY: "11111111-1111-1111-1111-111111111111"
SCW_ENABLE_BETA: true
test-scwconfig:
strategy:
fail-fast: false
runs-on: ubuntu-latest
steps:
# Checkout should always be before setup-go to ensure caching is working
- name: Checkout
uses: actions/checkout@v5
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: stable
- name: Install Terraform
uses: hashicorp/setup-terraform@v3
- name: Run scwconfig tests
run: go tool gotestsum --format github-actions -- ./internal/services/scwconfig -timeout=2m
env:
TF_LOG: DEBUG
TF_ACC: 1
TF_UPDATE_CASSETTES: false
TF_TEST_DOMAIN: scaleway-terraform.com
TF_TEST_DOMAIN_ZONE: tf
SCW_DEBUG: 0
SCW_ENABLE_BETA: true
opentofu:
strategy:
fail-fast: false
matrix:
products:
- account
- applesilicon
- audittrail
- az
- baremetal
- billing
- block
- cockpit
- container
- datawarehouse
- domain
- file
- flexibleip
- function
- iam
- instance
- inference
- iot
- ipam
- jobs
- k8s
- lb
- marketplace
- mnq
- mongodb
- object
- rdb
- redis
- registry
- sdb
- secret
- tem
- vpc
- vpcgw
- webhosting
runs-on: ubuntu-latest
steps:
# Checkout should always be before setup-go to ensure caching is working
- name: Checkout
uses: actions/checkout@v5
- name: Install OpenTofu
uses: opentofu/setup-opentofu@v1
with:
tofu_version: '1.11.0-beta1'
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: stable
# This CI supports skipping flaky or broken tests via GitHub repository variables.
# This allows quick fixes without code changes when tests break due to external factors.
#
# HOW TO SKIP TESTS:
# 1. Go to: Settings → Secrets and variables → Actions → Variables
# 2. Create or edit Repository variables:
# - SKIP_TESTS_<PRODUCT>: Skip patterns for any product (uppercase)
# - SKIP_TESTS_ALL: Skip patterns applied to ALL products
#
# PATTERN SYNTAX:
# - Single test: TestAccServer_Basic
# - Multiple tests: TestAccServer_Basic|TestAccServer_Other
# - Wildcard: TestAccServer.*
# - Contains: .*IPAM.*
#
# EXAMPLE:
# Variable: SKIP_TESTS_BAREMETAL
# Value: TestAccServer_Basic|TestAccServer_WithIPAMPrivateNetwork
- name: Determine Skip Pattern
id: skip-config
run: |
PRODUCT="${{ matrix.products }}"
SKIP_PATTERN=""
case "$PRODUCT" in
baremetal)
SKIP_PATTERN="$SKIP_TESTS_BAREMETAL"
;;
esac
if [ -n "$SKIP_TESTS_ALL" ]; then
if [ -n "$SKIP_PATTERN" ]; then
SKIP_PATTERN="${SKIP_PATTERN}|${SKIP_TESTS_ALL}"
else
SKIP_PATTERN="$SKIP_TESTS_ALL"
fi
fi
echo "skip_pattern=$SKIP_PATTERN" >> $GITHUB_OUTPUT
env:
SKIP_TESTS_BAREMETAL: ${{ vars.SKIP_TESTS_BAREMETAL }}
SKIP_TESTS_ALL: ${{ vars.SKIP_TESTS_ALL }}
- name: Run Acceptance Tests
run: |
SKIP_PATTERN="${{ steps.skip-config.outputs.skip_pattern }}"
if [ -n "$SKIP_PATTERN" ]; then
echo ""
echo "SKIPPING TESTS"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Pattern: $SKIP_PATTERN"
echo ""
echo "Tests that will be skipped:"
go tool gotestsum --format github-actions -- -list=. ./internal/services/${{ matrix.products }} | grep -E "$SKIP_PATTERN" || true
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
go tool gotestsum --format github-actions -- -v ./internal/services/${{ matrix.products }} -timeout=2h -skip="$SKIP_PATTERN"
TEST_RESULT=$?
else
go tool gotestsum --format github-actions -- -v ./internal/services/${{ matrix.products }} -timeout=2h
TEST_RESULT=$?
fi
if [ -n "$SKIP_PATTERN" ]; then
echo ""
echo "CI Skip Configuration:"
echo "Pattern: $SKIP_PATTERN"
echo "To modify: Update SKIP_TESTS_$(echo ${{ matrix.products }} | tr '[:lower:]' '[:upper:]') in GitHub repository variables"
fi
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
exit $TEST_RESULT
env:
TF_ACC_TERRAFORM_PATH: ${{ env.TOFU_CLI_PATH }}/tofu
TF_ACC_PROVIDER_NAMESPACE: hashicorp
TF_ACC_PROVIDER_HOST: registry.opentofu.org
TF_ACC: 1
TF_UPDATE_CASSETTES: false
TF_TEST_DOMAIN: scaleway-terraform.com
TF_TEST_DOMAIN_ZONE: tf
SCW_DEBUG: 0
SCW_ACCESS_KEY: "SCWXXXXXXXXXXXXXFAKE"
SCW_SECRET_KEY: "11111111-1111-1111-1111-111111111111"
SCW_ENABLE_BETA: true
TF_ACC_LOG: trace