checkver field in your variant configuration determines how Apps Image checks for new versions from upstream repositories.
Overview
Apps Image supports multiple version checking strategies:version- Track version from a file (e.g., package.json)tag- Track Git tags/releasessha- Track latest commit SHAmanual- Manual version updatesregistry- Track from container registry (experimental)
Version Check Schema
Type: version
Track version from a file in the upstream repository (e.g.,package.json, VERSION, etc.).
Set to
"version" for file-based version tracking.Upstream repository URL. Supports:
- Full URL:
https://github.com/owner/repo - Short form:
owner/repo(assumes GitHub)
Path to version file in the repository.
Git branch to check.
Regular expression to extract version from file. First capture group is used.
Examples
How it Works
- Clones or updates the upstream repository
- Reads the specified file
- Extracts version using:
- Built-in
package.jsonparser (if file ispackage.json) - Custom regex (if
regexis provided) - Raw file content (default)
- Built-in
- Validates version is valid semver
- Gets the commit SHA for the version file
- Compares with current
versionandshain meta.json
Type: tag
Track Git tags/releases from the upstream repository.Set to
"tag" for tag-based version tracking.Upstream repository URL.
Branch to check tags from.
Regex pattern to match tags. If not specified, finds the first valid semver tag.
Pin to a specific tag.
Examples
How it Works
- Clones or updates the upstream repository
- Gets all Git tags
- Filters tags by:
targetVersion(if specified) - exact matchtagPattern(if specified) - regex match- Valid semver (default)
- Selects the first matching tag
- Gets the commit SHA for the tag
- Strips
vprefix from tag for version - Compares with current
versionandsha
Type: sha
Track the latest commit SHA from the upstream repository.Set to
"sha" for commit-based tracking.Upstream repository URL.
Branch to track.
Track commits that modified a specific path.
Pin to a specific commit SHA (short or full).
Examples
How it Works
- Clones or updates the upstream repository
- Gets the latest commit SHA:
- From
targetVersion(if specified) - From specific
path(if specified) - From HEAD (default)
- From
- Uses first 7 characters as version
- Compares with current
versionandsha
Type: manual
Manual version management - you update the version in meta.json directly.Set to
"manual" for manual version control.Example
base/alpine/meta.json
How it Works
- Reads previous version from Git history (
HEAD~1) - Compares with current version in meta.json
- If changed, generates new SHA from current commit
- Creates update if version differs
With manual type, you need to update both
version and commit your changes. The SHA will be automatically updated on commit.Type: registry
Track versions from container registry APIs.Common Fields
Check Frequency
How often to check for updates:
always- Check on every scheduled rundaily- Check once per dayweekly- Check once per weekmanual- Only check on manual trigger
Process Files
List of files to process with placeholder replacement when version updates.
Repository URL Formats
Allrepo fields support multiple formats:
https://github.com/{owner}/{repo}.
Best Practices
-
Choose the right type:
- Use
versionfor apps with version files - Use
tagfor apps with release tags - Use
shafor tracking latest commits or monorepos - Use
manualfor base images or complex cases
- Use
-
Optimize check frequency:
- Set
checkFrequency: "daily"for stable releases - Use
alwaysfor development branches
- Set
-
Use path for monorepos:
-
Pin versions during testing:
Related
- Meta Schema - Complete meta.json reference
- Placeholders - Template variables
- Check Version Action - GitHub Action for version checking