259 Commits

Author SHA1 Message Date
Igor Pecovnik
2f07753910 Rewrite summary to use JSON data aggregation
- 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>
2026-01-06 19:33:11 +01:00
Igor Pecovnik
5c9c792c97 Add consolidated summary job to aggregate all shard reports
- 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>
2026-01-06 19:24:27 +01:00
Igor Pecovnik
ccff548a6d Treat EOS config files the same
Signed-off-by: Igor Pecovnik <igor@armbian.com>
2026-01-06 19:15:41 +01:00
Igor Pecovnik
05ea24eb5e Fix variable assignment to use proper arrays
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>
2026-01-06 19:07:27 +01:00
Igor Pecovnik
0d7b805724 Fix unbound variable errors for all board/vendor variables
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>
2026-01-06 19:04:12 +01:00
Igor Pecovnik
11131a288b Fix unbound variable error when board-images directory is empty
Add || true to find command to prevent unbound variable error with set -u

Signed-off-by: Igor Pecovnik <igor@armbian.com>
2026-01-06 19:00:16 +01:00
Igor Pecovnik
1ba24f85c7 Change thumbnail generation to process all images present in directories
- 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>
2026-01-06 18:56:35 +01:00
Igor
c6b74a3846 Add MuseBook 2026-01-06 18:15:42 +01:00
Igor Pecovnik
54ee14b535 Fix parallel package download race condition and improve repository upload
- 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>
2026-01-05 22:55:59 +01:00
Igor Pecovnik
d6f48e51fb Sudo is needed 2026-01-05 02:32:41 +01:00
Igor Pecovnik
898fe6e49b Fix workspace ownership 2026-01-05 02:28:27 +01:00
Igor Pecovnik
c8ac2fff54 More in parallel 2026-01-05 02:15:32 +01:00
Igor Pecovnik
165a415319 Experiment 2026-01-05 02:13:11 +01:00
Igor Pecovnik
d0de072e56 Fix logic for external packages and improve rsync parameters
Signed-off-by: Igor Pecovnik <igor@armbian.com>
2026-01-05 01:49:11 +01:00
Igor
9069df95b5 Add conditional check for start job execution 2026-01-05 01:02:06 +01:00
Igor
4644e4e652 Remove disabled noop job from workflow
Removed noop job for disabled external download.
2026-01-05 00:52:12 +01:00
Igor Pecovnik
bb6b938036 Noop 2026-01-04 21:55:34 +01:00
Igor Pecovnik
51ea81a2d3 Script for managing is still located at repo_fix branch, that hasn't been merged 2026-01-04 20:21:54 +01:00
Igor Pecovnik
9e05896d71 Switch to main branch as script has been merged already 2026-01-04 18:55:07 +01:00
Igor Pecovnik
6a454f0824 Optimize workflow: cache NetBox data, simplify sync logic
- 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>
2026-01-04 14:46:21 +01:00
Igor Pecovnik
324dd240a4 Test repo managing with dry-run sync 2026-01-04 14:46:21 +01:00
Igor Pecovnik
cfefe214a2 Adjust cleaning to new repo handling tool, adjust permissions 2026-01-03 21:24:04 +01:00
Igor
3298112c25 Don't delete artifacts 2026-01-03 19:51:29 +01:00
Igor Pecovnik
5f220d3d03 Add copying mechanism to workflow
- 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
2026-01-03 18:10:48 +01:00
Igor Pecovnik
8b823a7086 Add testing script 2026-01-03 15:51:12 +01:00