name: integration-tests-beta
on:
  schedule:
    - cron: 30 15 * * 0-6
  push:
    branches:
      - dev
      - releases/v3-test

jobs:
  # Deploys using checkout@v1 with an ACCESS_TOKEN.
  integration-checkout-v1:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v1

      - name: Build and Deploy
        uses: JamesIves/github-pages-deploy-action@releases/v3-test
        with:
          ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
          BRANCH: gh-pages-test
          FOLDER: integration
          BASE_BRANCH: dev
          TARGET_FOLDER: cat/montezuma
          GIT_CONFIG_NAME: Montezuma
          GIT_CONFIG_EMAIL: montezuma@jamesiv.es

      - name: Cleanup Generated Branch
        uses: dawidd6/action-delete-branch@v2.0.1
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          branches: gh-pages-test
  

  # Deploys using checkout@v2 with a GITHUB_TOKEN.
  integration-checkout-v2:
    needs: integration-checkout-v1
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          persist-credentials: false

      - name: Build and Deploy
        uses: JamesIves/github-pages-deploy-action@releases/v3-test
        with:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          BRANCH: gh-pages-test
          FOLDER: integration
          BASE_BRANCH: dev
          TARGET_FOLDER: cat/montezuma2

      - name: Cleanup Generated Branch
        uses: dawidd6/action-delete-branch@v2.0.1
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          branches: gh-pages-test


  # Deploys using a container that requires you to install rsync.
  integration-container:
    needs: integration-checkout-v2
    runs-on: ubuntu-latest
    container:
      image: ruby:2.6
      env:
        LANG: C.UTF-8
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          persist-credentials: false

      - name: Install rsync
        run: |
          apt-get update && apt-get install -y rsync

      - name: Build and Deploy
        uses: JamesIves/github-pages-deploy-action@releases/v3-test
        with:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          BRANCH: gh-pages-test
          FOLDER: integration
          BASE_BRANCH: dev
          TARGET_FOLDER: cat/montezuma2

      - name: Cleanup Generated Branch
        uses: dawidd6/action-delete-branch@v2.0.1
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          branches: gh-pages-test


  # Deploys using an SSH key.
  integration-ssh:
    needs: integration-container
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          persist-credentials: false

      - name: Install SSH Client
        uses: webfactory/ssh-agent@v0.2.0
        with:
          ssh-private-key: ${{ secrets.DEPLOY_KEY }}

      - name: Build and Deploy
        uses: JamesIves/github-pages-deploy-action@releases/v3-test
        with:
          SSH: true
          BRANCH: gh-pages-test
          FOLDER: integration
          BASE_BRANCH: dev
          TARGET_FOLDER: cat/montezuma3

      - name: Cleanup Generated Branch
        uses: dawidd6/action-delete-branch@v2.0.1
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          branches: gh-pages-test


  # Deploys using a custom env.
  integration-env:
    needs: integration-ssh
    runs-on: ubuntu-latest
    steps:
      - uses: actions/setup-node@v1
        with:
          node-version: '10.x'

      - name: Checkout
        uses: actions/checkout@v2
        with:
          persist-credentials: false

      - name: Install SSH Client
        uses: webfactory/ssh-agent@v0.2.0
        with:
          ssh-private-key: ${{ secrets.DEPLOY_KEY }}

      - name: Build and Deploy
        uses: JamesIves/github-pages-deploy-action@releases/v3-test
        with:
          SSH: true
          BRANCH: gh-pages-test
          FOLDER: integration
          BASE_BRANCH: dev
          TARGET_FOLDER: cat/montezuma4

      - name: Cleanup Generated Branch
        uses: dawidd6/action-delete-branch@v2.0.1
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          branches: gh-pages-test


  # Deploys using the CLEAN option toggled.
  integration-clean:
    needs: [integration-checkout-v1, integration-checkout-v2, integration-container, integration-ssh, integration-env]
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          persist-credentials: false

      - name: Build and Deploy
        uses: JamesIves/github-pages-deploy-action@releases/v3-test
        with:
          ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
          BRANCH: gh-pages-test
          FOLDER: integration
          BASE_BRANCH: dev
          CLEAN: true

  # Deploys to a branch that doesn't exist with SINGLE_COMMIT.
  integration-branch-creation:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          persist-credentials: false

      - name: Build and Deploy
        uses: JamesIves/github-pages-deploy-action@releases/v3-test
        with:
          ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
          BRANCH: integration-test-delete-beta
          FOLDER: integration
          BASE_BRANCH: dev
          SINGLE_COMMIT: true

      - name: Cleanup Generated Branch
        uses: dawidd6/action-delete-branch@v2.0.1
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          branches: integration-test-delete-beta
