fix(build): ensure fresh Flutter build on each deploy
- Add flutter clean before build to prevent stale cached artifacts - Add VERSION build arg for explicit cache busting - Reorder build steps: clean → pub get → build_runner → health.json → build - Replace deprecated dart:html with package:web in iframe_view_web.dart - Add lint ignore to generate_health_json.dart Fixes issue where Docker layer caching kept old main.dart.js while regenerating health.json with new version number. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.5
parent
16bad327f1
commit
8625ac6574
+12
-4
@@ -3,16 +3,24 @@ FROM ghcr.io/cirruslabs/flutter:stable AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Copy dependency files first for better caching
|
||||
COPY pubspec.yaml ./
|
||||
# VERSION arg busts cache when version changes in pubspec.yaml
|
||||
# Extract version: docker build --build-arg VERSION=$(grep '^version:' pubspec.yaml | cut -d' ' -f2) .
|
||||
ARG VERSION=0.0.0
|
||||
RUN echo "Building version: $VERSION"
|
||||
|
||||
# Get dependencies (generates pubspec.lock)
|
||||
# Copy dependency files first for better caching
|
||||
COPY pubspec.yaml pubspec.lock* ./
|
||||
|
||||
# Get dependencies
|
||||
RUN flutter pub get
|
||||
|
||||
# Copy the rest of the application
|
||||
COPY . .
|
||||
|
||||
# Generate code with build_runner
|
||||
# Clean any cached build artifacts to ensure fresh build
|
||||
RUN flutter clean && flutter pub get
|
||||
|
||||
# Generate code with build_runner (after clean for fresh generation)
|
||||
RUN dart run build_runner build --delete-conflicting-outputs
|
||||
|
||||
# Generate health.json with version info
|
||||
|
||||
Reference in New Issue
Block a user