Skip to content

Use shareable calculate-docker-image GHA #4399

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

Merged
merged 6 commits into from
Jul 20, 2023

Conversation

huydhn
Copy link
Contributor

@huydhn huydhn commented Jul 18, 2023

Add a step in Linux job to calculate and build Docker image if needed. This is similar to how PyTorch CI rebuilds its Docker images atm.

Testing

pytorch/pytorch#105372, PyTorch Lint job uses Linux jobs.

@vercel
Copy link

vercel bot commented Jul 18, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

1 Ignored Deployment
Name Status Preview Comments Updated (UTC)
torchci ⬜️ Ignored (Inspect) Jul 19, 2023 0:53am

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jul 18, 2023
@huydhn huydhn marked this pull request as ready for review July 18, 2023 16:28
@huydhn huydhn requested review from seemethere and a team July 18, 2023 16:28
huydhn added a commit that referenced this pull request Jul 19, 2023
This refactors the logic in PyTorch
https://github.com/pytorch/pytorch/blob/main/.github/actions/calculate-docker-image/action.yml
to a shareable GHA. Notably, the changes include:

* Accept a docker build directory input, i.e. `.ci/docker`, with a
`build.sh` script entry. The usage is `build.sh "${IMAGE_NAME}" -t
"${DOCKER_IMAGE}"` as how it's used in PyTorch atm
* Accept a working directory input because Nova Linux job could checkout
the repo in a different directory
* Simplify the list of configurable options to only 2 `always-rebuild`
and `push` (set to true to push the image to ECR)

One hidden caveat is that `calculate-docker-image` requires a full
checkout to work as it tries to figure out the Docker tag of the base
commit. This means that `fetch-depth: 0` is needed to use this action.

This action can then be used in the upcoming CI change on Executorch
where the repo could build and use its own Docker image(s).

### Testing

* Use the GHA on Nova Linux job
#4399
* Use the GHA on PyTorch pytorch/pytorch#105372
* Executorch
  * Publish Docker image: pytorch/executorch#11
* Use Docker image in Linux job:
pytorch/executorch#12
@huydhn huydhn requested a review from seemethere July 19, 2023 00:56
Copy link
Contributor

@atalman atalman left a comment

Choose a reason for hiding this comment

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

lgtm

@huydhn huydhn merged commit e22bdb5 into main Jul 20, 2023
pytorchmergebot pushed a commit to pytorch/pytorch that referenced this pull request Jul 24, 2023
As this has been replaced by the more generic calculate-docker-image on test-infra pytorch/test-infra#4397 in:

* pytorch/test-infra#4399
* and #105372
Pull Request resolved: #105752
Approved by: https://github.com/Skylion007
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants