Skip to content

Acceptance Tests (EU) #1192

Acceptance Tests (EU)

Acceptance Tests (EU) #1192

# This GitHub action runs your tests for each commit push and/or PR. Optionally
# you can turn it on using a cron schedule for regular testing.
#
name: Acceptance Tests (EU)
on:
push:
branches:
- main
paths-ignore:
- 'README.md'
- '.vscode'
- '.gitignore'
- 'CHANGELOG.md'
- 'CONTRIBUTING.md'
- 'LICENSE'
# For systems with an upstream API that could drift unexpectedly (like most SaaS systems, etc.),
# we recommend testing at a regular interval not necessarily tied to code changes. This will
# ensure you are alerted to something breaking due to an API change, even if the code did not
# change.
schedule:
- cron: '0 13 * * *'
jobs:
# ensure the code builds...
build:
name: Build
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4.1.1
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
cache: true
id: go
- uses: actions/cache@v4
continue-on-error: true
timeout-minutes: 2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }}
- name: Get dependencies
run: |
go mod download
- name: Build
run: |
go build -v ./...
# run acceptance tests
test:
name: Acceptance Tests
needs: [build]
runs-on: ubuntu-latest
env:
PINGONE_CLIENT_ID_TESTACC: ${{ secrets.EU_PINGONE_CLIENT_ID }}
PINGONE_CLIENT_SECRET_TESTACC: ${{ secrets.EU_PINGONE_CLIENT_SECRET }}
PINGONE_ENVIRONMENT_ID_TESTACC: ${{ secrets.EU_PINGONE_ENVIRONMENT_ID }}
# Dummy values follow to test the env var defaulting behaviours
PINGONE_REGION_TESTACC: Europe
PINGONE_REGION_CODE_TESTACC: EU
PINGONE_API_ACCESS_TOKEN: DummyAccessToken
PINGONE_API_SERVICE_HOSTNAME: api.ping-eng.com
PINGONE_AUTH_SERVICE_HOSTNAME: auth.ping-eng.com
PINGONE_CLIENT_ID: 7682a4d9-15d6-405a-9fd2-d9e08d3adfbe
PINGONE_CLIENT_SECRET: dummyclientsecret
PINGONE_ENVIRONMENT_ID: 7682a4d9-15d6-405a-9fd2-d9e08d3adfbe
PINGONE_REGION: AsiaPacific
PINGONE_REGION_CODE: AP
timeout-minutes: 15
strategy:
fail-fast: false
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4.1.1
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
cache: true
id: go
- uses: actions/cache@v4
continue-on-error: true
timeout-minutes: 2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }}
- name: Get dependencies
run: |
go mod download
- name: Acceptance tests
timeout-minutes: 10
run: |
make testacc