Checks #17441
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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"}' |