-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
1. Scan for filament version in composerjson file
2. Run Filament prod-cache commands in Dockerfile if filament v3 and above detected 3. Revise GenerateCommandTest to ignore newline differences when checking if reference and generated files match 4. Create tests for laravel versions 10below and 11 for: filament_v3 support, AND filament_below_support_which_does_not_iclude_changes_for_v3_support
- Loading branch information
Kathryn Anne S Tan
committed
Apr 3, 2024
1 parent
92207a3
commit fc40e21
Showing
12 changed files
with
216 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
{ | ||
"require": { | ||
"laravel/framework": "^10.10" | ||
"laravel/framework": "^10.10", | ||
"filament/filament": "^2.0.0" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
# syntax = docker/dockerfile:experimental | ||
|
||
ARG PHP_VERSION=8.2 | ||
ARG NODE_VERSION=18 | ||
FROM fideloper/fly-laravel:${PHP_VERSION} as base | ||
|
||
# PHP_VERSION needs to be repeated here | ||
# See https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact | ||
ARG PHP_VERSION | ||
|
||
LABEL fly_launch_runtime="laravel" | ||
|
||
# copy application code, skipping files based on .dockerignore | ||
COPY . /var/www/html | ||
|
||
RUN composer install --optimize-autoloader --no-dev \ | ||
&& mkdir -p storage/logs \ | ||
&& php artisan optimize:clear \ | ||
&& chown -R www-data:www-data /var/www/html \ | ||
&& echo "MAILTO=\"\"\n* * * * * www-data /usr/bin/php /var/www/html/artisan schedule:run" > /etc/cron.d/laravel \ | ||
&& sed -i 's/protected \$proxies/protected \$proxies = "*"/g' app/Http/Middleware/TrustProxies.php;\ | ||
if [ -d .fly ]; then cp .fly/entrypoint.sh /entrypoint; chmod +x /entrypoint; fi; | ||
|
||
|
||
# If we're using Filament v3 and above, run caching commands... | ||
RUN php artisan icons:cache && php artisan filament:cache-components | ||
|
||
# Multi-stage build: Build static assets | ||
# This allows us to not include Node within the final container | ||
FROM node:${NODE_VERSION} as node_modules_go_brrr | ||
|
||
RUN mkdir /app | ||
|
||
RUN mkdir -p /app | ||
WORKDIR /app | ||
COPY . . | ||
COPY --from=base /var/www/html/vendor /app/vendor | ||
|
||
# Use yarn or npm depending on what type of | ||
# lock file we might find. Defaults to | ||
# NPM if no lock file is found. | ||
# Note: We run "production" for Mix and "build" for Vite | ||
RUN if [ -f "vite.config.js" ]; then \ | ||
ASSET_CMD="build"; \ | ||
else \ | ||
ASSET_CMD="production"; \ | ||
fi; \ | ||
if [ -f "yarn.lock" ]; then \ | ||
yarn install --frozen-lockfile; \ | ||
yarn $ASSET_CMD; \ | ||
elif [ -f "pnpm-lock.yaml" ]; then \ | ||
corepack enable && corepack prepare pnpm@latest-8 --activate; \ | ||
pnpm install --frozen-lockfile; \ | ||
pnpm run $ASSET_CMD; \ | ||
elif [ -f "package-lock.json" ]; then \ | ||
npm ci --no-audit; \ | ||
npm run $ASSET_CMD; \ | ||
else \ | ||
npm install; \ | ||
npm run $ASSET_CMD; \ | ||
fi; | ||
|
||
# From our base container created above, we | ||
# create our final image, adding in static | ||
# assets that we generated above | ||
FROM base | ||
|
||
# Packages like Laravel Nova may have added assets to the public directory | ||
# or maybe some custom assets were added manually! Either way, we merge | ||
# in the assets we generated above rather than overwrite them | ||
COPY --from=node_modules_go_brrr /app/public /var/www/html/public-npm | ||
RUN rsync -ar /var/www/html/public-npm/ /var/www/html/public/ \ | ||
&& rm -rf /var/www/html/public-npm \ | ||
&& chown -R www-data:www-data /var/www/html/public | ||
|
||
EXPOSE 8080 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
{ | ||
"require": { | ||
"laravel/framework": "^10.0.0", | ||
"filament/filament": "^3.0.0" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
{ | ||
"require": { | ||
"laravel/framework": "^11.0.0" | ||
"laravel/framework": "^11.0.0", | ||
"filament/filament": "^2.0.0" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
# syntax = docker/dockerfile:experimental | ||
|
||
ARG PHP_VERSION=8.2 | ||
ARG NODE_VERSION=18 | ||
FROM fideloper/fly-laravel:${PHP_VERSION} as base | ||
|
||
# PHP_VERSION needs to be repeated here | ||
# See https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact | ||
ARG PHP_VERSION | ||
|
||
LABEL fly_launch_runtime="laravel" | ||
|
||
# copy application code, skipping files based on .dockerignore | ||
COPY . /var/www/html | ||
|
||
RUN composer install --optimize-autoloader --no-dev \ | ||
&& mkdir -p storage/logs \ | ||
&& php artisan optimize:clear \ | ||
&& chown -R www-data:www-data /var/www/html \ | ||
&& echo "MAILTO=\"\"\n* * * * * www-data /usr/bin/php /var/www/html/artisan schedule:run" > /etc/cron.d/laravel \ | ||
&& sed -i='' '/->withMiddleware(function (Middleware \$middleware) {/a\ | ||
\$middleware->trustProxies(at: "*");\ | ||
' bootstrap/app.php; \ | ||
if [ -d .fly ]; then cp .fly/entrypoint.sh /entrypoint; chmod +x /entrypoint; fi; | ||
|
||
|
||
# If we're using Filament v3 and above, run caching commands... | ||
RUN php artisan icons:cache && php artisan filament:cache-components | ||
|
||
# Multi-stage build: Build static assets | ||
# This allows us to not include Node within the final container | ||
FROM node:${NODE_VERSION} as node_modules_go_brrr | ||
|
||
RUN mkdir /app | ||
|
||
RUN mkdir -p /app | ||
WORKDIR /app | ||
COPY . . | ||
COPY --from=base /var/www/html/vendor /app/vendor | ||
|
||
# Use yarn or npm depending on what type of | ||
# lock file we might find. Defaults to | ||
# NPM if no lock file is found. | ||
# Note: We run "production" for Mix and "build" for Vite | ||
RUN if [ -f "vite.config.js" ]; then \ | ||
ASSET_CMD="build"; \ | ||
else \ | ||
ASSET_CMD="production"; \ | ||
fi; \ | ||
if [ -f "yarn.lock" ]; then \ | ||
yarn install --frozen-lockfile; \ | ||
yarn $ASSET_CMD; \ | ||
elif [ -f "pnpm-lock.yaml" ]; then \ | ||
corepack enable && corepack prepare pnpm@latest-8 --activate; \ | ||
pnpm install --frozen-lockfile; \ | ||
pnpm run $ASSET_CMD; \ | ||
elif [ -f "package-lock.json" ]; then \ | ||
npm ci --no-audit; \ | ||
npm run $ASSET_CMD; \ | ||
else \ | ||
npm install; \ | ||
npm run $ASSET_CMD; \ | ||
fi; | ||
|
||
# From our base container created above, we | ||
# create our final image, adding in static | ||
# assets that we generated above | ||
FROM base | ||
|
||
# Packages like Laravel Nova may have added assets to the public directory | ||
# or maybe some custom assets were added manually! Either way, we merge | ||
# in the assets we generated above rather than overwrite them | ||
COPY --from=node_modules_go_brrr /app/public /var/www/html/public-npm | ||
RUN rsync -ar /var/www/html/public-npm/ /var/www/html/public/ \ | ||
&& rm -rf /var/www/html/public-npm \ | ||
&& chown -R www-data:www-data /var/www/html/public | ||
|
||
EXPOSE 8080 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
{ | ||
"require": { | ||
"laravel/framework": "^11.0.0", | ||
"filament/filament": "^3.0.0" | ||
} | ||
} |