This commit is contained in:
parent
708da9af70
commit
464dfdf024
@ -26,12 +26,23 @@ jobs:
|
|||||||
|
|
||||||
- name: Free up disk space
|
- name: Free up disk space
|
||||||
run: |
|
run: |
|
||||||
# Remove unnecessary large packages
|
# Display disk space before cleanup
|
||||||
sudo apt-get remove -y '^ghc-.*' '^dotnet-.*' '^llvm-.*' '^mono-.*' '^php.*' '^mongodb-.*' '^mysql-.*'
|
df -h
|
||||||
sudo apt-get remove -y azure-cli google-cloud-sdk google-chrome-stable firefox
|
|
||||||
|
# Remove large packages without using regex
|
||||||
|
sudo apt-get remove -y azure-cli google-cloud-sdk google-chrome-stable firefox mono-runtime
|
||||||
sudo apt-get autoremove -y
|
sudo apt-get autoremove -y
|
||||||
|
|
||||||
# Remove large directories
|
# Remove large directories
|
||||||
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache
|
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache
|
||||||
|
|
||||||
|
# Clean Docker (if installed)
|
||||||
|
if command -v docker &> /dev/null; then
|
||||||
|
docker system prune -af
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Display disk space after cleanup
|
||||||
|
df -h
|
||||||
|
|
||||||
- name: Install system dependencies
|
- name: Install system dependencies
|
||||||
run: |
|
run: |
|
||||||
@ -61,7 +72,19 @@ jobs:
|
|||||||
run: pnpm install
|
run: pnpm install
|
||||||
|
|
||||||
- name: Build Astro site
|
- name: Build Astro site
|
||||||
run: pnpm run build
|
run: |
|
||||||
|
echo "Attempting to build with Sharp..."
|
||||||
|
if pnpm run build; then
|
||||||
|
echo "Build with Sharp successful!"
|
||||||
|
else
|
||||||
|
echo "Build with Sharp failed, falling back to passthrough image service..."
|
||||||
|
# Copy the CI config to use the passthrough image service
|
||||||
|
cp astro.config.ci.mjs astro.config.mjs
|
||||||
|
# Clean the previous failed build
|
||||||
|
rm -rf dist
|
||||||
|
# Try building again with the passthrough config
|
||||||
|
pnpm run build
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Deploy to server
|
- name: Deploy to server
|
||||||
run: rsync -avzP ./dist/ root@${{ secrets.SERVER_IP }}:/var/www/html/
|
run: rsync -avzP ./dist/ root@${{ secrets.SERVER_IP }}:/var/www/html/
|
||||||
|
60
astro.config.ci.mjs
Normal file
60
astro.config.ci.mjs
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
// @ts-check
|
||||||
|
import { defineConfig } from "astro/config";
|
||||||
|
import tailwindcss from "@tailwindcss/vite";
|
||||||
|
|
||||||
|
// https://astro.build/config
|
||||||
|
export default defineConfig({
|
||||||
|
site: 'https://justin.deal',
|
||||||
|
|
||||||
|
// Performance optimizations
|
||||||
|
compressHTML: true,
|
||||||
|
|
||||||
|
// Build optimizations
|
||||||
|
build: {
|
||||||
|
inlineStylesheets: 'auto', // Inline small stylesheets for better performance
|
||||||
|
},
|
||||||
|
|
||||||
|
// Image optimizations - using passthrough service for CI/CD
|
||||||
|
image: {
|
||||||
|
service: {
|
||||||
|
entrypoint: 'astro/assets/services/noop',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
// Vite configuration
|
||||||
|
vite: {
|
||||||
|
plugins: [tailwindcss()],
|
||||||
|
|
||||||
|
// Build optimizations
|
||||||
|
build: {
|
||||||
|
// Enable chunk splitting
|
||||||
|
cssCodeSplit: true,
|
||||||
|
|
||||||
|
// Optimize chunks
|
||||||
|
rollupOptions: {
|
||||||
|
output: {
|
||||||
|
// Customize chunk naming
|
||||||
|
manualChunks: {
|
||||||
|
// Group Alpine.js and related code
|
||||||
|
alpine: ['alpinejs'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
// Optimize dependencies
|
||||||
|
optimizeDeps: {
|
||||||
|
include: ['alpinejs'],
|
||||||
|
},
|
||||||
|
|
||||||
|
// CSS optimization
|
||||||
|
css: {
|
||||||
|
devSourcemap: true,
|
||||||
|
},
|
||||||
|
|
||||||
|
// Enable server-side rendering optimizations
|
||||||
|
ssr: {
|
||||||
|
noExternal: ['@astrojs/tailwind'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
Loading…
x
Reference in New Issue
Block a user