diff --git a/.github/workflows/modules.yml b/.github/workflows/modules.yml index 62631d0..5c1a80f 100644 --- a/.github/workflows/modules.yml +++ b/.github/workflows/modules.yml @@ -6,60 +6,62 @@ on: [push] # workflow_dispatch: jobs: + setup: + name: 'Test Selectel Terraform modules' + runs-on: self-hosted + env: + TF_VAR_selectel_domain_name: ${{ secrets.SELECTEL_ID }} + TF_VAR_selectel_user_admin_user: ${{ secrets.SERVICE_USER }} + TF_VAR_selectel_user_admin_password: ${{ secrets.SERVICE_PASSWORD }} + + steps: + - name: Checkout the repo + uses: actions/checkout@v3 + + - name: Setup NodeJS v20 + uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Setup Terraform + uses: hashicorp/setup-terraform@v3.0.0 + + - name: Run Checkov action # suppressed for now because it fails to copy a file inside a self-hosted runner + uses: bridgecrewio/checkov-action@v12 + with: + quiet: true + directory: . + output_format: cli + framework: terraform,github_actions + container_user: 1000 + + - name: Lint Terraform + run: terraform fmt -diff -check -recursive + + - name: Init Terraform + run: terraformTESTFAILJOB init + + - name: Terraform apply + run: terraform apply -auto-approve + + - name: Terraform destroy + run: terraform destroy -auto-approve + notify: name: 'Telegram notify' runs-on: self-hosted - + if: ${{ failure() }} steps: - - name: send telegram message on push + - name: send telegram message on failure uses: appleboy/telegram-action@master with: to: ${{ secrets.TELEGRAM_TO }} token: ${{ secrets.TELEGRAM_TOKEN }} message: | - ${{ github.actor }} created commit: - Commit message: ${{ github.event.commits[0].message }} + Terraform modules build pipeline was failed + + Action: $GITHUB_ACTION_PATH Repository: ${{ github.repository }} - See changes: https://github.com/${{ github.repository }}/commit/${{github.sha}} -# setup: -# name: 'Test Selectel Terraform modules' -# runs-on: self-hosted -# env: -# TF_VAR_selectel_domain_name: ${{ secrets.SELECTEL_ID }} -# TF_VAR_selectel_user_admin_user: ${{ secrets.SERVICE_USER }} -# TF_VAR_selectel_user_admin_password: ${{ secrets.SERVICE_PASSWORD }} -# -# steps: -# - name: Checkout the repo -# uses: actions/checkout@v3 -# -# - name: Setup NodeJS v20 -# uses: actions/setup-node@v4 -# with: -# node-version: 20 -# -# - name: Setup Terraform -# uses: hashicorp/setup-terraform@v3.0.0 - -# - name: Run Checkov action # suppressed for now because it fails to copy a file inside a self-hosted runner -# uses: bridgecrewio/checkov-action@v12 -# with: -# quiet: true -# directory: . -# output_format: cli -# framework: terraform,github_actions -# container_user: 1000 - -# - name: Lint Terraform -# run: terraform fmt -diff -check -recursive -# -# - name: Init Terraform -# run: terraform init -# -# - name: Terraform apply -# run: terraform apply -auto-approve -# -# - name: Terraform destroy -# run: terraform destroy -auto-approve + See changes: https://github.com/${{ github.repository }}/commit/${{github.sha}} \ No newline at end of file