name: Run tests
on: [pull_request]
jobs:
  unit_test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: [3.6, 3.7, 3.8, 3.9]

    steps:
      - uses: actions/checkout@v2

      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}

      - name: Setup Python cache
        uses: actions/cache@v2
        with:
          path: venv
          key: venv-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('**/requirements*.txt') }}

      - name: Install dependencies
        run: make requirements-dev

      - name: Run Python tests
        run: make test

  terraform_test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      - name: Install tfenv
        run: |
          git clone https://github.com/tfutils/tfenv.git ~/.tfenv
          echo "$HOME/.tfenv/bin" >> $GITHUB_PATH
      
      - name: Install Terraform
        run: tfenv install

      - name: Setup Terraform cache
        uses: actions/cache@v2
        with:
          path: "**/.terraform"
          key: terraform-${{ runner.os }}-${{ hashFiles('**/.terraform-version') }}

      - name: Validate terraform
        run: |
          make terraformatest
          make test-terraform

name: Run tests
on: [pull_request]
jobs:
  unit_test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: [3.6, 3.7, 3.8, 3.9]

    steps:
      - uses: actions/checkout@v2

      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}

      - name: Setup Python cache
        uses: actions/cache@v2
        with:
          path: venv
          key: venv-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('**/requirements*.txt') }}

      - name: Install developer tools
        run: make bootstrap

      - name: Install dependencies
        run: make requirements-dev

      - name: Run Python tests
        run: make test

  terraform_test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      - name: Install tfenv
        run: |
          git clone https://github.com/tfutils/tfenv.git ~/.tfenv
          echo "$HOME/.tfenv/bin" >> $GITHUB_PATH
      
      - name: Install Terraform
        run: tfenv install

      - name: Setup Terraform cache
        uses: actions/cache@v2
        with:
          path: "**/.terraform"
          key: terraform-${{ runner.os }}-${{ hashFiles('**/.terraform-version') }}

      - name: Validate terraform
        run: |
          make terraformatest
          make test-terraform

Install developer tools for CI
Install developer tools for CI
