Ocelot-Social/.github/workflows/cache-verify.yml
resonic-user 5dc7a958e0 e2e
2025-06-16 10:17:33 +00:00

85 lines
2.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: CI Cache Verification
on:
push:
paths:
- '.github/workflows/cache-verify.yml'
workflow_dispatch:
jobs:
test-cache:
name: Verify Node Modules Cache
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Generate cache key
id: cache-key
run: echo "key=node-modules-${{ runner.os }}-${{ env.LOCK_HASH }}" >> $GITHUB_OUTPUT
env:
LOCK_HASH: ${{ hashFiles('backend/yarn.lock', 'webapp/yarn.lock') }}
- name: Show lockfile hashes (debug)
run: |
echo "backend/yarn.lock hash: ${{ hashFiles('backend/yarn.lock') }}"
echo "webapp/yarn.lock hash: ${{ hashFiles('webapp/yarn.lock') }}"
- name: Restore node_modules cache
id: restore-cache
uses: actions/cache@v4
with:
path: |
backend/node_modules
webapp/node_modules
key: ${{ steps.cache-key.outputs.key }}
restore-keys: |
node-modules-${{ runner.os }}-
node-modules-
- name: Show cache hit status
run: |
if [[ "${{ steps.restore-cache.outputs.cache-hit }}" == "true" ]]; then
echo "✅ Cache was hit!"
else
echo "❌ Cache was missed."
fi
- name: Install backend deps
run: |
cd backend
yarn install
yarn build
- name: Install webapp deps
run: |
cd webapp
yarn install
yarn build
- name: Start webapp (static or fallback)
run: |
if [ -d "webapp/out" ]; then
echo "Serving webapp/out statically..."
npx serve -s webapp/out -l 3000 &
else
echo "webapp/out not found falling back to yarn start..."
cd webapp
yarn start &
fi
- name: Test HTTP wait logic
run: |
echo "Waiting for http://localhost:3000 to respond..."
for i in {1..15}; do
curl -sf http://localhost:3000 && echo "✅ Service ready." && exit 0
echo "Attempt $i failed. Retrying..."
sleep 2
done
echo "❌ Service did not respond in time." && exit 1