Skip to content

Checks

Checks #17467

Workflow file for this run

name: Checks
on:
push:
schedule:
# Run every hour. Uses POSIX cron syntax
- cron: "0 */1 * * *"
jobs:
check1:
name: Compile
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Compile code
run: |
./scripts/ci-compile.sh
- run: echo "🍏 This job's status is ${{ job.status }}."
check2:
name: Unit Tests
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Run unit tests
run: |
./scripts/ci-tests.sh
- run: echo "🍏 This job's status is ${{ job.status }}."
check3:
name: ASA Acceptance Tests
# Ensure acceptance tests are only run on okta/terraform-provider-oktapam or if a special label is applied (`run-acceptance-tests`)
if: github.repository == 'okta/terraform-provider-oktapam' || github.event.label.name == 'run-acceptance-tests'
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Get Terraform CLI Version
id: vars
run: echo ::set-output name=tf-version::$(cat .terraform-version)
- name: Setup Terraform
uses: hashicorp/setup-terraform@v2
with:
terraform_version: ${{ steps.vars.outputs.tf-version }}
terraform_wrapper: false
- name: Run acceptance tests
run: |
./scripts/ci-acceptance-tests.sh
env:
OKTAPAM_SECRET: ${{ secrets.OKTA_499446_OKTAPAM_SECRET }}
OKTAPAM_KEY: ${{ secrets.OKTA_499446_OKTAPAM_KEY }}
OKTAPAM_TEAM: ${{ secrets.OKTA_499446_OKTAPAM_TEAM }}
OKTAPAM_API_HOST: ${{ secrets.OKTA_499446_OKTAPAM_API_HOST }}
- name: If the acceptance tests fail, retry. Intended for failed locks and dependency download timeouts.
if: failure()
run: |
./scripts/ci-acceptance-tests.sh
env:
OKTAPAM_SECRET: ${{ secrets.OKTA_499446_OKTAPAM_SECRET }}
OKTAPAM_KEY: ${{ secrets.OKTA_499446_OKTAPAM_KEY }}
OKTAPAM_TEAM: ${{ secrets.OKTA_499446_OKTAPAM_TEAM }}
OKTAPAM_API_HOST: ${{ secrets.OKTA_499446_OKTAPAM_API_HOST }}
- run: echo "🍏 This job's status is ${{ job.status }}."
check4:
name: OktaPA Acceptance Tests
# Ensure acceptance tests are only run on okta/terraform-provider-oktapam or if a special label is applied (`run-acceptance-tests`)
if: github.repository == 'okta/terraform-provider-oktapam' || github.event.label.name == 'run-acceptance-tests'
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Get Terraform CLI Version
id: vars
run: echo ::set-output name=tf-version::$(cat .terraform-version)
- name: Setup Terraform
uses: hashicorp/setup-terraform@v2
with:
terraform_version: ${{ steps.vars.outputs.tf-version }}
terraform_wrapper: false
- name: Run acceptance tests
run: |
./scripts/ci-acceptance-tests.sh
env:
TF_ACC_PAM: 1
OKTAPAM_SECRET: ${{ secrets.OKTA_623529_PAM_TEAM_OKTAPAM_SECRET }}
OKTAPAM_KEY: ${{ secrets.OKTA_623529_PAM_TEAM_OKTAPAM_KEY }}
OKTAPAM_TEAM: ${{ secrets.OKTA_623529_PAM_TEAM_OKTAPAM_TEAM }}
OKTAPAM_TRUSTED_DOMAIN_OVERRIDE: ${{ secrets.OKTA_623529_PAM_TEAM_OKTAPAM_TRUSTED_DOMAIN_OVERRIDE }}
OKTAPAM_API_HOST: ${{ secrets.OKTA_623529_PAM_TEAM_OKTAPAM_API_HOST }}
- name: If the acceptance tests fail, retry. Intended for failed locks and dependency download timeouts.
if: failure()
run: |
./scripts/ci-acceptance-tests.sh
env:
TF_ACC_PAM: 1
OKTAPAM_SECRET: ${{ secrets.OKTA_623529_PAM_TEAM_OKTAPAM_SECRET }}
OKTAPAM_KEY: ${{ secrets.OKTA_623529_PAM_TEAM_OKTAPAM_KEY }}
OKTAPAM_TEAM: ${{ secrets.OKTA_623529_PAM_TEAM_OKTAPAM_TEAM }}
OKTAPAM_TRUSTED_DOMAIN_OVERRIDE: ${{ secrets.OKTA_623529_PAM_TEAM_OKTAPAM_TRUSTED_DOMAIN_OVERRIDE }}
OKTAPAM_API_HOST: ${{ secrets.OKTA_623529_PAM_TEAM_OKTAPAM_API_HOST }}
- run: echo "🍏 This job's status is ${{ job.status }}."
check5:
name: Doc Generation
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Get Terraform CLI Version
id: vars
run: echo ::set-output name=tf-version::$(cat .terraform-version)
- name: Setup Terraform
uses: hashicorp/setup-terraform@v2
with:
terraform_version: ${{ steps.vars.outputs.tf-version }}
terraform_wrapper: false
- name: Run doc generation check
run: |
./scripts/ci-check-generated.sh
- run: echo "🍏 This job's status is ${{ job.status }}."
notify-on-failure:
name: Notify Slack on Failure
runs-on: ubuntu-latest
needs: [check1, check2, check3, check4]
if: failure() && github.repository == 'okta/terraform-provider-oktapam' && ((github.ref_type == 'branch' && github.ref_name == 'master') || github.ref_type == 'tag')
steps:
- name: Check out repository code
uses: actions/checkout@v2
- name: Notify Slack
uses: fjogeleit/http-request-action@v1
with:
url: ${{ secrets.OKTA_499446_SLACK_WEBHOOK }}
method: 'POST'
customHeaders: '{"Content-Type": "application/json"}'
data: '{"build_link": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}", "branch": "${{ github.ref_name }}", "reason": "Tests failed"}'