Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update the existing Build Images workflow to build all FBPCS images and run on pull requests. #2213

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Commits on Apr 5, 2023

  1. Update the existing Build Images workflow to build all FBPCS images a…

    …nd run on pull requests. (facebookresearch#2213)
    
    Summary:
    Pull Request resolved: facebookresearch#2213
    
    ## Context
    We have seen some issues slip through recently that have caused our B&R system to be unstable. Right now, the only testing that we do on diffs is to see if the onedocker image builds. This is insufficient to ensure that changes don't break our B&R system.
    
    The new flow for the "Build, Test, and Publish the FBPCS Docker Images" workflow will be to build ~~and test~~ every pull request or push to main ~~with the basic, non-GraphAPI end to end tests~~. For pull requests, it will block the landing of the diff until the ~~tests~~ builds pass. For merges to main, it will create a task and assign it to the person who pushed the commit. This will provide 2 benefits:
    1. For pull requests, this adds a higher bar of testing at Diff time. This should block potential bugs from slipping through to block our release flow
    2. For merges to main, this will make the tasks more accurate. Since it's running on every commit, it will know which commit likely broke the tests. Right now, it only runs for each bundle from conveyor which might include multiple changes and may not assign the task to the right developer.
    
    ## Workflow Design
    The Build, Test, and Publish the FBPCS Docker Images workflow follows these steps:
    1. Build the Coordinator Image
    2. In parallel, build the EMP Games and Data Processing images
        1. When those are done, build the bundled OneDocker image
    3. ~~Once all images are built successfully, run E2E tests~~
    
    {F898944897}
    
    ## Updates for V15
    I've removed the E2E testing because there is a tag conflict with the RC OneDocker image and will require more effort to include E2E testing. For now, this is still usefull as it makes the builds more like the production release process and includes the coordinator image.
    
    ## This Diff
    This diff updates the already existing workflow that would build images on pushes to main to also build on pull requests and to test the images with the local (non-GraphAPI) E2E tests.
    
    Differential Revision: D44229635
    
    fbshipit-source-id: 3742ec2a4abb4f969aaa277f09d1615578269096
    musebc authored and facebook-github-bot committed Apr 5, 2023
    Configuration menu
    Copy the full SHA
    6b32f47 View commit details
    Browse the repository at this point in the history