Skip to content

Update image ghcr.io/home-operations/charts/tuppr (0.3.1 ➔ 0.3.2) #2117

Update image ghcr.io/home-operations/charts/tuppr (0.3.1 ➔ 0.3.2)

Update image ghcr.io/home-operations/charts/tuppr (0.3.1 ➔ 0.3.2) #2117

Workflow file for this run

---
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
name: "Pull Request: Validate"
on:
pull_request:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.event.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
filter:
name: Filter
runs-on: ubuntu-latest
permissions:
contents: read # required to read the repository contents to see changed files
outputs:
changed-files: ${{ steps.changed-files.outputs.changed_files }}
steps:
- name: Get Changed Files
id: changed-files
uses: bjw-s-labs/action-changed-files@a9a36fb08ce06db9b02fbd8026cc2c0945eb9841 # v0.6.0
with:
patterns: kubernetes/**/*
flate-test:
if: ${{ needs.filter.outputs.changed-files != '[]' }}
needs: filter
name: Flate - Test
runs-on: ubuntu-latest
permissions:
contents: read # required to read the repository contents to run tests
steps:
- name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
fetch-depth: 0
- name: Setup Flate
uses: home-operations/flate/action@0fc37fae10cf3c265294f6adebc6d6c100c74ea5 # v0.4.10
with:
cache: true
- name: Flate Test
env:
FLATE_PATH: ./kubernetes/flux/cluster
run: flate test all --allow-missing-secrets
flate-diff:
if: ${{ needs.filter.outputs.changed-files != '[]' }}
needs: filter
name: Flate - Diff
runs-on: ubuntu-latest
environment:
name: bot
deployment: false
permissions:
contents: read # required to read the repository contents to generate diffs
pull-requests: write # required to write diff comments to pull requests
strategy:
matrix:
kind:
- helmrelease
- kustomization
fail-fast: false
steps:
- name: Generate Token
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
id: app-token
with:
client-id: ${{ vars.BOT_APP_CLIENT_ID }}
private-key: ${{ secrets.BOT_APP_PRIVATE_KEY }}
permission-contents: read
permission-pull-requests: write
- name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
fetch-depth: 0
- name: Setup Flate
uses: home-operations/flate/action@0fc37fae10cf3c265294f6adebc6d6c100c74ea5 # v0.4.10
with:
cache: true
- name: Run flate diff
id: diff
env:
FLATE_PATH: ./kubernetes/flux/cluster
FLATE_OUTPUT: github
run: |
{
echo 'diff<<EOF'
flate diff "${{ matrix.kind }}" --allow-missing-secrets
echo 'EOF'
} >> $GITHUB_OUTPUT
- if: ${{ steps.diff.outputs.diff != '' }}
name: Add or Update Comment
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
env:
DIFF: ${{ steps.diff.outputs.diff }}
KIND: ${{ matrix.kind }}
with:
github-token: ${{ steps.app-token.outputs.token }}
script: |
const { DIFF, KIND } = process.env;
const label = { helmrelease: "HelmRelease", kustomization: "Kustomization" }[KIND];
const { owner, repo } = context.repo;
const issue_number = context.issue.number;
const pr = context.payload.pull_request;
const sha = pr.head.sha;
const runUrl = `${context.serverUrl}/${owner}/${repo}/actions/runs/${context.runId}`;
const marker = `<!-- Sticky Pull Request Comment${issue_number}/kubernetes/${KIND} -->`;
const body = [
marker,
`<details open><summary>${label} diff</summary>`,
``,
"```diff",
DIFF,
"```",
``,
`</details>`,
``,
`<sub>Generated for [\`${sha.slice(0, 7)}\`](${pr.html_url}/commits/${sha}) · [workflow run](${runUrl})</sub>`,
].join("\n");
const comments = await github.paginate(github.rest.issues.listComments, {
owner, repo, issue_number, per_page: 100,
});
const existing = comments.find(c => c.body?.includes(marker));
if (existing) {
await github.rest.issues.updateComment({ owner, repo, comment_id: existing.id, body });
} else {
await github.rest.issues.createComment({ owner, repo, issue_number, body });
}
automerge-and-approve:
needs:
- filter
- flate-test
if: >-
${{
always() &&
(
needs.filter.outputs.changed-files == '[]' ||
needs.flate-test.result == 'success'
)
}}
permissions:
pull-requests: write # required to automerge pull requests
contents: write # required to write to the repository
name: Automerge
runs-on: ubuntu-latest
environment:
name: bot
deployment: false
steps:
- name: Generate Token
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
id: app-token
with:
client-id: ${{ vars.BOT_APP_CLIENT_ID }}
private-key: ${{ secrets.BOT_APP_PRIVATE_KEY }}
permission-contents: write
permission-pull-requests: write
- name: automerge
uses: pascalgn/automerge-action@7961b8b5eec56cc088c140b56d864285eabd3f67 # v0.16.4
env:
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
UPDATE_RETRIES: 12
UPDATE_RETRY_SLEEP: 60000
MERGE_METHOD: squash