#!/usr/bin/ruby

require 'pathname'
require 'debci'

# Keep only a single entry per day
def migrate(dir)
  pattern = '[0-9]*/[0-9]*/[0-9]*'
  newest = nil
  dir.glob(pattern).sort.each do |day|
    next unless day.directory?

    last = day.glob('*.json').max
    next unless last

    new = day.parent / "#{day.basename}.json"
    last.rename(new)
    puts "#{last} -> #{new}"
    newest = new
    day.rmtree
  end

  return unless newest

  status = dir / 'status.json'
  status.unlink # it should now be a broken symlink
  status.write(newest.read)
end

root = Pathname(Debci.config.data_basedir) / 'status'
Debci.config.suite_list.each do |suite|
  Debci.config.arch_list.each do |arch|
    migrate(root / suite / arch)
  end
end
