Files
DualFloatingClock/.github/workflows/README.md
T
sebastian 45fc172fc8
Build and Release DualFloatingClock / build-linux (push) Failing after 32s
CI Build / build (macos-latest) (push) Canceled after 0s
CI Build / build (windows-latest) (push) Canceled after 0s
Build and Release DualFloatingClock / build-macos (push) Canceled after 0s
Build and Release DualFloatingClock / build-windows (push) Canceled after 0s
Build and Release DualFloatingClock / generate-changelog (push) Canceled after 0s
Build and Release DualFloatingClock / create-release (push) Canceled after 0s
feat: rename project to DualFloatingClock, add README, public release
- Full rename: CMake target, bundle, LaunchAgent label
  (com.dualfloatingclock.clock), QSettings org/app, tray tooltip,
  icns resource, build scripts, CI workflows, sample config
- Config XML: new root DualFloatingClockConfig; reader accepts legacy
  ClouckConfig root for painless migration of existing settings
- README rewritten: fork provenance (ivaquero/clouck), features, build,
  tests, usage
- Drop stale README-CN.md
2026-08-27 22:36:05 +03:00

117 lines
2.5 KiB
Markdown

# GitHub Actions Build System
This project uses GitHub Actions for automated building and releasing across multiple platforms.
## Available Workflows
### 1. CI Build (`ci.yml`)
**Trigger**: Push to main/master branches, pull requests
**Purpose**: Quick validation builds on all platforms
**Artifacts**: Platform-specific executables
### 2. Build Qt (`build.yml`)
**Trigger**: Push to main/master branches, pull requests, manual dispatch
**Purpose**: Comprehensive builds using both qmake and CMake
**Artifacts**:
- qmake builds for each platform
- CMake builds for each platform
### 3. Release (`release.yml`)
**Trigger**: Git tags (v*), manual dispatch
**Purpose**: Create official releases with distributable packages
**Artifacts**:
- macOS: DMG installer
- Windows: ZIP package with dependencies
- Linux: TAR.GZ package
## Usage
### Automatic Builds
Every push to main/master branches triggers CI builds to ensure code quality.
### Creating a Release
1. Create and push a version tag:
```bash
git tag v1.0.0
git push origin v1.0.0
```
2. The release workflow will automatically:
- Build for all platforms
- Create distributable packages
- Create a GitHub release with artifacts
### Manual Release
1. Go to Actions tab in GitHub
2. Select "Build and Release DualFloatingClock"
3. Click "Run workflow"
4. Enter version number (e.g., v1.0.0)
5. Click "Run workflow"
## Build Requirements
### macOS
- Qt 6.5.0
- Xcode Command Line Tools
- macdeployqt for app bundling
### Windows
- Qt 6.5.0
- Visual Studio Build Tools or MinGW
- windeployqt for dependency deployment
### Linux
- Qt 6.5.0
- GCC/Clang
- X11 development libraries
- XFixes development libraries
## Artifacts
Each workflow produces platform-specific artifacts:
- **macOS**: `.app` bundle or `.dmg` installer
- **Windows**: Executable with Qt dependencies
- **Linux**: Executable with shared libraries
## Configuration
The workflows use:
- `jurplel/install-qt-action@v4` for Qt installation
- Matrix builds for multi-platform support
- Artifact upload for build retention
- Automatic release creation for tagged builds
## Troubleshooting
### Build Failures
1. Check Qt version compatibility
2. Verify platform-specific dependencies
3. Review build logs in GitHub Actions
### Missing Dependencies
- Ensure all required Qt modules are specified
- Check platform-specific library installations
- Verify CMake/qmake configuration
### Release Issues
- Ensure proper version tagging format (v*)
- Check GitHub token permissions
- Verify artifact upload paths