Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languageyaml
# Kalamuna GitHub Actions Deployment
#
# This will deploy from GitHub to a git repository through GitHub Actions.
#
# 1. Add a DEPLOY_REPO variable to your GitHub Actions variables
#    https://github.com/kalamuna/REPO/settings/secrets/actions
#
# 2. Add this build-and-deploy.yml file to a .github/workflows folder
#
# 3. Ensure all build steps are represented

name: Build and Deploy
on: push
jobs:
  build:
    runs-on: ubuntu-latest
    steps:

    # Verify the DEPLOY_REPO Repository variable exists
    - name: Verify DEPLOY_REPO
      if: "${{ vars.DEPLOY_REPO == '' }}"
      run: echo "Add a DEPLOY_REPO Repository Variable at https://github.com/$GITHUB_REPOSITORY/settings/variables/actions for where to deploy to." && exit 1

    - name: Checkout
      uses: actions/checkout@v3
      with:
        fetch-depth: 0

    #- name: Composer
    #  uses: php-actions/composer@v6
    #  with:
    #    args: --prefer-dist --ignore-platform-reqs

    - name: Node.js - Check if Required
      id: nodejsrequired
      uses: andstor/file-existence-action@v2
      with:
        files: "package.json"

    - name: Node.js - Configure
      uses: actions/setup-node@v3
      if: steps.nodejsrequired.outputs.files_exists == 'true'
      with:
        node-version: 1416
        cache: 'npm'
        cache-dependency-path: package-lock.json

    - name: Node.js - Install
      run: npm ci
      if: steps.nodejsrequired.outputs.files_exists == 'true'

    - name: Node.js - Test
      run: npm test
      if: steps.nodejsrequired.outputs.files_exists == 'true'

    - name: Commit
      run: |
          git config --global user.name "${{ vars.KALABOT_GIT_NAME }}"
          git config --global user.email "${{ vars.KALABOT_GIT_EMAIL }}"
          rm .gitignore
          mv .gitignore-deploy .gitignore
          find web -type d -name .git -print0|xargs -0 rm -rf
          find docroot -type d -name .git -print0|xargs -0 rm -rf
          git add .
          git commit -m "Built $GITHUB_REPOSITORY from: $GITHUB_SHA
              All code changes should be committed to: https://github.com/$GITHUB_REPOSITORY
              Any commits made directly to this Pantheon repository will be overwritten."

    - name: Configure SSH
      uses: shimataro/ssh-key-action@v2
      with:
        key: ${{ secrets.KALABOT_SSH_KEY }}
        config: ${{ vars.KALABOT_SSH_CONFIG }}
        known_hosts: unnecessary

    - name: Deploy
      env:
        deploy_repo: '${{ vars.DEPLOY_REPO }}'
      run: |
        git remote add deploy $deploy_repo
        git push --force deploy HEAD:refs/heads/${GITHUB_REF##*/}

...