Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# These are supported funding model platforms

github: flexiondotorg
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
polar: # Replace with a single Polar username
buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
92 changes: 92 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: 🐛 Bug Report
description: Report a bug or issue
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Please fill out the information below to help us diagnose and fix the issue.

- type: textarea
id: steps
attributes:
label: Steps to Reproduce
description: Steps to reproduce the behavior
placeholder: |
1. Run command: `...`
2. Do something else: `...`
3. Error occurs
value: |
1.
2.
3.
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected Behavior
description: What you expected to happen
placeholder: Describe the expected outcome
validations:
required: true

- type: textarea
id: actual
attributes:
label: Actual Behavior
description: What actually happened
placeholder: Describe what actually occurred
validations:
required: true

- type: textarea
id: error-output
attributes:
label: Error Output
description: Full error message or output (if any)
render: shell
placeholder: Paste the complete error message here
validations:
required: false

- type: input
id: version
attributes:
label: Version
description: The version or commit hash of this project you are using
placeholder: e.g., 1.0.0, latest main branch, commit abc123def
validations:
required: true

- type: textarea
id: environment
attributes:
label: Environment
description: Any relevant environment details
placeholder: e.g., operating system, runtime version, browser, container
validations:
required: false

- type: textarea
id: additional-context
attributes:
label: Additional Context
description: Any other context about the problem
placeholder: Add any other relevant information, screenshots, or context
validations:
required: false

- type: checkboxes
id: terms
attributes:
label: Checklist
description: Please confirm the following
options:
- label: I have searched existing issues to avoid duplicates
required: true
- label: I have provided all the requested information above
required: true
- label: I can reproduce this issue consistently
required: false
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: 🛟 Support
url: https://github.com/linuxmatters/ffmpeg-statigo/blob/HEAD/SUPPORT.md
about: Check the support guide before opening an issue.
# - name: Code of Conduct Report
# url: https://yourproject.org/community-report/
# about: Report a Code of Conduct violation privately to the moderation team.
64 changes: 64 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: ✨ Feature Request
description: Suggest a new feature or enhancement
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Please provide details about your idea below.

- type: textarea
id: problem
attributes:
label: Problem Statement
description: Is your feature request related to a problem? Please describe.
placeholder: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
validations:
required: true

- type: textarea
id: solution
attributes:
label: Proposed Solution
description: Describe the solution you'd like
placeholder: A clear and concise description of what you want to happen.
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: Describe alternatives you've considered
placeholder: A clear and concise description of any alternative solutions or features you've considered.
validations:
required: false

- type: textarea
id: use-case
attributes:
label: Use Case
description: Describe your specific use case
placeholder: How would you use this feature? What workflow would it improve?
validations:
required: true

- type: textarea
id: additional-context
attributes:
label: Additional Context
description: Add any other context about the feature request
placeholder: Add any other context, screenshots, mockups, or examples about the feature request here.
validations:
required: false

- type: checkboxes
id: terms
attributes:
label: Checklist
description: Please confirm the following
options:
- label: I have searched existing issues to avoid duplicates
required: true
- label: I have considered if this feature fits the project scope
required: true
26 changes: 17 additions & 9 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
# See the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
- package-ecosystem: github-actions
directory: /
schedule:
interval: "weekly"
interval: monthly
groups:
github-actions:
patterns:
- "*"

- package-ecosystem: "gomod"
directory: "/"
- package-ecosystem: gomod
directory: /
schedule:
interval: "weekly"
interval: weekly
groups:
gomod:
patterns:
- "*"
commit-message:
prefix: "deps"
include: "scope"
14 changes: 14 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Description

<!-- Summarise the change along with relevant motivation and context. -->

Closes #

## Additional Context

<!-- Add any other context, screenshots, or examples about the pull request here. -->

## Checklist

- [ ] I have performed a self-review of my code
- [ ] I have tested my changes and confirmed there are no regressions
76 changes: 76 additions & 0 deletions .github/workflows/tailor-automerge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: Tailor automerge 🤖

on:
pull_request:
workflow_dispatch:

permissions:
contents: write
pull-requests: write

jobs:
automerge:
runs-on: ubuntu-slim
if: github.event_name == 'pull_request'
steps:
- name: Fetch Dependabot metadata
if: github.event.pull_request.user.login == 'dependabot[bot]'
id: metadata
uses: dependabot/fetch-metadata@v2
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
skip-commit-verification: true

