Skip to content

Build assets on CI and add caching (#461) #1

Build assets on CI and add caching (#461)

Build assets on CI and add caching (#461) #1

Workflow file for this run

name: Assets
on:
push:
branches:
- main
- "v*.*"
jobs:
build:
runs-on: ubuntu-22.04
env:
elixir: 1.14.0
otp: 24.3
steps:
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
elixir-version: ${{ env.elixir }}
otp-version: ${{ env.otp }}
- name: Cache Mix
uses: actions/cache@v4
with:
path: |
deps
_build
key: ${{ runner.os }}-mix-${{ env.elixir }}-${{ env.otp }}-${{ hashFiles('**/mix.lock') }}-dev
restore-keys: |
${{ runner.os }}-mix-${{ env.elixir }}-${{ env.otp }}-
- name: Install Dependencies
run: mix deps.get --only dev
- name: Setup Node.js 18.x
uses: actions/setup-node@v3
with:
node-version: 18
- name: Cache npm dependencies
uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install npm dependencies
run: npm ci --prefix assets
- name: Build assets
run: mix assets.build
- name: Push updated assets
id: push_assets
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Update assets
file_pattern: dist