Modify whatsdirty/publish.sh
All checks were successful
Build-Test-Publish / build (linux/amd64) (push) Successful in 54s
Build-Test-Publish / build (linux/arm64) (push) Successful in 1m23s
Build-Test-Publish / test-install-from-scratch (linux/amd64) (push) Successful in 7s
Build-Test-Publish / test-install-from-scratch (linux/arm64) (push) Successful in 7s
All checks were successful
Build-Test-Publish / build (linux/amd64) (push) Successful in 54s
Build-Test-Publish / build (linux/arm64) (push) Successful in 1m23s
Build-Test-Publish / test-install-from-scratch (linux/amd64) (push) Successful in 7s
Build-Test-Publish / test-install-from-scratch (linux/arm64) (push) Successful in 7s
This commit is contained in:
70
.kiro/steering/tech.md
Normal file
70
.kiro/steering/tech.md
Normal file
@ -0,0 +1,70 @@
|
||||
# Technology Stack
|
||||
|
||||
## Build System
|
||||
- **CMake 3.16+** with Ninja generator for C++ projects
|
||||
- **Docker** containerized builds using `gitea.jde.nz/public/dropshell-build-base:latest`
|
||||
- **Static linking** for all C++ executables (`-static` flag)
|
||||
|
||||
## Languages & Standards
|
||||
- **C++23** standard for all C++ projects
|
||||
- **Bash** for shell scripts and simple tools
|
||||
- **Shell scripts** follow `set -euo pipefail` pattern
|
||||
|
||||
## Dependencies
|
||||
- **nlohmann_json** for JSON handling in C++ projects
|
||||
- **CPR (static)** for HTTP requests in getpkg
|
||||
- Custom modules in `/usr/local/share/cmake/Modules`
|
||||
|
||||
## Common Build Patterns
|
||||
|
||||
### C++ Projects (CMake)
|
||||
```bash
|
||||
# Standard build command
|
||||
cmake -G Ninja -S . -B ./build -DCMAKE_BUILD_TYPE=Debug -DPROJECT_NAME=<project>
|
||||
cmake --build ./build
|
||||
```
|
||||
|
||||
### Docker Build (for C++ tools)
|
||||
```bash
|
||||
# Uses Dockerfile.dropshell-build pattern
|
||||
docker build -t <project>-build -f Dockerfile.dropshell-build --build-arg PROJECT=<project> --output ./output .
|
||||
```
|
||||
|
||||
### Shell Tools
|
||||
- No build step required
|
||||
- Executable shell scripts with proper shebang
|
||||
- Use `chmod +x` for permissions
|
||||
|
||||
## Common Commands
|
||||
|
||||
### Build
|
||||
```bash
|
||||
./build.sh # Build individual project
|
||||
./buildtestpublish_all.sh # Build all projects
|
||||
```
|
||||
|
||||
### Test
|
||||
```bash
|
||||
./test.sh # Run tests for individual project
|
||||
```
|
||||
|
||||
### Clean
|
||||
```bash
|
||||
./clean.sh # Clean build artifacts
|
||||
```
|
||||
|
||||
### Publish
|
||||
```bash
|
||||
./publish.sh # Publish to getpkg.xyz (requires SOS_WRITE_TOKEN)
|
||||
```
|
||||
|
||||
## Version Management
|
||||
- Automatic timestamp-based versioning: `YYYY.MMDD.HHMM`
|
||||
- Version configured via `version.hpp.in` template files
|
||||
- Pre-build scripts (`cmake_prebuild.sh`) for additional setup
|
||||
|
||||
## Environment Variables
|
||||
- `CMAKE_BUILD_TYPE`: Debug/Release (default: Debug)
|
||||
- `SOS_WRITE_TOKEN`: Authentication for publishing
|
||||
- `NO_CACHE`: Skip Docker cache when set to "true"
|
||||
- `PROJECT`: Project name for build scripts
|
Reference in New Issue
Block a user