<!-- json
{
  "sourceId": "core-pack-docker-release",
  "repositoryId": "travetto",
  "filePath": "module/llm-support/resources/snippets/code/pack-docker-release.yml.tpl",
  "capabilityTags": ["docker", "pack", "release", "ci"],
  "operationIds": ["pack-docker-release"],
  "applicability": ["framework-native"],
  "notes": [
    "Build and publish Docker images from Travetto pack:docker in CI workflows."
  ]
}
-->

# core-pack-docker-release

- Source: `module/llm-support/resources/snippets/code/pack-docker-release.yml.tpl`
- Capability tags: docker, pack, release, ci
- Applicability: framework-native
- Notes:
  - Build and publish Docker images from Travetto pack:docker in CI workflows.

## Reference Code

```
name: docker-release

on:
  push:
    branches: [main]
  workflow_dispatch:

jobs:
  release:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      packages: write
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npm ci
      - run: npx trv pack:docker --tag "$GITHUB_SHA"
      - run: echo "Publish container image to your registry"
```
