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:
2 files changed
+72
-4
No files matched your search
@@ -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
|
||||
Reference in new issue
Block a user