[TASK] Add deployment for legacy hooking #2
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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() |