All checks were successful
Deploy to S3 / deploy (push) Successful in 1m45s
Serve it as text/plain on deploy so browsers display the raw text instead of downloading; add .dockerignore so local image builds can't ship stale _site or host node_modules.
30 lines
862 B
Makefile
30 lines
862 B
Makefile
S3_BUCKET ?= s3://donny.nyc
|
|
CF_DISTRIBUTION_ID ?=
|
|
|
|
.PHONY: build dev deploy invalidate
|
|
|
|
build:
|
|
docker build -t unprompted .
|
|
|
|
dev:
|
|
docker run --rm -v $$(pwd):/app -w /app -p 8080:8080 node:22-alpine sh -c "yarn install && yarn dev --port 8080"
|
|
|
|
# CLAUDE.md is re-uploaded as text/plain: sync guesses text/markdown for .md,
|
|
# which Firefox downloads instead of displaying in the tab.
|
|
deploy: build
|
|
docker run --rm \
|
|
-e AWS_ACCESS_KEY_ID \
|
|
-e AWS_SECRET_ACCESS_KEY \
|
|
-e AWS_DEFAULT_REGION \
|
|
unprompted \
|
|
sh -c "aws s3 sync /site $(S3_BUCKET) --delete && aws s3 cp /site/CLAUDE.md $(S3_BUCKET)/CLAUDE.md --content-type 'text/plain; charset=utf-8'"
|
|
|
|
invalidate:
|
|
ifdef CF_DISTRIBUTION_ID
|
|
aws cloudfront create-invalidation \
|
|
--distribution-id $(CF_DISTRIBUTION_ID) \
|
|
--paths "/*"
|
|
else
|
|
@echo "CF_DISTRIBUTION_ID not set, skipping invalidation"
|
|
endif
|