- name: Automerge GitHub Actions updates
if: >-
github.event.pull_request.user.login == 'dependabot[bot]'
&& steps.metadata.outputs.package-ecosystem == 'github_actions'
run: gh pr merge --auto --squash "$PR_URL"
env:
PR_URL: ${{ github.event.pull_request.html_url }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Automerge patch and minor dependency updates
if: >-
github.event.pull_request.user.login == 'dependabot[bot]'
&& steps.metadata.outputs.package-ecosystem != 'github_actions'
&& (
steps.metadata.outputs.update-type == 'version-update:semver-patch'
|| steps.metadata.outputs.update-type == 'version-update:semver-minor'
)
run: gh pr merge --auto --squash "$PR_URL"
env:
PR_URL: ${{ github.event.pull_request.html_url }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Automerge flake.lock update
if: >-
github.event.pull_request.user.login == 'github-actions[bot]'
&& startsWith(github.event.pull_request.head.ref, 'update_flake_lock')
run: gh pr merge --auto --squash "$PR_URL"
env:
PR_URL: ${{ github.event.pull_request.html_url }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

automerge-existing:
runs-on: ubuntu-slim
if: github.event_name == 'workflow_dispatch'
steps:
- name: Merge open Dependabot PRs
run: |
gh pr list --repo "$GITHUB_REPOSITORY" \
--author "app/dependabot" \
--state open \
--json number,url \
--jq '.[].url' |
while read -r pr_url; do
echo "::group::Merging $pr_url"
if gh pr merge --squash "$pr_url"; then
Copy link

Choose a reason for hiding this comment

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

P1: The manual workflow_dispatch path bypasses the patch/minor-only guard and will merge any open Dependabot PR, including major version bumps.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/tailor-automerge.yml, line 68:

<comment>The manual `workflow_dispatch` path bypasses the patch/minor-only guard and will merge any open Dependabot PR, including major version bumps.</comment>

<file context>
@@ -0,0 +1,76 @@
+            --jq '.[].url' |
+          while read -r pr_url; do
+            echo "::group::Merging $pr_url"
+            if gh pr merge --squash "$pr_url"; then
+              echo "Merged $pr_url"
+            else
</file context>

echo "Merged $pr_url"
else
echo "::warning::Failed to merge $pr_url"
fi
echo "::endgroup::"
done
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
52 changes: 52 additions & 0 deletions .github/workflows/tailor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Tailor 🪡
on:
schedule:
- cron: "0 9 * * 1" # Weekly
workflow_dispatch:

permissions:
contents: write
issues: write
pull-requests: write
actions: write

jobs:
alter:
runs-on: ubuntu-slim
env:
GH_TOKEN: ${{ secrets.TAILOR_TOKEN || secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v6

- name: Tailor
uses: wimpysworld/tailor@v0
with:
Copy link

Choose a reason for hiding this comment

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

P2: Pass the configured GH_TOKEN to create-pull-request; otherwise the step falls back to the default GITHUB_TOKEN and the generated PR won't trigger normal PR/push workflows.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/tailor.yml, line 23:

<comment>Pass the configured `GH_TOKEN` to `create-pull-request`; otherwise the step falls back to the default `GITHUB_TOKEN` and the generated PR won't trigger normal PR/push workflows.</comment>

<file context>
@@ -0,0 +1,52 @@
+
+      - name: Tailor
+        uses: wimpysworld/tailor@v0
+        with:
+          alter: true
+
</file context>

alter: true

- name: Create PR
uses: peter-evans/create-pull-request@v8
with:
branch: tailor-alter
title: "chore: alter tailor swatches"

update-flake-lock:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v6

- name: Check for flake.lock
id: check
run: test -f flake.lock && echo "found=true" >> "$GITHUB_OUTPUT" || echo "found=false" >> "$GITHUB_OUTPUT"

- name: Install Nix
if: steps.check.outputs.found == 'true'
uses: DeterminateSystems/determinate-nix-action@v3

- name: Update flake.lock
if: steps.check.outputs.found == 'true'
uses: DeterminateSystems/update-flake-lock@v28
Copy link

Choose a reason for hiding this comment

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

P2: Provide a PAT/App token to update-flake-lock; with the default GitHub Actions identity, the generated PR will not trigger this repository's normal PR checks.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/tailor.yml, line 50:

<comment>Provide a PAT/App token to `update-flake-lock`; with the default GitHub Actions identity, the generated PR will not trigger this repository's normal PR checks.</comment>

<file context>
@@ -0,0 +1,52 @@
+
+      - name: Update flake.lock
+        if: steps.check.outputs.found == 'true'
+        uses: DeterminateSystems/update-flake-lock@v28
+        with:
+          pr-title: "chore: update flake.lock"
</file context>

with:
pr-title: "chore: update flake.lock"
Loading
Loading