Create CI.yml
This commit is contained in:
parent
7178199422
commit
b6d61e81f8
152
.github/workflows/CI.yml
vendored
Normal file
152
.github/workflows/CI.yml
vendored
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
name: 编译caddy二进制文件
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
env:
|
||||||
|
TZ: Asia/Shanghai
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- TARGET: amd64
|
||||||
|
OS: ubuntu-latest
|
||||||
|
AARCH: amd64
|
||||||
|
|
||||||
|
- TARGET: arm64
|
||||||
|
OS: ubuntu-latest
|
||||||
|
ARCH: arm64
|
||||||
|
|
||||||
|
- TARGET: mips
|
||||||
|
OS: ubuntu-latest
|
||||||
|
SOFT: softfloat
|
||||||
|
ARCH: mips
|
||||||
|
|
||||||
|
- TARGET: mips64
|
||||||
|
OS: ubuntu-latest
|
||||||
|
SOFT: softfloat
|
||||||
|
ARCH: mips64
|
||||||
|
|
||||||
|
- TARGET: mips64le
|
||||||
|
OS: ubuntu-latest
|
||||||
|
SOFT: softfloat
|
||||||
|
ARCH: mips64le
|
||||||
|
|
||||||
|
- TARGET: mipsel
|
||||||
|
OS: ubuntu-latest
|
||||||
|
SOFT: softfloat
|
||||||
|
ARCH: mipsle
|
||||||
|
|
||||||
|
- TARGET: ppc64le
|
||||||
|
OS: ubuntu-latest
|
||||||
|
SOFT: softfloat
|
||||||
|
ARCH: ppc64le
|
||||||
|
|
||||||
|
- TARGET: s390x
|
||||||
|
OS: ubuntu-latest
|
||||||
|
SOFT: softfloat
|
||||||
|
ARCH: s390x
|
||||||
|
|
||||||
|
- TARGET: arm
|
||||||
|
OS: ubuntu-latest
|
||||||
|
SOFT: softfloat
|
||||||
|
ARCH: arm
|
||||||
|
|
||||||
|
- TARGET: armel
|
||||||
|
OS: ubuntu-latest
|
||||||
|
SOFT: softfloat
|
||||||
|
ARCH: arm
|
||||||
|
|
||||||
|
- TARGET: armv5l
|
||||||
|
OS: ubuntu-latest
|
||||||
|
SOFT: softfloat
|
||||||
|
ARM: 5
|
||||||
|
ARCH: arm
|
||||||
|
|
||||||
|
- TARGET: armv6
|
||||||
|
OS: ubuntu-latest
|
||||||
|
SOFT: softfloat
|
||||||
|
ARM: 6
|
||||||
|
ARCH: arm
|
||||||
|
|
||||||
|
- TARGET: armv7l
|
||||||
|
OS: ubuntu-latest
|
||||||
|
SOFT: softfloat
|
||||||
|
ARM: 7
|
||||||
|
ARCH: arm
|
||||||
|
|
||||||
|
- TARGET: armv7m
|
||||||
|
OS: ubuntu-latest
|
||||||
|
SOFT: softfloat
|
||||||
|
ARM: 7
|
||||||
|
ARCH: arm
|
||||||
|
|
||||||
|
- TARGET: armv7r
|
||||||
|
OS: ubuntu-latest
|
||||||
|
SOFT: softfloat
|
||||||
|
ARM: 7
|
||||||
|
ARCH: arm
|
||||||
|
|
||||||
|
runs-on: ${{ matrix.OS }}
|
||||||
|
env:
|
||||||
|
TARGET: ${{ matrix.TARGET }}
|
||||||
|
OS: ${{ matrix.OS }}
|
||||||
|
SOFT: ${{ matrix.SOFT }}
|
||||||
|
ARM: ${{ matrix.ARM }}
|
||||||
|
ARCH: ${{ matrix.ARCH }}
|
||||||
|
steps:
|
||||||
|
- name: 获取最新Go
|
||||||
|
run: |
|
||||||
|
latest_version=$(curl -L -k -s https://golang.org/dl/?mode=json | grep -m 1 -o '"version": "[^"]*' | sed 's/"version": "//' | tr -d 'go" ')
|
||||||
|
echo "go版本=$latest_version"
|
||||||
|
echo "gotag=$latest_version" >> $GITHUB_ENV
|
||||||
|
- name: 安装go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: ${{ env.gotag }}
|
||||||
|
-
|
||||||
|
name: 检查代码仓库
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
-
|
||||||
|
name: 编译
|
||||||
|
run: |
|
||||||
|
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest
|
||||||
|
wget -q -c https://github.com/upx/upx/releases/download/v4.2.2/upx-4.2.2-amd64_linux.tar.xz -P /opt
|
||||||
|
tar -xf /opt/upx-4.2.2-amd64_linux.tar.xz -C /opt
|
||||||
|
sudo cp -rf /opt/upx-4.2.2-amd64_linux/upx /usr/bin/upx
|
||||||
|
|
||||||
|
echo "开始构建"
|
||||||
|
mkdir -p /opt/caddy
|
||||||
|
cd /opt/caddy
|
||||||
|
sudo timedatectl set-timezone "Asia/Shanghai"
|
||||||
|
|
||||||
|
GOOS=linux GOARCH=${ARCH} GOMIPS=${SOFT} GOARM=${ARM} xcaddy build \
|
||||||
|
--with github.com/mholt/caddy-webdav \
|
||||||
|
--with github.com/aksdb/caddy-cgi/v2
|
||||||
|
file caddy
|
||||||
|
du -k caddy
|
||||||
|
mv caddy caddy-${TARGET}
|
||||||
|
if [[ $TARGET != mips64 ]] && [[ $TARGET != mips64le ]] && [[ $TARGET != s390x ]] ;then
|
||||||
|
cp caddy caddy-${TARGET}-upx
|
||||||
|
upx --lzma --best caddy-${TARGET}-upx
|
||||||
|
du -k caddy caddy-${TARGET}-upx
|
||||||
|
fi
|
||||||
|
#sudo apt install qemu-user
|
||||||
|
#qemu-mipsel caddy -v
|
||||||
|
|
||||||
|
echo "build_time=$(date '+%Y-%m-%d %H:%M:%S')" >> $GITHUB_ENV
|
||||||
|
echo "build_tag=$tag" >> $GITHUB_ENV
|
||||||
|
- name: 发布
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.c8 }}
|
||||||
|
body: |
|
||||||
|
> ### 编译时间 :${{ env.build_time }}
|
||||||
|
|
||||||
|
|
||||||
|
tag_name: ${{ env.tag }}
|
||||||
|
files: /opt/caddy/*
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user