From d00cfdbd06f403ec75a05da5e83c40c0ec598681 Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Mon, 1 Jul 2024 14:15:48 +0200 Subject: Makefile: add maintenance alias --- DEVELOPMENT.md | 16 ++++++++++------ Makefile | 24 +++++++++++++++++++++--- 2 files changed, 31 insertions(+), 9 deletions(-) diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 1dc6ee2..4dba83f 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -31,15 +31,19 @@ Development Upgrading dependencies ---------------------- -Ruby dependencies: +* To upgrade Ruby & Node.js dependencies & push them to the repository: - bundle update + make maintenance -Node.js dependencies: +* Manually upgrade Ruby dependencies: - make npm - npm update - make bundle + bundle update + +* Manually upgrade Node.js dependencies: + + make npm + npm update + make bundle Building static pages --------------------- diff --git a/Makefile b/Makefile index cee4d9e..f0eea16 100644 --- a/Makefile +++ b/Makefile @@ -18,15 +18,33 @@ deps: ruby npm: npm install -.PHONY: all-deps -all-deps: deps npm - jekyll := bundle exec jekyll .PHONY: build build: $(jekyll) build +.PHONY: maintenance +maintenance: ruby npm + bundle update + npm update + @$(MAKE) bundle + + @git_status="$$( git status --porcelain=v1 )" && \ + if [ -z "$$git_status" ]; then \ + true ; \ + elif [ "$$git_status" = $$' M Gemfile.lock\n M package-lock.json' ] \ + || [ "$$git_status" = $$' M Gemfile.lock\n M package-lock.json\n M assets/js/bundle.js' ]; then \ + git commit -am 'bump dependencies' && \ + git push -q ; \ + else \ + echo ; \ + echo '-----------------------------------------------------------------'; \ + echo 'Error: unrecognized modifications in the repository'; \ + echo '-----------------------------------------------------------------'; \ + exit 1; \ + fi + .PHONY: serve serve: ifeq ($(LIVE_RELOAD),1) -- cgit v1.2.3