Skip to content
name: Setup application environment
jobs:
setup_application_environment:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:11-alpine
ports:
- '5432:5432'
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: dfe-teachers-payment-service_test
env:
RAILS_ENV: test
DFE_TEACHERS_PAYMENT_SERVICE_DATABASE_USERNAME: postgres
DFE_TEACHERS_PAYMENT_SERVICE_DATABASE_PASSWORD: password
DFE_TEACHERS_PAYMENT_SERVICE_DATABASE_HOST: localhost
CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
CI_NODE_INDEX: ${{ matrix.ci_node_index }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
cache: yarn
- name: Setup yarn
run: npm install -g yarn
- name: Install Node packages
run: yarn install
- name: Install Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- name: Restore assets cache
id: assets-cache
uses: actions/cache/restore@v4
with:
path: |
public/assets
key: assets-${{ hashFiles('**/app/assets/**/*', '**/app/javascript/**/*') }}
restore-keys: |
${{ runner.os }}-assets-
- name: Prepare assets
if: ${{ steps.assets-cache.outputs.cache-hit != 'true' }}
run: bin/rails assets:precompile
- name: Save assets cache
if: ${{ steps.assets-cache.outputs.cache-hit != 'true' }}
uses: actions/cache/save@v4
with:
path: |
public/assets
public/packs-test
key: ${{ steps.assets-cache.outputs.cache-primary-key }}