Skip to content

[TASK] Add deployment for legacy hooking #2

[TASK] Add deployment for legacy hooking

[TASK] Add deployment for legacy hooking #2

Workflow file for this run

name: Legacy webhook
on:
push:
branches:
- master
- develop
paths:
- 'legacy_hook/**/*'
pull_request:
paths:
- 'legacy_hook/**/*'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-versions:
- '8.2'
steps:
- uses: actions/checkout@v4
- name: Setup PHP ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
coverage: pcov
- name: Setup Composer cache
id: composer-cache
run: |
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Recover Composer caches
uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock', '**/composer.json') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Change working dir
run:
cd legacy_hook
- name: Install dependencies (Composer)
run: composer install --prefer-dist --no-progress --no-interaction --ansi
env:
COMPOSER_AUTH: '{
"http-basic": {
"repo.packagist.com": {
"username": "token",
"password": "${{ secrets.PACKAGIST_AUTH_TOKEN }}"
}
},
"github-oauth": {
"github.com": "${{ secrets.ACTIONS_TOKEN }}"
}
}'
- name: Tests
run: composer t3g:test
deployment:
name: 'Deployment'
needs: build
if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Setup SSH Key
env:
SSH_AUTH_SOCK: /tmp/ssh-auth.sock
run: |
mkdir -p ~/.ssh
echo "${{ secrets.PROD_SSH_PRIVATE_KEY }}" > ~/.ssh/deploy_legacy_hook_rsa
chmod 0600 ~/.ssh/deploy_legacy_hook_rsa
ssh-keygen -p -P "${{ secrets.PROD_SSH_PASSPHRASE }}" -N "" -f ~/.ssh/deploy_legacy_hook_rsa
ssh-agent -a $SSH_AUTH_SOCK > /dev/null
ssh-add ~/.ssh/deploy_legacy_hook_rsa
- uses: actions/checkout@v4
- name: Setup PHP ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2
with:
php-version: 8.2
- name: Setup Composer cache
id: composer-cache
run: |
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Recover Composer caches
uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock', '**/composer.json') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Install Magallanes
run: |
composer global require "andres-montanez/magallanes" --no-progress
/home/runner/.composer/vendor/bin/mage version
mkdir -p ./.mage/logs
- name: Get Environment
id: environment
run: |
echo "target=legacy_hook_$(echo ${GITHUB_REF#refs/heads/} | sed 's/\//-/g')" >> $GITHUB_OUTPUT
- name: Deployment
env:
SSH_AUTH_SOCK: /tmp/ssh-auth.sock
COMPOSER_AUTH: '{
"http-basic": {
"repo.packagist.com": {
"username": "token",
"password": "${{ secrets.PACKAGIST_AUTH_TOKEN }}"
}
},
"github-oauth": {
"github.com": "${{ secrets.ACTIONS_TOKEN }}"
}
}'
run: |
/home/runner/.composer/vendor/bin/mage deploy ${{ steps.environment.outputs.target }} -vvv
- name: Archive Logs
uses: actions/upload-artifact@v3
if: always()
with:
name: logs
path: .mage/logs
- name: Echo logs
run: find .mage/logs/ -type f -exec cat {} +
if: always()