Deploy #132
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: Deploy | |
on: | |
push: | |
tags: | |
- '*' | |
workflow_dispatch: | |
# Prevents concurrent deployments | |
concurrency: production_environment | |
jobs: | |
prod: | |
if: startsWith(github.ref, 'refs/tags/') | |
runs-on: ubuntu-latest | |
environment: | |
name: production | |
url: https://typo3-badges.dev | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
# Prepare environment | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.3 | |
tools: composer:v2 | |
coverage: none | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: 'yarn' | |
# Install dependencies | |
- name: Install Composer dependencies | |
uses: ramsey/composer-install@v2 | |
with: | |
composer-options: --no-dev --optimize-autoloader | |
- name: Install node modules | |
run: yarn --frozen-lockfile | |
# Audit packages | |
- name: Audit Composer dependencies | |
run: composer audit | |
- name: Audit Frontend dependencies | |
run: yarn audit | |
# Build Frontend | |
- name: Build Frontend dist files | |
run: yarn build | |
# Deploy to production | |
- name: Deploy | |
uses: deployphp/action@v1 | |
env: | |
LANG: en_US.UTF-8 | |
LANGUAGE: en_US.UTF-8 | |
LC_CTYPE: en_US.UTF-8 | |
LC_ALL: en_US.UTF-8 | |
with: | |
private-key: ${{ secrets.SSH_PRIVATE_KEY }} | |
known-hosts: ${{ secrets.SSH_KNOWN_HOSTS }} | |
dep: deploy production | |
deployer-version: '7.4.0' | |
dev: | |
if: ${{ github.event_name == 'workflow_dispatch' }} | |
runs-on: ubuntu-latest | |
environment: | |
name: dev | |
url: https://pre.typo3-badges.dev | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
# Prepare environment | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.3 | |
tools: composer:v2 | |
coverage: none | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
cache: 'yarn' | |
# Install dependencies | |
- name: Install Composer dependencies | |
uses: ramsey/composer-install@v2 | |
with: | |
composer-options: --no-dev --optimize-autoloader | |
- name: Install node modules | |
run: yarn --frozen-lockfile | |
# Build Frontend | |
- name: Build Frontend dist files | |
run: yarn build | |
# Deploy to production | |
- name: Deploy | |
uses: deployphp/action@v1 | |
env: | |
LANG: en_US.UTF-8 | |
LANGUAGE: en_US.UTF-8 | |
LC_CTYPE: en_US.UTF-8 | |
LC_ALL: en_US.UTF-8 | |
with: | |
private-key: ${{ secrets.SSH_PRIVATE_KEY }} | |
known-hosts: ${{ secrets.SSH_KNOWN_HOSTS }} | |
dep: deploy dev | |
deployer-version: '7.4.0' |