Skip to content

chore(deps): update ghcr.io/txqueuelen/powerdns-docker/powerdns:v4.9.… #60

chore(deps): update ghcr.io/txqueuelen/powerdns-docker/powerdns:v4.9.…

chore(deps): update ghcr.io/txqueuelen/powerdns-docker/powerdns:v4.9.… #60

name: Publish chart
on:
push:
branches:
- main
permissions:
contents: write
packages: write
env:
COMMITTER_NAME: "txqueuelen release bot"
COMMITTER_EMAIL: [email protected]
jobs:
release:
name: Publish chart to OCI registry
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
# Create release-toolkit data file and hydrate it.
- name: Generate changelog YAML
uses: newrelic/release-toolkit/generate-yaml@v1
with:
excluded-dirs: .github
excluded-files: README.md
exit-code: "0"
# Check if we have something to release and if the release is not blocked.
- name: Check if the release is empty
id: empty
uses: newrelic/release-toolkit/is-empty@v1
- name: Check if the release is held
id: held
uses: newrelic/release-toolkit/is-held@v1
# Calculate next-version and generate change logs
- name: Link dependencies
if: ${{ steps.empty.outputs.is-empty == 'false' && steps.held.outputs.is-held == 'false' }}
uses: newrelic/release-toolkit/link-dependencies@v1
with:
dictionary: .github/rt-dictionary.yaml
- name: Calculate next version
if: ${{ steps.empty.outputs.is-empty == 'false' && steps.held.outputs.is-held == 'false' }}
id: version
uses: newrelic/release-toolkit/next-version@v1
- name: Generate release notes
if: ${{ steps.empty.outputs.is-empty == 'false' && steps.held.outputs.is-held == 'false' }}
uses: newrelic/release-toolkit/render@v1
- name: Update CHANGELOG.md
if: ${{ steps.empty.outputs.is-empty == 'false' && steps.held.outputs.is-held == 'false' }}
uses: newrelic/release-toolkit/update-markdown@v1
with:
version: ${{ steps.version.outputs.next-version }}
# Commit to main branch and push changes. Then create a release.
- name: Commit and tag release
if: ${{ steps.empty.outputs.is-empty == 'false' && steps.held.outputs.is-held == 'false' }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git add CHANGELOG.md
git config user.name '${{ env.COMMITTER_NAME }}'
git config user.email '${{ env.COMMITTER_EMAIL }}'
git commit -m "[no ci] Automatic ${{ steps.version.outputs.next-version }} release"
git push
gh release create "${{ steps.version.outputs.next-version }}" -F CHANGELOG.partial.md
# Login to GitHub Packages to upload the chart to the OCI repository.
- name: Helm login
if: ${{ steps.empty.outputs.is-empty == 'false' && steps.held.outputs.is-held == 'false' }}
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | \
helm registry login ghcr.io \
--username "$GITHUB_REPOSITORY_OWNER" \
--password-stdin
- name: Helm package
if: ${{ steps.empty.outputs.is-empty == 'false' && steps.held.outputs.is-held == 'false' }}
run: |
helm package charts/stateless-dns -u --version "${{ steps.version.outputs.next-version }}"
- name: Helm push
if: ${{ steps.empty.outputs.is-empty == 'false' && steps.held.outputs.is-held == 'false' }}
run: |
helm push \
"stateless-dns-${{ steps.version.outputs.next-version }}.tgz" \
"oci://ghcr.io/${GITHUB_REPOSITORY_OWNER}/pdns-stateless"