2.7 KiB
2.7 KiB
Project Status — fullupgrade
Last updated: 2026-04-27
Project goal
This repository contains two Bash scripts for system administration and Git release management:
fullupgrade: Arch Linux maintenance scriptmakerelease.sh: Git release automation script
The project is intentionally minimal and centered on these two scripts.
Current structure
fullupgrade: system update and cleanupmakerelease.sh: release workflow fromdevtomainREADME.md: English documentation with usage, warnings, and examplesLICENSE: GPLv3
Current analysis
1) fullupgrade
Current behavior:
- updates
archlinux-keyring - runs
pacman -Syu --noconfirm - removes orphaned packages only when any are found
- cleans the pacman cache
Notes:
- the script already uses
set -euo pipefail - it checks for root privileges before running package operations
- it can have a significant system impact
Recommendations:
- keep documenting the system impact clearly
2) makerelease.sh
Current behavior:
- supports explicit versions like
1.2.3 - supports version increments with
+0.0.1,+0.1, and+1 - supports
--dry-runto print the computed release version - checks that the current branch is
dev - verifies the working tree is clean
- checks that the target tag does not already exist
- displays the computed release tag before proceeding
- asks for confirmation before any Git action
- checks out
main - merges
devintomain - pushes the branch
- creates an annotated tag
- pushes tags
- attempts to return to the original branch on exit
Notes:
- the script uses
set -euo pipefail - the release tag message is automatically generated as
Release <version> - the script no longer requires a separate release message argument
- the current increment logic assumes simple dotted numeric tags
- normal releases now require an interactive confirmation after the tag is displayed
Recommendations:
- consider validating the version format more strictly if release rules grow
- keep the dry-run behavior documented and aligned with the script
3) README.md
Current status:
- the README documents both scripts in English
- it includes release increments, dry-run usage, and the confirmation step for
makerelease.sh
Recommendations:
- keep it aligned with the actual script behavior
- add more examples only if they improve clarity
Project tracking rules
This file should be updated whenever:
- script behavior changes
- documentation changes materially
- new constraints or design decisions are introduced
- release workflow rules evolve
Maintenance notes
- Always keep the README, the scripts, and this file consistent.
- If a script changes, update this note immediately (./continue/rules/project.md).
- If a new usage rule appears, document it here.