- Each shard saves complete JSON data for boards/vendors (images and configs)
- Track processed and failed items in separate files per shard
- Summary job aggregates all shard data and performs comparisons
- Use comm to find missing pairs (configs without images, images without configs)
- Show counts and deduplicated lists in single summary report
- Remove per-shard summaries in favor of one comprehensive report
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Save individual shard reports as artifacts
- Add new Summary job that runs after all shards complete
- Aggregate all reports and remove duplicates
- Display single consolidated summary instead of per-shard reports
Signed-off-by: Igor Pecovnik <igor@armbian.com>
Use mapfile to create proper arrays instead of string variables.
This prevents unbound variable errors with set -u when using ${#array[@]} syntax.
Signed-off-by: Igor Pecovnik <igor@armbian.com>
Use || variable="" pattern to ensure variables are always set even when commands fail or return empty results with set -u enabled
Signed-off-by: Igor Pecovnik <igor@armbian.com>
- Scan board-images/ directory directly instead of using build config
- Scan board-vendor-logos/ directory instead of extracting from configs
- Generate thumbnails for all images regardless of build config presence
- Add comparison reporting for missing pairs:
- Board configs without images
- Board images without configs
- Vendor configs without logos
- Vendor logos without configs
- Keep build config checkout for comparison purposes only
Signed-off-by: Igor Pecovnik <igor@armbian.com>
- Fix race condition in parallel package downloads
- Add SKIP_VERSION_CHECK option for force repopulation
- Fix upload to only include .deb files, not repository structure
- Improve workflow reliability and error handling
Signed-off-by: Igor Pecovnik <igor@armbian.com>
- Cache server configuration (name, path, port, username) in Prepare job matrix
to avoid duplicate NetBox API calls in Sync and Index jobs
- Simplify Sync and Index jobs by removing excessive validations
(data is already validated in Prepare job)
- Remove duplicate NetBox API fetches - reduce from 2N to 1+N where N is servers
- Simplify rsync case statements using sed for path transformation
(debs → apt, debs-beta → beta)
- Add ENABLED input to external download workflow for conditional execution
- Reference repo_fix branch instead of main for external workflow during testing
Signed-off-by: Igor Pecovnik <igor@armbian.com>
- Add INCOMING_PATH environment variable for staging files
- Add new Copying job that handles moving files from incoming to storage
- Copying job processes different targets (stable, cron, nightly, etc.)
- Remove Payload job and xx.yml workflow file
- Change Check job runner from ubuntu-latest to Linux
- Update external job dependency from Check to Copying