---
name: Run automated builder

on:
  pull_request:
    branches: [master]
  push:
    branches:
      #- master
      - 'ci*'
    tags:
      - '*'

concurrency:
  group: ${{ github.workflow }}
  cancel-in-progress: true

jobs:
  build:
    runs-on: ubuntu-latest
    env:
      ANSIBLE_VAULT_PASSWORD: ${{ secrets.ANSIBLE_VAULT_PASSWORD }}
      GIT_REPO: ${{ github.repository }}
      REF_NAME: ${{ github.ref_name }}
      REF_TYPE: ${{ github.ref_type }}
      GITHUB_EVENT_NAME: ${{ github.event_name }}
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Set up Python 3.8
        uses: actions/setup-python@v5
        with:
          python-version: 3.8

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install ansible

      - name: Run automated builder
        run: |
          ./automated_builder/scripts/run_automated_builder.sh $ANSIBLE_VAULT_PASSWORD

      - name: Handle artifacts
        if: always()
        run: |
          ./automated_builder/scripts/handle_artifacts.sh $ANSIBLE_VAULT_PASSWORD

      - name: Upload artifacts
        uses: actions/upload-artifact@v4
        if: always()
        with:
          name: logs
          path: ./automated_builder/logs/

      - name: Teardown build
        if: always()
        run: |
          ./automated_builder/scripts/teardown_build.sh $ANSIBLE_VAULT_PASSWORD
