Skip to content

binary archive: check recipes against archives?  #533

Open
@sbixl

Description

@sbixl

Hi, is it somehow possible to check the current state of the recipes against the artifacts stored in a binary archiv? The result of this "check" should be show if the recipes are still in sync (so no new packages must be uploaded) or if a new run of the Jenkins/CI shall be triggered. This will help among other things not so experienced users to see what effects their changes have.

Activity

jkloetzke

jkloetzke commented on Oct 8, 2023

@jkloetzke
Member

No, there is currently no such command available. What comes close is to do a bob (build|dev) --download=forced -f /path/to/descendant-or-self@package which will try to download the package and all dependencies. Note that this might not catch any tools that were forwarded. And it will fail on the first package. It will also actually download all the packages and probably waste a good amount of disk space.

Note that the recipes are not the only possible reason for mismatches with the artifact repository. Overrides (SCM, environment) and source code changes will have an impact too. Depending on the recipes and what has been uploaded to the artifact repository it might always be required to checkout some of the source code...

sbixl

sbixl commented on Oct 21, 2023

@sbixl
Author

We use bob in addition to Jenkins within GitLab CI/CD. It would be nice to have the possibility to check the state of the recipes vs. the artifacts stored in the archive to prevent building e.g. all tools from scratch. It would be good if you could define a job that checks this and then cancels all the following dependent jobs. If the job fails this, on the one hand, is the indication that something may have been misconfigured in the recipes or the indication that the archive must be updated (in our case the Jenkins must be triggered manually because it is reponsible to build and upload the tools).

jkloetzke

jkloetzke commented on Oct 22, 2023

@jkloetzke
Member

I guess this needs to be implemented in a dedicated command. Anything else will either be incomplete or have too much overhead. It may also have an advantage to have such a command for the following cases:

  • Check if checkout predictions are correct to analyze/fix the "restarting build due to wrong predictions" errors
  • Verify which mirror provides the required artifacts

The details still need to be fleshed out, though...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @jkloetzke@sbixl

        Issue actions

          binary archive: check recipes against archives? · Issue #533 · BobBuildTool/bob