ci: migrate caddy build to GitHub Actions

- Move build-caddy workflow from Gitea to GitHub Actions
- Make caddy_plugin optional, supporting comma-separated plugins
- Add README documenting workflow usage
This commit is contained in:
siujamo committed 2026-09-02 10:27:47 +08:00
1 parent bfcf118a12
commit bfe55464ba
2 files changed
+72 -4

No files matched your search

+43
View File
@@ -0,0 +1,43 @@
name: Build Customised Caddy
on:
workflow_dispatch:
inputs:
caddy_version:
description: 'Specify Caddy version (e.g., latest, v2.8.4)'
required: true
default: 'latest'
caddy_plugin:
description: 'Comma-separated plugin module paths, e.g. github.com/caddy-dns/cloudflare, github.com/caddyserver/nginx-adapter. Leave empty to build vanilla Caddy.'
required: false
jobs:
build-caddy:
runs-on: ubuntu-latest
steps:
- name: Initialise Go environment
uses: actions/setup-go@v5
with:
go-version: '1.22'
check-latest: true
- name: Install xcaddy programme
run: go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest
- name: Compile customised Caddy binary
run: |
PLUGIN_ARGS=""
IFS=',' read -ra PLUGINS <<< "${{ inputs.caddy_plugin }}"
for PLUGIN in "${PLUGINS[@]}"; do
PLUGIN="${PLUGIN// /}"
if [ -n "$PLUGIN" ]; then
PLUGIN_ARGS="$PLUGIN_ARGS --with $PLUGIN"
fi
done
xcaddy build ${{ inputs.caddy_version }} $PLUGIN_ARGS
- name: Upload compiled artefact
uses: actions/upload-artifact@v3
with:
name: caddy-custom-linux-amd64
path: caddy