Skip to content

Implement e2e tests for the CLI #11

Implement e2e tests for the CLI

Implement e2e tests for the CLI #11

Workflow file for this run

name: E2E Tests
on:
push:
branches:
- main
- e2e-tests
jobs:
# actions:
# runs-on: depot-ubuntu-22.04-4
# env:
# CGO_ENABLED: 0
# permissions:
# contents: read # required for checkout
# id-token: write # mint AWS credentials through OIDC
# steps:
# - name: Cache Terraform Providers
# id: cache-terraform
# uses: actions/cache@v3
# with:
# path: .terraform
# key: ${{ runner.os }}-${{ inputs.environment }}-${{ hashFiles('**/.terraform.lock.hcl') }}
# - uses: hashicorp/setup-terraform@v2
# with:
# terraform_version: 1.5.7
# terraform_wrapper: false
# - name: Configure AWS Credentials
# uses: aws-actions/configure-aws-credentials@v4
# with:
# audience: sts.amazonaws.com # set default value to work around https://github.com/aws-actions/configure-aws-credentials/issues/271#issuecomment-1401481855
# aws-region: eu-west-2
# role-to-assume: arn:aws:iam::211125377101:role/terraform-ci-test
# - name: Checkout
# uses: actions/checkout@v4
# with:
# fetch-depth: 0
# - name: Go Init
# uses: ./.github/actions/go_init
# - name: Build the binary
# run: |
# set -xe
# go get -v -t -d ./...
# go build -o overmind main.go
# - name: Run E2E Tests
# env:
# OVM_API_KEY: ${{ secrets.OVM_API_KEY }}
# run: |
# set -xe
# ./overmind -v
# terraform init
# terraform plan -out=tfplan
# terraform show -json tfplan > tfplan.json
# ticket_link='${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}'
# ./overmind changes submit-plan \
# --title "Test Change for e2e tests" \
# --description "some description" \
# --ticket-link "$ticket_link" \
# tfplan.json \
# > ./overmindtech-change-url
# ./overmind changes get-change \
# --change "$(< ./overmindtech-change-url)" \
# --format markdown \
# > ./overmindtech-message
# ./overmind changes start-change \
# --ticket-link "$ticket_link"
# ./overmind changes end-change \
# --ticket-link "$ticket_link"
# echo "E2E Tests Complete"
interactive:
runs-on: depot-ubuntu-22.04-4
env:
CGO_ENABLED: 0
permissions:
contents: read # required for checkout
id-token: write # mint AWS credentials through OIDC
steps:
- name: Cache Terraform Providers
id: cache-terraform
uses: actions/cache@v3
with:
path: .terraform
key: ${{ runner.os }}-${{ inputs.environment }}-${{ hashFiles('**/.terraform.lock.hcl') }}
- uses: hashicorp/setup-terraform@v2
with:
terraform_version: 1.5.7
terraform_wrapper: false
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
audience: sts.amazonaws.com # set default value to work around https://github.com/aws-actions/configure-aws-credentials/issues/271#issuecomment-1401481855
aws-region: eu-west-2
role-to-assume: arn:aws:iam::211125377101:role/terraform-ci-test
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Go Init
uses: ./.github/actions/go_init
- name: Build the binary
run: |
set -xe
go get -v -t -d ./...
go build -o overmind main.go
- name: Run E2E Tests
env:
OVM_API_KEY: ${{ secrets.OVM_API_KEY }}
TEABUG: pls
run: |
set -xe
go build -o overmind main.go
./overmind -v
./overmind terraform plan --aws-config defaults -- -out "tfplan"
./overmind terraform apply --aws-config defaults -- "tfplan"
terraform apply -destroy -auto-approve
echo "E2E Tests Complete"
- name: debug output
if: always()
run: |
cat teabug.log