Skip to content
This repository has been archived by the owner on Sep 9, 2020. It is now read-only.

Vendor verification #1912

Merged
merged 26 commits into from
Jul 11, 2018
Merged

Vendor verification #1912

merged 26 commits into from
Jul 11, 2018

Commits on Jul 3, 2018

  1. Remove InputsDigest, add InputImports

    First steps towards a better in-sync checking system that does not rely
    on a merge-conflict-prone explicit hash digest.
    sdboyer committed Jul 3, 2018
    Configuration menu
    Copy the full SHA
    c7e220d View commit details
    Browse the repository at this point in the history
  2. dep: Introduce lock verification logic

    This mostly supplants the hash comparison-based checking, though it's
    still in rough form.
    sdboyer committed Jul 3, 2018
    Configuration menu
    Copy the full SHA
    db8b66b View commit details
    Browse the repository at this point in the history
  3. gps: Convert LockedProject to an interface

    This is the first step towards being able to a more expansive type - one
    that carries the pruning and digest information - directly within the
    existing Lock interface.
    sdboyer committed Jul 3, 2018
    Configuration menu
    Copy the full SHA
    f23ef51 View commit details
    Browse the repository at this point in the history
  4. gps: Introduce verify subpackage

    This is a start at isolating verification logic into a discrete package.
    Not sure how far we'll be able to make this go without creating some
    import loops.
    sdboyer committed Jul 3, 2018
    Configuration menu
    Copy the full SHA
    81b3a3d View commit details
    Browse the repository at this point in the history
  5. dep: Add foundation for verified, pruned vendor

    THis includes changes across both dep and gps towards transparently
    working with vendor trees that are both configurably pruned and
    verifiable.
    sdboyer committed Jul 3, 2018
    Configuration menu
    Copy the full SHA
    485c74e View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4cb57f5 View commit details
    Browse the repository at this point in the history
  7. gps: Remove all reference to InputsDigest

    We're now relying entirely on real validation - no more hash digest
    comparisons and meaningless conflicts!
    sdboyer committed Jul 3, 2018
    Configuration menu
    Copy the full SHA
    bce4a36 View commit details
    Browse the repository at this point in the history
  8. verify: Relocate lock diffing and tree hashing

    Both of these subsystems make more sense in the verification package
    than in gps itself.
    sdboyer committed Jul 3, 2018
    Configuration menu
    Copy the full SHA
    0b2482d View commit details
    Browse the repository at this point in the history
  9. dep: Get DeltaWriter into a working state

    This encompasses the first pass at the new, more abstracted diffing
    system, and the DeltaWriter implementation on top of it. Tests are
    needed, but cursory testing indicates that we successfully capture all
    types of diffs and regenerate only the subset of projects that actually
    need to be touched.
    sdboyer committed Jul 3, 2018
    Configuration menu
    Copy the full SHA
    df2c26b View commit details
    Browse the repository at this point in the history
  10. gps: Diff->Delta, and bitfield for change checking

    Also convert the SafeWriter to use LockDelta.
    sdboyer committed Jul 3, 2018
    Configuration menu
    Copy the full SHA
    13ec211 View commit details
    Browse the repository at this point in the history
  11. dep: Tell the user why we're solving

    Add output to all of the information we assemble when checking if the
    Lock satisfies the current input set.
    
    Also some refactoring of the ctx.LoadProject() process to have fewer
    partial states.
    sdboyer committed Jul 3, 2018
    Configuration menu
    Copy the full SHA
    6b47f58 View commit details
    Browse the repository at this point in the history
  12. dep: Update scads of tests

    Tests are now almost completely working, after updating all the outputs
    to the new lock format. There is also an assortment of other fixes in
    here, mostly related to fixing nil pointer panics, that were uncovered
    by fixing up these tests.
    sdboyer committed Jul 3, 2018
    Configuration menu
    Copy the full SHA
    f00e828 View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2018

  1. gps: Collapse LockWithImports into Lock

    There was no real need to delineate between Lock and LockWithImports.
    The old Lock had the InputsDigest concept, which was even less feasible
    for theoretical implementations of Lock to have, so this can't possibly
    be more harmful.
    sdboyer committed Jul 4, 2018
    Configuration menu
    Copy the full SHA
    9d4eca8 View commit details
    Browse the repository at this point in the history
  2. dep: Make DeltaWriter sensitive to -vendor-only

    Also a bunch of docs for the verify package.
    sdboyer committed Jul 4, 2018
    Configuration menu
    Copy the full SHA
    3c60abc View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    08a4349 View commit details
    Browse the repository at this point in the history
  4. dep: Linting fixes

    sdboyer committed Jul 4, 2018
    Configuration menu
    Copy the full SHA
    812b8c1 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2018

  1. dep: Implement DeltaWriter.PrintPreparedActions()

    This just abstracts and reuses the feedback already utilized by
    DeltaWriter.Write().
    sdboyer committed Jul 8, 2018
    Configuration menu
    Copy the full SHA
    d22fbb8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4b02ee0 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2018

  1. gps/verify: Add tests for LockSatisfaction

    Also better prepare it for public consumption by exporting its members,
    renaming some methods and improving docs.
    sdboyer committed Jul 9, 2018
    Configuration menu
    Copy the full SHA
    80eeec7 View commit details
    Browse the repository at this point in the history
  2. gps/verify: Add LockDiff unit tests

    These should be nearly comprehensive tests for lock diffing behaviors.
    They follow the same functional transform table testing pattern as with
    the lock satisfaction tests.
    sdboyer committed Jul 9, 2018
    Configuration menu
    Copy the full SHA
    0db8f69 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    69991c7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5c8a1e3 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d7a412f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    fe299f7 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2018

  1. dep: Encapsulate vendor verification into method

    Some tests were complaining of a data race when writing to ctx.Out on a
    vendor verification failure. It's not clear why those tests were
    failing, but the complaint became a forcing function to refactor the
    previously-sloppy use of a channel and os.Exit(1) within a goroutine to
    encapsulation in a method on dep.Project.
    sdboyer committed Jul 10, 2018
    Configuration menu
    Copy the full SHA
    a34a48d View commit details
    Browse the repository at this point in the history
  2. Add missing license header

    sdboyer committed Jul 10, 2018
    Configuration menu
    Copy the full SHA
    fc9484a View commit details
    Browse the repository at this point in the history