Workflow Configuration
Triggers
The workflow runs in three scenarios:Workflow Inputs
Specifies which app context to check. Use
all to check all apps, or specify a specific path like apps/icones.Available contexts include:- Apps:
apps/cobalt,apps/icones,apps/readest, etc. - Base images:
base/alpine,base/nginx,base/vscode - Test contexts:
test/icones,test/weektodo
Controls pull request creation behavior:
'true'- Create PR to master branch'false'- Only check versions, don’t create PR'development'- Create PR to development branch
Enable debug mode for verbose logging and troubleshooting.
Job Steps
1. Checkout Repository
2. Cache Git Repositories
.git-cache to:
- Speed up subsequent version checks
- Reduce network bandwidth
- Improve workflow execution time
meta.json files, so cache invalidates when metadata changes.
3. Execute Version Check
check-version action defined in /action/check-version/action.yml.
Check Version Action
The action is implemented in TypeScript and performs the following operations:Action Inputs
Personal Access Token (PAT) for repository access. Required when creating pull requests.
Context directory to check (e.g.,
apps/icones). If not specified, checks all contexts.Controls PR creation:
'true', 'false', or 'development'Enable debug logging
Execution Flow
The action follows this workflow (fromaction/src/check.ts:16-77):
Version Check Logic
The version checking process:- Read
meta.json: Parses app metadata containing upstream repository info - Clone Upstream: Clones or updates cached upstream repository
- Fetch Tags: Retrieves latest tags from upstream
- Compare Versions: Compares current version with latest upstream version
- Detect Updates: Identifies apps with newer versions available
Pull Request Creation
Whencreate_pr is enabled:
Output Examples
All Up to Date
When all apps are current, the workflow completes without creating PRs
Updates Found
- Total apps checked
- Number of outdated apps
- List of apps with available updates
- Version differences
- PR creation results (if enabled)
Permissions Required
Skip Version Check
To skip the version check on a specific commit:[skip check] in commit messages:
Caching Strategy
The Git cache significantly improves performance:- Reduces clone time for upstream repositories
- Minimizes network usage
- Speeds up subsequent checks
- Cache updates when any
meta.jsonfile changes - Falls back to partial match with
git-repos-prefix
Troubleshooting
Enable Debug Mode
For verbose logging:- Manual trigger: Set
debuginput totrue - Check action logs for detailed information
- Review JSON output for app data and PR results
Common Issues
No apps found to process
No apps found to process
Cause: Invalid context path or no apps in specified directorySolution: Verify context path matches directory structure (e.g.,
apps/icones, not icones)PR creation fails
PR creation fails
Cause: Missing or invalid PAT tokenSolution:
- Ensure
PATsecret is configured - Verify token has required permissions
- Check token hasn’t expired
Version check times out
Version check times out
Cause: Upstream repository is large or network is slowSolution:
- Wait for cache to populate
- Check upstream repository availability
- Consider increasing workflow timeout
Related Workflows
Build Image
Triggered after PR merge to build updated images
All Workflows
View complete workflow overview