Cache page assets during CI/CD
Some checks failed
Create Docker Image / Test Application (x86_64) (push) Successful in 1m12s
Create Docker Image / Final Docker Image Manifest (push) Has been cancelled
Create Docker Image / Build Docker Image (x86_64) (push) Has been cancelled
Create Docker Image / Build Docker Image (arm64) (push) Has been cancelled

This commit is contained in:
Deon George 2025-01-03 23:25:54 +11:00
parent 6180a2b2da
commit be60c6a506

View File

@ -6,32 +6,38 @@ env:
DOCKER_HOST: tcp://127.0.0.1:2375
jobs:
# test:
# strategy:
# matrix:
# arch:
# - x86_64
# # arm64
#
# name: Test Application
# runs-on: docker-${{ matrix.arch }}
# container:
# image: docker:dind
# privileged: true
#
# steps:
# - name: Environment Setup
# run: |
# # If we have a proxy use it
# if [ -n "${HTTP_PROXY}" ]; then echo "HTTP PROXY [${HTTP_PROXY}]"; sed -i -e s'/https/http/' /etc/apk/repositories; fi
# # Some pre-reqs
# apk add git nodejs npm
# ## Some debugging info
# # env|sort
#
# - name: Code Checkout
# uses: actions/checkout@v4
#
test:
strategy:
matrix:
arch:
- x86_64
# arm64
name: Test Application
runs-on: docker-${{ matrix.arch }}
container:
image: docker:dind
privileged: true
steps:
- name: Environment Setup
run: |
# If we have a proxy use it
if [ -n "${HTTP_PROXY}" ]; then echo "HTTP PROXY [${HTTP_PROXY}]"; sed -i -e s'/https/http/' /etc/apk/repositories; fi
# Some pre-reqs
apk add git nodejs npm
## Some debugging info
# env|sort
- name: Code Checkout
uses: actions/checkout@v4
- name: Build Assets
run: |
# Build assets
npm i
npm run prod
# - name: Run Tests
# run: |
# mv .env.testing .env
@ -43,19 +49,32 @@ jobs:
# php artisan key:generate
# php artisan migrate
# php artisan db:seed
# # Build assets
# npm i
# npm run prod
# # run laravel tests
# # XDEBUG_MODE=coverage php vendor/bin/phpunit --coverage-text --colors=never
- name: Cache page assets
id: cache-page-assets
uses: actions/cache@v3
env:
cache-name: page-assets
with:
path: |
public/css/app.css
key:
${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
build:
strategy:
matrix:
arch:
- x86_64
- arm64
# needs: [test]
needs: [test]
name: Build Docker Image
runs-on: docker-${{ matrix.arch }}
@ -95,11 +114,12 @@ jobs:
- name: Code Checkout
uses: actions/checkout@v4
- name: Build Assets
- if: ${{ steps.cache-page-assets.outputs.cache-hit != 'true' }}
name: List the state of node modules
continue-on-error: true
run: |
# Build assets
npm i
npm run prod
ls -al
ls -al public/css/
- name: Record version and Delete Unnecessary files
run: |