Create CI.yml

This commit is contained in:
lmq8267 2024-01-19 23:41:29 +08:00 committed by GitHub
parent 7178199422
commit b6d61e81f8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

152
.github/workflows/CI.yml vendored Normal file
View 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/*