Removed all github workflows

This commit is contained in:
h202-wq
2026-07-09 12:05:27 -04:00
parent 20554682e2
commit 17036ee789
12 changed files with 71 additions and 130 deletions
+150
View File
@@ -0,0 +1,150 @@
name: nightly
on:
schedule:
- cron: "0 2 * * *"
workflow_dispatch:
jobs:
check:
runs-on: ubuntu-latest
outputs:
skip: ${{ steps.check_changes.outputs.skip }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Check for changes since last nightly release
id: check_changes
env:
API: ${{ github.server_url }}/api/v1
REPO: ${{ github.repository }}
TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
LAST_NIGHTLY_SHA=$(curl -sf -H "Authorization: token $TOKEN" \
"$API/repos/$REPO/releases/tags/nightly" | jq -r '.target_commitish // empty' || 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@v4
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 Gitea Container Registry
uses: docker/login-action@v3
with:
registry: source.offmarket.win
username: ${{ secrets.GITEA_REGISTRY_USER }}
password: ${{ secrets.GITEA_REGISTRY_TOKEN }}
- name: Delete existing nightly release and tag
env:
API: ${{ github.server_url }}/api/v1
REPO: ${{ github.repository }}
TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
RELEASE_ID=$(curl -sf -H "Authorization: token $TOKEN" \
"$API/repos/$REPO/releases/tags/nightly" | jq -r '.id // empty' || echo "")
if [ -n "$RELEASE_ID" ]; then
curl -sf -X DELETE -H "Authorization: token $TOKEN" "$API/repos/$REPO/releases/$RELEASE_ID" || true
curl -sf -X DELETE -H "Authorization: token $TOKEN" "$API/repos/$REPO/tags/nightly" || true
fi
- 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:
EAGLECAST_VERSION: nightly-${{ steps.tag.outputs.date }}
- name: Push Docker images
run: |
# Push all architecture-specific images
docker push source.offmarket.win/aleagle/eaglecast:nightly-amd64
docker push source.offmarket.win/aleagle/eaglecast:nightly-arm64v8
docker push source.offmarket.win/aleagle/eaglecast:nightly-armv6
docker push source.offmarket.win/aleagle/eaglecast:nightly-armv7
- name: Create and push Docker manifest
run: |
docker buildx imagetools create -t source.offmarket.win/aleagle/eaglecast:nightly \
source.offmarket.win/aleagle/eaglecast:nightly-amd64 \
source.offmarket.win/aleagle/eaglecast:nightly-arm64v8 \
source.offmarket.win/aleagle/eaglecast:nightly-armv6 \
source.offmarket.win/aleagle/eaglecast:nightly-armv7
- name: Verify Docker manifest
run: |
docker buildx imagetools inspect source.offmarket.win/aleagle/eaglecast:nightly
- name: Create Gitea release and upload assets
env:
API: ${{ github.server_url }}/api/v1
REPO: ${{ github.repository }}
TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
BODY="> **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 the Gitea container registry as \`source.offmarket.win/aleagle/eaglecast:nightly\`.
> For stable releases, please use a versioned release.
Built from commit: $(git rev-parse --short HEAD)"
PAYLOAD=$(jq -n \
--arg tag "nightly" \
--arg target "$(git rev-parse HEAD)" \
--arg name "Nightly release" \
--arg body "$BODY" \
'{tag_name: $tag, target_commitish: $target, name: $name, body: $body, prerelease: true}')
RELEASE_ID=$(curl -sf -X POST \
-H "Authorization: token $TOKEN" \
-H "Content-Type: application/json" \
-d "$PAYLOAD" \
"$API/repos/$REPO/releases" | jq -r '.id')
for f in dist/*.tar.gz; do
curl -sf -X POST \
-H "Authorization: token $TOKEN" \
-F "attachment=@$f" \
"$API/repos/$REPO/releases/$RELEASE_ID/assets?name=$(basename "$f")" > /dev/null
echo "uploaded: $(basename "$f")"
done