mirror of
https://github.com/actualbudget/actual.git
synced 2026-03-11 20:44:32 -05:00
60 lines
2.1 KiB
YAML
60 lines
2.1 KiB
YAML
name: Setup
|
|
description: Setup the environment for the project
|
|
|
|
inputs:
|
|
working-directory:
|
|
description: 'Working directory to run in, default .'
|
|
required: false
|
|
default: '.'
|
|
download-translations:
|
|
description: 'Whether to download translations as part of setup, default true'
|
|
required: false
|
|
default: 'true'
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- name: Install node
|
|
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
|
|
with:
|
|
node-version: 22
|
|
- name: Install yarn
|
|
run: npm install -g yarn
|
|
shell: bash
|
|
if: ${{ env.ACT }}
|
|
- name: Get Node version
|
|
id: get-node
|
|
run: echo "version=$(node -v)" >> "$GITHUB_OUTPUT"
|
|
shell: bash
|
|
- name: Cache
|
|
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
|
|
id: cache
|
|
with:
|
|
path: ${{ format('{0}/**/node_modules', inputs.working-directory) }}
|
|
key: yarn-v1-${{ runner.os }}-${{ steps.get-node.outputs.version }}-${{ hashFiles(format('{0}/**/yarn.lock', inputs.working-directory)) }}
|
|
- name: Ensure Lage cache directory exists
|
|
run: mkdir -p ${{ format('{0}/.lage', inputs.working-directory) }}
|
|
shell: bash
|
|
- name: Cache Lage
|
|
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
|
|
with:
|
|
path: ${{ format('{0}/.lage', inputs.working-directory) }}
|
|
key: lage-${{ runner.os }}-${{ github.sha }}
|
|
restore-keys: |
|
|
lage-${{ runner.os }}-
|
|
- name: Install
|
|
working-directory: ${{ inputs.working-directory }}
|
|
run: yarn --immutable
|
|
shell: bash
|
|
if: steps.cache.outputs.cache-hit != 'true'
|
|
- name: Download translations
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
with:
|
|
repository: actualbudget/translations
|
|
path: ${{ inputs.working-directory }}/packages/desktop-client/locale
|
|
if: ${{ inputs.download-translations == 'true' }}
|
|
- name: Remove untranslated languages
|
|
run: packages/desktop-client/bin/remove-untranslated-languages
|
|
shell: bash
|
|
if: ${{ inputs.download-translations == 'true' }}
|