Skip to content

Commit

Permalink
optimized
Browse files Browse the repository at this point in the history
  • Loading branch information
hrshdhgd committed Jul 26, 2024
1 parent 4dbadec commit aa45e53
Showing 1 changed file with 31 additions and 35 deletions.
66 changes: 31 additions & 35 deletions kg-microbe.Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,39 +13,44 @@ PART_SIZE := 2000M # Size of each part (less than 2GB)
.PHONY: release pre-release tag generate-tarballs split-transformed-tarball

release: generate-tarballs split-transformed-tarball
@echo "Creating a release on GitHub..."
@read -p "Enter release tag (e.g., $(shell date +%Y-%m-%d)): " TAG_NAME; \
read -p "Enter release title: " RELEASE_TITLE; \
read -p "Enter release notes: " RELEASE_NOTES; \
@$(call create_release,release)

pre-release: generate-tarballs split-transformed-tarball
@$(call create_release,pre-release)

tag: generate-tarballs split-transformed-tarball
@$(call create_tag)

generate-tarballs:
@echo "Generating tarballs of the specified directories..."
@tar -czvf $(TRANSFORMED_TARBALL) data/transformed
@cp data/merged/merged-kg.tar.gz $(MERGED_TARBALL)
@echo "Tarballs generated successfully as $(TRANSFORMED_TARBALL) and $(MERGED_TARBALL)."

split-transformed-tarball:
@echo "Splitting the transformed tarball into parts..."
@split -b $(PART_SIZE) -d -a 3 $(TRANSFORMED_TARBALL) $(TRANSFORMED_TARBALL)-part
@for f in $(TRANSFORMED_TARBALL)-part*; do mv "$$f" "$$f.tar.gz"; done
@echo "Transformed tarball split into parts successfully."

define create_release
@echo "Creating a $(1) on GitHub..."
@read -p "Enter $(1) tag (e.g., $(shell date +%Y-%m-%d)): " TAG_NAME; \
read -p "Enter $(1) title: " RELEASE_TITLE; \
read -p "Enter $(1) notes: " RELEASE_NOTES; \
if git rev-parse "$$TAG_NAME" >/dev/null 2>&1; then \
echo "Error: Tag '$$TAG_NAME' already exists. Please choose a different tag."; \
exit 1; \
fi; \
git tag -a $$TAG_NAME -m "$$RELEASE_TITLE"; \
git push origin $$TAG_NAME; \
gh release create $$TAG_NAME --title "$$RELEASE_TITLE" --notes "$$RELEASE_NOTES" --repo $(REPO_OWNER)/$(REPO_NAME); \
gh release create $$TAG_NAME --title "$$RELEASE_TITLE" --notes "$$RELEASE_NOTES" $(if $(filter $(1),pre-release),--prerelease) --repo $(REPO_OWNER)/$(REPO_NAME); \
gh release upload $$TAG_NAME $(TRANSFORMED_TARBALL)-part*.tar.gz --repo $(REPO_OWNER)/$(REPO_NAME); \
gh release upload $$TAG_NAME $(MERGED_TARBALL) --repo $(REPO_OWNER)/$(REPO_NAME); \
echo "Release $$TAG_NAME created successfully."
echo "$(capitalize $(1)) $$TAG_NAME created successfully."
endef

pre-release: generate-tarballs split-transformed-tarball
@echo "Creating a pre-release on GitHub..."
@read -p "Enter pre-release tag (e.g., $(shell date +%Y-%m-%d)-rc1): " TAG; \
read -p "Enter pre-release title: " PRE_RELEASE_TITLE; \
read -p "Enter pre-release notes: " PRE_RELEASE_NOTES; \
if git rev-parse "$$TAG" >/dev/null 2>&1; then \
echo "Error: Tag '$$TAG' already exists. Please choose a different tag."; \
exit 1; \
fi; \
git tag -a $$TAG -m "$$PRE_RELEASE_TITLE"; \
git push origin $$TAG; \
gh release create $$TAG --title "$$PRE_RELEASE_TITLE" --notes "$$PRE_RELEASE_NOTES" --prerelease --repo $(REPO_OWNER)/$(REPO_NAME); \
gh release upload $$TAG $(TRANSFORMED_TARBALL)-part*.tar.gz --repo $(REPO_OWNER)/$(REPO_NAME); \
gh release upload $$TAG $(MERGED_TARBALL) --repo $(REPO_OWNER)/$(REPO_NAME); \
echo "Pre-release $$TAG created successfully."


tag: generate-tarballs split-transformed-tarball
define create_tag
@echo "Creating a release on GitHub..."
@read -p "Enter release tag (e.g., $(shell date +%Y-%m-%d)): " TAG; \
read -p "Enter release title: " RELEASE_TITLE; \
Expand All @@ -55,15 +60,6 @@ tag: generate-tarballs split-transformed-tarball
gh release upload $$TAG $(TRANSFORMED_TARBALL)-part*.tar.gz --repo $(REPO_OWNER)/$(REPO_NAME); \
gh release upload $$TAG $(MERGED_TARBALL) --repo $(REPO_OWNER)/$(REPO_NAME); \
echo "Release $$TAG created successfully."
endef

generate-tarballs:
@echo "Generating tarballs of the specified directories..."
@tar -czvf $(TRANSFORMED_TARBALL) data/transformed
@cp data/merged/merged-kg.tar.gz $(MERGED_TARBALL)
@echo "Tarballs generated successfully as $(TRANSFORMED_TARBALL) and $(MERGED_TARBALL)."

split-transformed-tarball:
@echo "Splitting the transformed tarball into parts..."
@split -b $(PART_SIZE) -d -a 3 $(TRANSFORMED_TARBALL) $(TRANSFORMED_TARBALL)-part
@for f in $(TRANSFORMED_TARBALL)-part*; do mv "$$f" "$$f.tar.gz"; done
@echo "Transformed tarball split into parts successfully."
capitalize = $(subst $(1),$(shell echo $(1) | tr '[:lower:]' '[:upper:]'),$(1))

0 comments on commit aa45e53

Please sign in to comment.