Skip to content

Conversation

chasingrainbows
Copy link
Contributor

@chasingrainbows chasingrainbows commented Mar 24, 2025

Description

  1. Added reproducible docker build feature as "experemental"
  2. Added docs/ directory
  3. Updated .dockerignore
  4. Added Makefile
  5. pulled Reproducability validation [SRE-2530] #672

Related Issue/Task

  • Related task: ORC-333
  • Epic: none

How Has This Been Tested?

Describe how you tested the changes:

  • Local tests
  • Manual testing (describe steps)
    Tested locally, by building image multiple times and comparing them via diffoci tool and my python script.
    Also tested with registry:
# WARNING! Nuke all containers/images
docker rm -vf $(docker ps -aq) && docker rmi -f $(docker images -aq)
# Run build
make reproducible-build-oracle
# Add tag
docker tag oracle-reproducible-container:local chasingrainbows846/oracle-reproducible-container:v1
docker push chasingrainbows846/oracle-reproducible-container:v1
# WARNING! Nuke all containers/images once again
docker rm -vf $(docker ps -aq) && docker rmi -f $(docker images -aq)
# Run build once again
make reproducible-build-oracle
# Check
docker image inspect chasingrainbows846/oracle-reproducible-container:v1 --format 'Image hash: {{.Id}}'                                                                                                                                                                      
# Image hash: sha256:<hash>
docker image inspect oracle-reproducible-container:local --format 'Image hash: {{.Id}}'
# Image hash: sha256:<hash>

Also tested locally on machine of another one contributor.

  • Not tested (explain why)

Checklist

  • Documentation updated (if required)
  • New tests added (if applicable)

@chasingrainbows chasingrainbows force-pushed the feature/orc-333-stabilize-docker-image-output branch 9 times, most recently from 05c0715 to ecea503 Compare March 26, 2025 15:02
@chasingrainbows chasingrainbows self-assigned this Mar 26, 2025
@chasingrainbows chasingrainbows force-pushed the feature/orc-333-stabilize-docker-image-output branch from ecea503 to d076f46 Compare March 26, 2025 15:44
@chasingrainbows chasingrainbows force-pushed the feature/orc-333-stabilize-docker-image-output branch from d076f46 to 58a299b Compare March 27, 2025 14:38
@chasingrainbows chasingrainbows requested a review from F4ever March 27, 2025 18:00
Copy link
Contributor

@hweawer hweawer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, I reproduced the same hash on the subsequent build.

@chasingrainbows chasingrainbows force-pushed the feature/orc-333-stabilize-docker-image-output branch 2 times, most recently from a506fbe to 0144cec Compare March 28, 2025 12:08
amarao and others added 3 commits March 31, 2025 10:19
This code validates that we can build the same tar for a given
image twice. It won't check for high-level things (like properly
pinned dependencies), but it checks if there are no stray
non-deterministic files in the image (caches, timestamps, etc).
@chasingrainbows chasingrainbows force-pushed the feature/orc-333-stabilize-docker-image-output branch from 0144cec to c1c0faf Compare March 31, 2025 10:51
@chasingrainbows chasingrainbows requested a review from a team as a code owner March 31, 2025 10:51
@F4ever F4ever merged commit 71e34d5 into develop Mar 31, 2025
10 checks passed
@F4ever F4ever deleted the feature/orc-333-stabilize-docker-image-output branch April 15, 2025 02:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants