Skip to content

Scheduled Acceptance Tests #809

Scheduled Acceptance Tests

Scheduled Acceptance Tests #809

name: Scheduled Acceptance Tests
on:
workflow_dispatch:
schedule:
- cron: "0 7 * * *"
jobs:
acceptance:
name: Acceptance Tests
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
terraform:
- "1.4.*"
- "1.11.*"
# Cover newest patch release of the major-minor releases we support
pingfederate:
- "12.1.8"
- "12.2.4"
- "12.3.0"
- "13.0.0"
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: "go.mod"
cache: true
- uses: hashicorp/setup-terraform@v3
with:
terraform_version: ${{ matrix.terraform }}
terraform_wrapper: false
- run: mkdir -p $HOME/.pingidentity/ && echo "$CONFIG" >> $HOME/.pingidentity/config && grep -E "[a-zA-Z]" $HOME/.pingidentity/config || exit 1 && make spincontainer && make testaccclustered && make removetestcontainer
env:
TF_ACC: "1"
CONFIG: ${{ secrets.Config }}
PINGFEDERATE_PROVIDER_PRODUCT_VERSION: ${{ matrix.pingfederate }}
OPERATIONAL_MODE: "CLUSTERED_CONSOLE"
- run: mkdir -p $HOME/.pingidentity/ && echo "$CONFIG" >> $HOME/.pingidentity/config && grep -E "[a-zA-Z]" $HOME/.pingidentity/config || exit 1 && make spincontainer && make testauthacc && make removetestcontainer
env:
TF_ACC: "1"
CONFIG: ${{ secrets.Config }}
PINGFEDERATE_PROVIDER_PRODUCT_VERSION: ${{ matrix.pingfederate }}
DATA_JSON_SUFFIX: ".oauth"
- run: mkdir -p $HOME/.pingidentity/ && echo "$CONFIG" >> $HOME/.pingidentity/config && grep -E "[a-zA-Z]" $HOME/.pingidentity/config || exit 1 && make testacccomplete && make removetestcontainer
env:
TF_ACC: "1"
CONFIG: ${{ secrets.Config }}
PF_TF_P1_CONNECTION_ID: ${{ secrets.PF_TF_P1_CONNECTION_ID }}
PF_TF_P1_CONNECTION_ENV_ID: ${{ secrets.PF_TF_P1_CONNECTION_ENV_ID }}
PF_TF_P1_LDAP_GATEWAY_ID: ${{ secrets.PF_TF_P1_LDAP_GATEWAY_ID }}
PF_TF_ACC_TEST_CERTIFICATE_CA_FILE_DATA_1: ${{ secrets.PF_TF_ACC_TEST_CERTIFICATE_CA_FILE_DATA_1 }}
PF_TF_ACC_TEST_CERTIFICATE_CA_FILE_DATA_2: ${{ secrets.PF_TF_ACC_TEST_CERTIFICATE_CA_FILE_DATA_2 }}
PF_TF_ACC_TEST_SIGNING_KEY_KEYSTORE_1: ${{ secrets.PF_TF_ACC_TEST_SIGNING_KEY_KEYSTORE_1 }}
PF_TF_ACC_TEST_SIGNING_KEY_KEYSTORE_2: ${{ secrets.PF_TF_ACC_TEST_SIGNING_KEY_KEYSTORE_2 }}
PINGFEDERATE_PROVIDER_PRODUCT_VERSION: ${{ matrix.pingfederate }}
PF_TF_ACC_TEST_LICENSE_11: ${{ secrets.PF_TF_ACC_TEST_LICENSE_11 }}
PF_TF_ACC_TEST_LICENSE_12: ${{ secrets.PF_TF_ACC_TEST_LICENSE_12 }}
PF_TF_ACC_TEST_LICENSE_13: ${{ secrets.PF_TF_ACC_TEST_LICENSE_13 }}
PF_TF_P1_POPULATION_ID: ${{ secrets.PF_TF_P1_POPULATION_ID }}
PF_TF_ACC_TEST_PING_ONE_CONNECTION_CREDENTIAL_DATA: ${{ secrets.PF_TF_ACC_TEST_PING_ONE_CONNECTION_CREDENTIAL_DATA }}
PF_TF_P1_EXAMPLE_OAUTH_APP_ID: ${{ secrets.PF_TF_P1_EXAMPLE_OAUTH_APP_ID }}
onfailure:
if: ${{ failure() && github.event_name == 'schedule' }}
needs: [acceptance]
name: Send failure webhook
runs-on: ubuntu-latest
steps:
- run: |
curl --silent --request POST "${{ secrets.FAILURE_WEBHOOK_URL }}" \
--header 'Accept: application/json' \
--header 'Content-Type: text/plain' \
--data-raw '{
"WorkflowName": "${{ github.workflow }}",
"WorkflowURL": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}",
"RepoName" : "${{ github.repository }}",
}'