mirror of
https://codeberg.org/knightsub9/lxcafe.git
synced 2026-07-19 19:30:16 +02:00
50 lines
2.0 KiB
Markdown
50 lines
2.0 KiB
Markdown
# lxcafe Repository
|
|
|
|
Linux Mint post-installation scripts.
|
|
|
|
## Structure
|
|
|
|
- **post_installation_script/** - Main post-installation scripts for Linux Mint XFCE
|
|
- **post_installation_script_test/** - Docker based testing environment for script development
|
|
- **.agents/** - Agent instructions for AI-assisted development
|
|
|
|
See individual README files in each directory for detailed information on usage and development.
|
|
|
|
## Test post installation script
|
|
To test the full functionality of post-installation script in a safe, isolated environment, use VirtualBox or similar virtualization
|
|
software to create a virtual machine with Linux Mint XFCE. Then, copy the script to the virtual machine and run it there.
|
|
This allows you to test the script without affecting your main system.
|
|
You can also make use of snapshot feature of the virtualization software to easily revert to a clean state after testing,
|
|
e.g. state directly after Linux Mint installation, before running the post-installation script.
|
|
This way you can test the script multiple times without needing to reinstall Linux Mint each time.
|
|
|
|
## Release Process
|
|
|
|
This project uses a simple release process based on git tags.
|
|
|
|
### Versioning
|
|
- Version is stored in `VERSION` file (format: v0, v1, v2, ...)
|
|
- Major version increments only (major-bugfix scheme)
|
|
- Script version is also stored in `SCRIPT_VERSION` variable within the main script to display version during script execution
|
|
|
|
### Creating a Release
|
|
Run the release script from the repository root:
|
|
```bash
|
|
./release.sh
|
|
```
|
|
|
|
The script will:
|
|
1. Check for uncommitted local changes (exits if any exist)
|
|
2. Show current version and propose next version
|
|
3. Prompt for confirmation
|
|
4. Update VERSION file and SCRIPT_VERSION in the script
|
|
5. Create a git commit
|
|
6. Create an annotated tag
|
|
7. Prompt to push to origin (including tags)
|
|
|
|
### Gitea Integration
|
|
When a tag is pushed to the remote, Gitea automatically creates a release from it.
|
|
|
|
### Requirements
|
|
- Clean working tree (no uncommitted changes)
|
|
- Git remote configured (origin) |