name: integration-tests on: workflow_dispatch: schedule: - cron: 30 15 * * 0-6 push: tags-ignore: - '*.*' branches: - dev - releases/v4 jobs: # Deploys cross repo with an access token. integration-cross-repo-push: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Build and Deploy uses: JamesIves/github-pages-deploy-action@releases/v4 with: git-config-name: Montezuma git-config-email: montezuma@jamesiv.es repository-name: MontezumaIves/lab token: ${{ secrets.ACCESS_TOKEN }} branch: gh-pages folder: integration single-commit: true clean: true silent: true # Deploys using checkout@v1 with an ACCESS_TOKEN. integration-checkout-v1: needs: integration-cross-repo-push runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v1 - name: Build and Deploy uses: JamesIves/github-pages-deploy-action@releases/v4 with: token: ${{ secrets.ACCESS_TOKEN }} branch: gh-pages folder: integration target-folder: cat/montezuma git-config-name: Montezuma git-config-email: montezuma@jamesiv.es silent: true - name: Cleanup Generated Branch uses: dawidd6/action-delete-branch@v2.0.1 with: github_token: ${{ secrets.GITHUB_TOKEN }} branches: gh-pages # 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/v4 with: branch: gh-pages folder: integration target-folder: cat/montezuma2 silent: true - name: Cleanup Generated Branch uses: dawidd6/action-delete-branch@v2.0.1 with: github_token: ${{ secrets.GITHUB_TOKEN }} branches: gh-pages # 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/v4 with: branch: gh-pages folder: integration target-folder: cat/montezuma2 silent: true - name: Cleanup Generated Branch uses: dawidd6/action-delete-branch@v2.0.1 with: github_token: ${{ secrets.GITHUB_TOKEN }} branches: gh-pages # 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: Build and Deploy uses: JamesIves/github-pages-deploy-action@releases/v4 with: ssh-key: ${{ secrets.DEPLOY_KEY }} branch: gh-pages folder: integration target-folder: cat/montezuma3 silent: true - name: Cleanup Generated Branch uses: dawidd6/action-delete-branch@v2.0.1 with: github_token: ${{ secrets.GITHUB_TOKEN }} branches: gh-pages # Deploys using an SSH key. integration-ssh-third-party-client: needs: integration-ssh runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 with: persist-credentials: false - name: Install SSH Client uses: webfactory/ssh-agent@v0.4.1 with: ssh-private-key: ${{ secrets.DEPLOY_KEY }} - name: Build and Deploy uses: JamesIves/github-pages-deploy-action@releases/v4 with: ssh-key: true branch: gh-pages folder: integration target-folder: cat/montezuma4 silent: true - name: Cleanup Generated Branch uses: dawidd6/action-delete-branch@v2.0.1 with: github_token: ${{ secrets.GITHUB_TOKEN }} branches: gh-pages # Deploys using a custom env. integration-env: needs: integration-ssh-third-party-client runs-on: ubuntu-latest steps: - uses: actions/setup-node@v1.4.4 with: node-version: '10.x' - name: Checkout uses: actions/checkout@v2 with: persist-credentials: false - name: Build and Deploy uses: JamesIves/github-pages-deploy-action@releases/v4 with: ssh-key: ${{ secrets.DEPLOY_KEY }} branch: gh-pages folder: integration target-folder: cat/montezuma4 silent: true - name: Cleanup Generated Branch uses: dawidd6/action-delete-branch@v2.0.1 with: github_token: ${{ secrets.GITHUB_TOKEN }} branches: gh-pages # Deploys using the CLEAN option. integration-clean: needs: [integration-checkout-v1, integration-checkout-v2, integration-container, integration-ssh, integration-ssh-third-party-client, 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/v4 with: token: ${{ secrets.ACCESS_TOKEN }} branch: gh-pages folder: integration clean: true silent: true # Deploys to a branch that doesn't exist with SINGLE_COMMIT. integration-branch-creation: needs: integration-clean 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/v4 with: token: ${{ secrets.ACCESS_TOKEN }} branch: integration-test-delete-prod folder: integration single-commit: true silent: true - name: Cleanup Generated Branch uses: dawidd6/action-delete-branch@v2.0.1 with: github_token: ${{ secrets.GITHUB_TOKEN }} branches: integration-test-delete-prod