feat: Initial commit #6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish Action and Container | |
on: | |
push: | |
branches: | |
- main | |
env: | |
REGISTRY: ghcr.io | |
IMAGE_NAME: guardian/actions-cdk | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
permissions: | |
# Write required to create a release | |
contents: write | |
# Write required to publish package to GHCR | |
packages: write | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
# Extract the @guardian/cdk version from the package.json to create a release | |
# matching the version. | |
- run: echo "CDK_VERSION=$(jq -rc .dependencies.\"@guardian/cdk\" < package.json)" >> $GITHUB_ENV | |
# Create a draft release | |
- env: | |
GH_TOKEN: ${{ github.token }} | |
run: gh release create v${{ env.CDK_VERSION }} --draft --generate-notes | |
- name: Extract metadata (tags, labels) for Docker | |
id: meta | |
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 | |
with: | |
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | |
tags: | | |
type=semver,pattern={{version}},value=${{ env.CDK_VERSION}} | |
type=semver,pattern={{major}}.{{minor}},value=${{ env.CDK_VERSION}} | |
type=semver,pattern={{major}},value=${{ env.CDK_VERSION}} | |
- name: Build and push Docker image | |
id: push | |
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4 | |
with: | |
context: . | |
push: true | |
tags: ${{ steps.meta.outputs.tags }} | |
labels: ${{ steps.meta.outputs.labels }} | |
# Release the draft | |
- env: | |
GH_TOKEN: ${{ github.token }} | |
run: gh release edit v${{ env.CDK_VERSION }} --draft false |