Skip to content

Specify an explicit length for git rev-parse --short to avoid conflicts when run

What does this MR do?

In three places, this specifies an explicit length when using git rev-parse --short. By doing so, it ensures that the revision hash used in builds will be consistent regardless of who is running the build and in what environment.

Why was this MR needed?

Issue #2735 provides a case where all pipelines fail to run with the kubernetes executor running on macOS due to mismatched hashes.

Are there points in the code the reviewer needs to double check?

I chose a length of 8 for for the hashes. Whether or not that's the right choice is up to the project maintainers. It might also make sense to have it be a global configuration variable for the project.

Does this MR meet the acceptance criteria?

  • Documentation created/updated
  • Tests
    • Added for this feature/bug
    • All builds are passing
  • Branch has no merge conflicts with master (if you do - rebase it please)

What are the relevant issue numbers?

Merge request reports