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

Publish Release Images #15013

Merged
merged 8 commits into from
Nov 26, 2024
Merged

Publish Release Images #15013

merged 8 commits into from
Nov 26, 2024

Conversation

dimitri-tenstorrent
Copy link
Contributor

@dimitri-tenstorrent dimitri-tenstorrent commented Nov 13, 2024

Ticket

#12496
#12495 (describes agreed upon naming scheme)

Problem description

Allow users to get started with TT-Metal stack within two command lines.

docker pull ghcr.io/tenstorrent/tt-metal/tt-metalium/ubuntu-20.04-amd64-release/wormhole_b0:latest
docker run --rm -it -t ghcr.io/tenstorrent/tt-metal/tt-metalium/ubuntu-20.04-amd64-release/wormhole_b0:latest python3 -c "import ttnn"

What's changed

Add a job for the package release to also build/push a release image.

TODO:

  • Document the expected naming scheme for all of the images
  • Add documentation for the users to get started with the Docker images
  • Set the latest tag only when deploying the major version.
  • Add smoke test for the docker image
  • Create a test version of the release image
  • Clean up a lot of test folders from our docker registry

Checklist

  • Post commit CI passes
  • Blackhole Post commit (if applicable)
  • Model regression CI testing passes (if applicable)
  • Device performance regression CI testing passes (if applicable)
  • New/Existing tests provide coverage for changes

@blozano-tt
Copy link
Contributor

Is it normal to distribute docker images through github container registry?

I thought dockerhub was the norm.

Copy link
Contributor

@blozano-tt blozano-tt left a comment

Choose a reason for hiding this comment

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

LGTM!

Only complaint is that this is not really a release docker image, as it has build dependencies. However, I see you've documented that and filed an issue to fix.

@Dimitri-Gnidash
Copy link

Is it normal to distribute docker images through github container registry?

I thought dockerhub was the norm.

I do think it is the norm and definitely more appropriate for the current state of these images. We can always change the destination registry at a later time.

dimitri-tenstorrent added a commit that referenced this pull request Nov 22, 2024
… Release Images (#15371)

### Ticket
#12496
#12495 (describes agreed
upon naming scheme)

### Problem description

This is an empty workflow that allows for additional testing before the
main set of changes is merged from
#15013

### What's changed

Added a new NO-OP workflow

### Checklist
- [x] Post commit CI passes
- [ ] Blackhole Post commit (if applicable)
- [ ] Model regression CI testing passes (if applicable)
- [ ] Device performance regression CI testing passes (if applicable)
- [ ] New/Existing tests provide coverage for changes
@@ -86,7 +86,7 @@ runs:
${{ inputs.device }}
-w ${{ github.workspace }}
run: |
if [ ${{ inputs.install_wheel }} ]; then
if [ "${{ inputs.install_wheel }}" == "true" ]; then
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fix the issue where the wheel was always installed.

@@ -24,8 +24,8 @@ runs:
- name: Determine Full Docker Image Tag
shell: bash
run: |
echo "TT_METAL_DOCKER_IMAGE_TAG=ghcr.io/${{ github.repository }}/tt-metalium/${{ inputs.image }}:${{ env.IMAGE_TAG }}" >> $GITHUB_ENV
echo "TT_METAL_REF_IMAGE_TAG=ghcr.io/${{ github.repository }}/tt-metalium/${{ inputs.image }}:latest" >> $GITHUB_ENV
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This does not allow us to use images that follow the convention outlined in:
#12495
i.e.
tt-metalium-{OS}-{ARCH}-release/grayskull

 #12496: Add the correct version info
 #12496: Add the documentation instructions
 #12496: Update to latest upon major version releases
 #12495: Adjust the release naming scheme to match what was discussed in the ticket
 #12496: Update the installation instructions to the correct naming scheme.
 #12496: Build wheels before running the docker release workflow
…uilders

 #12496: Respect not installing the wheel with the image
@dimitri-tenstorrent
Copy link
Contributor Author

Should we update the latest tag only when the major release happens?

  - name: Tag latest if this is a major version release
    if: ${{ inputs.is_major_version }}

@dimitri-tenstorrent dimitri-tenstorrent merged commit 845ddf8 into main Nov 26, 2024
10 of 11 checks passed
@dimitri-tenstorrent dimitri-tenstorrent deleted the dimitri/12496_release_images branch November 26, 2024 18:29
arch: wormhole_b0,
runs-on: ["cloud-virtual-machine", "N150", "in-service"],
cmd: pytest tests/end_to_end_tests,
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why not N300?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I picked the machine that seemed to have a lesser demand.

tt-rkim added a commit that referenced this pull request Nov 26, 2024
…e is not

    being passed properly for release image

This reverts commit 845ddf8.
@dimitri-tenstorrent dimitri-tenstorrent restored the dimitri/12496_release_images branch November 26, 2024 22: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