EagleCast
publish-github-pages / deploy (push) Waiting to run

This commit is contained in:
h202-wq
2026-07-09 10:03:32 -04:00
commit 66d9a033c9
446 changed files with 162542 additions and 0 deletions
+18
View File
@@ -0,0 +1,18 @@
---
name: Confirmed bug
about: Report an issue that you have definititely confirmed to be a bug
title: ''
labels: bug
assignees: ''
---
**Version:**
- EagleCast: [eg: v1.0.0]
- OS: [e.g. Fedora]
**Description of the bug and steps to reproduce:**
A clear and concise description of what the bug is.
**Screenshots:**
If applicable, add screenshots to help explain your problem.
@@ -0,0 +1,14 @@
---
name: Feature or change request
about: Suggest new features or changes to existing features
title: ''
labels: enhancement
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
@@ -0,0 +1,10 @@
---
name: General question
about: You have a question about something or want to start a general discussion
title: ''
labels: 'question'
assignees: ''
---
Note: Please refrain from posting questions about Docker and docker-compose related matters. Please search and refer to the numerous closed issues on these topics. Docker related questions are outside of the purview of this forum and will be closed. Thank you for your understanding.
@@ -0,0 +1,18 @@
---
name: Possible bug. Needs investigation.
about: Report an issue that could be a bug but is not confirmed yet and needs investigation.
title: ''
labels: ''
assignees: ''
---
**Version:**
- EagleCast: [eg: v1.0.0]
- OS: [e.g. Fedora]
**Description of the bug and steps to reproduce:**
A clear and concise description of what the bug is.
**Screenshots:**
If applicable, add screenshots to help explain your problem.
+22
View File
@@ -0,0 +1,22 @@
name: Build Sanity Check
on:
pull_request:
types:
- opened
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: "1.26.1"
- name: Prepare Dependencies and Build
run: make dist
+44
View File
@@ -0,0 +1,44 @@
name: publish-github-pages
on:
push:
branches:
- master
paths:
- 'docs/**'
workflow_dispatch:
permissions:
contents: write
jobs:
deploy:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.x
- run: pip install mkdocs-material
# Build the mkdocs documentation in the docs/publish/docs dir. This will be at (/docs)
# The -d (output) path is relative to the -f (source) path
- name: Build docs site
run: mkdocs build -f docs/docs/mkdocs.yml -d ../publish/docs
- name: Generate Swagger UI
uses: Legion2/swagger-ui-action@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
spec-file: ./docs/swagger/collections.yaml
output: ./docs/publish/docs/swagger
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_branch: gh-pages
publish_dir: ./docs/publish
user_name: 'github-actions[bot]'
user_email: 'github-actions[bot]@users.noreply.github.com'
+31
View File
@@ -0,0 +1,31 @@
name: Hodor AI Code Review
on:
pull_request_target:
types: [labeled, synchronize]
paths-ignore:
- 'i18n/**'
- '*.md'
- 'LICENSE'
- '.gitignore'
permissions:
contents: read
pull-requests: write
jobs:
review:
if: >-
(github.event.action == 'labeled' && github.event.label.name == 'hodor-review') ||
(github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'hodor-review'))
runs-on: ubuntu-latest
steps:
- name: Run Hodor review
run: |
docker run --rm \
-e GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} \
-e LLM_API_KEY=${{ secrets.LLM_API_KEY }} \
ghcr.io/mr-karan/hodor:0.3.4 \
"https://github.com/${{ github.repository }}/pull/${{ github.event.pull_request.number }}" \
--model "${{ vars.HODOR_MODEL || 'gpt-5.2' }}" \
--post
+20
View File
@@ -0,0 +1,20 @@
name: "close-stale-issues-and-prs"
on:
schedule:
- cron: "30 1 * * *"
workflow_dispatch:
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
with:
days-before-stale: 150
stale-issue-label: "stale"
stale-pr-label: "stale"
debug-only: false
exempt-all-assignees: true
operations-per-run: 1000
stale-issue-message: "This issue has been marked 'stale' after 5 months of inactivity. If there is no further activity, it will be closed in 7 days."
stale-pr-message: "This PR has been marked 'stale' after 5 months of inactivity. If there is no further activity, it will be closed in 7 days."
+146
View File
@@ -0,0 +1,146 @@
name: nightly
on:
schedule:
- cron: "0 2 * * *"
workflow_dispatch:
permissions:
contents: write
packages: write
jobs:
check:
runs-on: ubuntu-latest
outputs:
skip: ${{ steps.check_changes.outputs.skip }}
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Check for changes since last nightly release
id: check_changes
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
LAST_NIGHTLY_SHA=$(gh release view nightly --json targetCommitish -q '.targetCommitish' 2>/dev/null || echo "")
CURRENT_SHA=$(git rev-parse HEAD)
echo "Last nightly SHA: $LAST_NIGHTLY_SHA"
echo "Current SHA: $CURRENT_SHA"
if [ -n "$LAST_NIGHTLY_SHA" ] && [ "$LAST_NIGHTLY_SHA" = "$CURRENT_SHA" ]; then
echo "No changes since last nightly build, skipping ..."
echo "skip=true" >> $GITHUB_OUTPUT
else
echo "Changes detected, proceeding with build ..."
echo "skip=false" >> $GITHUB_OUTPUT
fi
nightly:
needs: check
if: needs.check.outputs.skip != 'true'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: "1.26.1"
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Delete existing nightly release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release delete nightly --yes --cleanup-tag 2>/dev/null || true
- name: Set nightly date
id: tag
run: |
NIGHTLY_DATE=$(date -u +%Y-%m-%d)
echo "date=$NIGHTLY_DATE" >> $GITHUB_OUTPUT
- name: Prepare dependencies
run: make dist
env:
EAGLECAST_VERSION: nightly-${{ steps.tag.outputs.date }}
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v6
with:
version: latest
args: release --snapshot --parallelism 1 --clean --config .goreleaser-nightly.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
EAGLECAST_VERSION: nightly-${{ steps.tag.outputs.date }}
- name: Push Docker images
run: |
# Push all architecture-specific images
docker push eaglecast:nightly-amd64
docker push eaglecast:nightly-arm64v8
docker push eaglecast:nightly-armv6
docker push eaglecast:nightly-armv7
docker push ghcr.io/h202-wq/eaglecast:nightly-amd64
docker push ghcr.io/h202-wq/eaglecast:nightly-arm64v8
docker push ghcr.io/h202-wq/eaglecast:nightly-armv6
docker push ghcr.io/h202-wq/eaglecast:nightly-armv7
- name: Create and push Docker manifests
run: |
# Docker Hub manifest
docker buildx imagetools create -t eaglecast:nightly \
eaglecast:nightly-amd64 \
eaglecast:nightly-arm64v8 \
eaglecast:nightly-armv6 \
eaglecast:nightly-armv7
# GHCR manifest
docker buildx imagetools create -t ghcr.io/h202-wq/eaglecast:nightly \
ghcr.io/h202-wq/eaglecast:nightly-amd64 \
ghcr.io/h202-wq/eaglecast:nightly-arm64v8 \
ghcr.io/h202-wq/eaglecast:nightly-armv6 \
ghcr.io/h202-wq/eaglecast:nightly-armv7
- name: Verify Docker manifests
run: |
docker buildx imagetools inspect eaglecast:nightly
docker buildx imagetools inspect ghcr.io/h202-wq/eaglecast:nightly
- name: Create GitHub Release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release create nightly \
--title "Nightly release" \
--notes "
> **Warning**: This is an automated nightly build from the master branch.
> It may contain bugs and breaking changes. Use at your own risk.
> Available on Docker Hub and GitHub Container Registry as `eaglecast:nightly`.
> For stable releases, please use a versioned release.
Built from commit: $(git rev-parse --short HEAD)" \
--prerelease \
--target $(git rev-parse HEAD) \
dist/*.tar.gz
+54
View File
@@ -0,0 +1,54 @@
name: goreleaser
on:
push:
tags:
- "v*" # Will trigger only if tag is pushed matching pattern `v*` (Eg: `v0.1.0`)
permissions: write-all
jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: "1.26.1"
- name: Login to Docker Registry
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Docker Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Prepare Dependencies
run: |
make dist
- name: Check Docker Version
run: |
docker version
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v6
with:
version: latest
args: release --parallelism 1 --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}