Skip to content

chore: adding codeowners file for transition of code ownership #513

chore: adding codeowners file for transition of code ownership

chore: adding codeowners file for transition of code ownership #513

name: Acceptance
on:
pull_request:
branches:
- master
- fir-compatibility
paths-ignore:
- 'docs/**'
- '**.md'
push:
branches:
- master
paths-ignore:
- 'docs/**'
- '**.md'
jobs:
tests:
name: Tests - ${{ matrix.test-group }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
test-group:
- spaces-cedar
- spaces-fir
- addons
- builds
- apps-and-slugs
- other
env:
# Test configuration
HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }}
HEROKU_ORGANIZATION: terraform-ci-test-team
HEROKU_SPACES_ORGANIZATION: terraform-ci-test-team
HEROKU_TEAM: terraform-ci-test-team
HEROKU_EMAIL: [email protected]
HEROKU_TEST_USER: [email protected]
HEROKU_NON_ADMIN_TEST_USER: [email protected]
HEROKU_SLUG_ID: f2eba78f-25c9-476b-8998-2325241b980a
HEROKU_USER_ID: aaaa7bc7-7de5-410f-a60c-3741d2c355d1
# Test group patterns (for maintainability)
TEST_SKIP_PATTERN_OTHER: "^TestAccHerokuSpace|^TestAccHerokuAddon|^TestAccHerokuBuild|^TestAccHerokuApp|^TestAccHerokuSlug"
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version-file: 'go.mod'
cache: true
- name: Install Terraform
run: |
set -eu
terraform_version="1.6.6"
set +e
terraform_bin="$(which terraform)"
set -e
if [ -z "$terraform_bin" ]
then
terraform_bin="/usr/local/bin/terraform"
echo "Installing Terraform ($terraform_bin)"
else
echo "Replacing Terraform ($terraform_bin)"
fi
echo "Downloading version $terraform_version"
curl -s -L "https://releases.hashicorp.com/terraform/${terraform_version}/terraform_${terraform_version}_linux_amd64.zip" > "terraform-bin.zip"
echo "Unzipping archive"
unzip -p terraform-bin.zip > terraform-bin
echo "Moving into place"
sudo mv terraform-bin "$terraform_bin"
echo "Making executable"
sudo chmod +x "$terraform_bin"
echo "Cleaning-up"
rm terraform-bin.zip
echo "Installed: $(eval "$terraform_bin version") ($terraform_bin)"
- name: Run make fmt
if: runner.os != 'Windows'
run: |
make fmt
git diff --exit-code; code=$?; git checkout -- .; (exit $code)
- name: Run go vet
run: go vet ./...
- name: Run tests - Spaces Cedar
if: matrix.test-group == 'spaces-cedar'
timeout-minutes: 20
run: |
echo "Using: $(terraform version) ($(which terraform))"
make testacc TEST="./heroku/" TESTARGS="-run TestAccHerokuSpace_Cedar"
- name: Run tests - Spaces Fir
if: matrix.test-group == 'spaces-fir'
timeout-minutes: 10
run: |
echo "Using: $(terraform version) ($(which terraform))"
make testacc TEST="./heroku/" TESTARGS="-run TestAccHerokuSpace_Fir"
- name: Run tests - Addons
if: matrix.test-group == 'addons'
timeout-minutes: 20
run: |
echo "Using: $(terraform version) ($(which terraform))"
make testacc TEST="./heroku/" TESTARGS="-run TestAccHerokuAddon"
- name: Run tests - Builds
if: matrix.test-group == 'builds'
timeout-minutes: 10
run: |
echo "Using: $(terraform version) ($(which terraform))"
make testacc TEST="./heroku/" TESTARGS="-run TestAccHerokuBuild"
- name: Run tests - Apps and Slugs
if: matrix.test-group == 'apps-and-slugs'
timeout-minutes: 10
run: |
echo "Using: $(terraform version) ($(which terraform))"
make testacc TEST="./heroku/" TESTARGS="-run '^TestAccHerokuApp|^TestAccHerokuSlug'"
- name: Run tests - Other
if: matrix.test-group == 'other'
timeout-minutes: 20
run: |
echo "Using: $(terraform version) ($(which terraform))"
make testacc TEST="./heroku/" TESTARGS="-skip '${{ env.TEST_SKIP_PATTERN_OTHER }}'"