76 lines
1.9 KiB
YAML
76 lines
1.9 KiB
YAML
name: Build and Deploy
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
paths:
|
|
- 'assets/**'
|
|
- 'content/**'
|
|
- 'data/*.json'
|
|
- 'layouts/**'
|
|
- 'config.*.yml'
|
|
- 'composer.json'
|
|
- 'package.json'
|
|
- '.github/workflows/build-deploy.yml'
|
|
|
|
jobs:
|
|
|
|
build-and-deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout 🛎️
|
|
uses: actions/checkout@v2
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Get composer cache directory
|
|
id: composer-cache
|
|
run: |
|
|
echo "cache_dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
|
|
|
|
- name: Cache composer downloads 💾
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: ${{ steps.composer-cache.outputs.cache_dir }}
|
|
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.*') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-composer-
|
|
|
|
- name: Cache PHP dependencies 💾
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: vendor
|
|
key: ${{ runner.OS }}-build-${{ hashFiles('**/composer.*') }}
|
|
|
|
- name: Setup PHP with intl 🏗
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: '7.4'
|
|
extensions: intl-69.1
|
|
|
|
- name: Install composer dependencies 🏗
|
|
shell: bash
|
|
run: |
|
|
composer install
|
|
|
|
- name: Install node dependencies 🏗
|
|
shell: bash
|
|
run: |
|
|
yarn install
|
|
|
|
- name: Build 🔧
|
|
shell: bash
|
|
run: |
|
|
make production
|
|
|
|
- name: Deploy 🚀
|
|
uses: JamesIves/github-pages-deploy-action@4.1.3
|
|
with:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
GIT_CONFIG_NAME: github-actions[bot]
|
|
GIT_CONFIG_EMAIL: 41898282+github-actions[bot]@users.noreply.github.com
|
|
BRANCH: gh-pages
|
|
FOLDER: public
|
|
CLEAN: true
|