From b6d61e81f8cf93d33d1c2fcebd6d948fad0514c0 Mon Sep 17 00:00:00 2001 From: lmq8267 <119713693+lmq8267@users.noreply.github.com> Date: Fri, 19 Jan 2024 23:41:29 +0800 Subject: [PATCH] Create CI.yml --- .github/workflows/CI.yml | 152 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 .github/workflows/CI.yml diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml new file mode 100644 index 0000000..7dc888d --- /dev/null +++ b/.github/workflows/CI.yml @@ -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/* + + +