Daily Build #125
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Daily Build | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: '0 17 * * *' # 每天3点执行 | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
env: | |
GO_VERSION: 1.23.4 | |
E_VERSION: daily | |
strategy: | |
matrix: | |
goos: [linux, darwin] | |
goarch: [amd64, arm64] | |
steps: | |
- name: 导入仓库内容 | |
uses: actions/checkout@v3 | |
- name: 加载版本号 | |
run: echo "VERSION=${{ env.E_VERSION }}" >> $GITHUB_ENV | |
- name: APT安装依赖 | |
run: | | |
sudo apt update | |
sudo apt upgrade -y | |
sudo apt install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates tar zstd -y | |
- name: 部署Go环境 | |
uses: actions/setup-go@v3 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: 部署Xcaddy | |
run: | | |
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/xcaddy/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-xcaddy-archive-keyring.gpg | |
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/xcaddy/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-xcaddy.list | |
sudo apt update | |
sudo apt install -y xcaddy | |
- name: 打包编译-EXTRA | |
env: | |
GOOS: ${{ matrix.goos }} | |
GOARCH: ${{ matrix.goarch }} | |
run: | | |
xcaddy build master --with github.com/caddyserver/cache-handler --with github.com/ueffel/caddy-brotli --with github.com/caddyserver/transform-encoder --with github.com/WJQSERVER/caddy-ext/ratelimit@master --with github.com/caddy-dns/cloudflare | |
mkdir -p caddy-package | |
mkdir -p caddy-package/LICENSE | |
mv caddy caddy-package/ | |
cp LICENSE_caddy caddy-package/LICENSE/ | |
tar -czvf caddy-${{ matrix.goos }}-${{ matrix.goarch }}.tar.gz -C caddy-package . | |
tar -I 'zstd -15' -cf caddy-${{ matrix.goos }}-${{ matrix.goarch }}.tar.zst -C caddy-package . | |
- name: 打包编译-L4 | |
env: | |
GOOS: ${{ matrix.goos }} | |
GOARCH: ${{ matrix.goarch }} | |
run: | | |
xcaddy build master --with github.com/caddyserver/cache-handler --with github.com/ueffel/caddy-brotli --with github.com/caddyserver/transform-encoder --with github.com/WJQSERVER/caddy-ext/ratelimit@master --with github.com/caddy-dns/cloudflare --with github.com/mholt/caddy-l4 | |
mkdir -p caddy-package | |
mkdir -p caddy-package/LICENSE | |
mv caddy caddy-package/ | |
cp LICENSE_caddy caddy-package/LICENSE/ | |
tar -czvf caddy-${{ matrix.goos }}-${{ matrix.goarch }}-l4.tar.gz -C caddy-package . | |
tar -I 'zstd -15' -cf caddy-${{ matrix.goos }}-${{ matrix.goarch }}-l4.tar.zst -C caddy-package . | |
- name: 打包编译-PURE | |
env: | |
GOOS: ${{ matrix.goos }} | |
GOARCH: ${{ matrix.goarch }} | |
run: | | |
xcaddy build | |
mkdir -p caddy-package | |
mkdir -p caddy-package/LICENSE | |
mv caddy caddy-package/ | |
cp LICENSE_caddy caddy-package/LICENSE/ | |
tar -czvf caddy-${{ matrix.goos }}-${{ matrix.goarch }}-pure.tar.gz -C caddy-package . | |
tar -I 'zstd -15' -cf caddy-${{ matrix.goos }}-${{ matrix.goarch }}-pure.tar.zst -C caddy-package . | |
- name: 上传至Release | |
id: create_release | |
uses: ncipollo/release-action@v1 | |
with: | |
name: ${{ env.VERSION }} | |
artifacts: ./caddy*.tar.gz, ./caddy*.tar.zst | |
token: ${{ secrets.GITHUB_TOKEN }} | |
tag: ${{ env.VERSION }} | |
allowUpdates: true | |
prerelease: true | |
env: | |
export PATH: $PATH:/usr/local/go/bin | |
package: | |
runs-on: ubuntu-latest | |
needs: build | |
env: | |
E_VERSION: daily | |
strategy: | |
matrix: | |
goos: [linux, darwin] | |
goarch: [amd64, arm64] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: 加载版本号 | |
run: echo "VERSION=${{ env.E_VERSION }}" >> $GITHUB_ENV | |
- name: 安装依赖 | |
run: | | |
sudo apt update | |
sudo apt install curl wget tar unzip zstd -y | |
- name: 打包 EXTRA | |
env: | |
GOOS: ${{ matrix.goos }} | |
GOARCH: ${{ matrix.goarch }} | |
run: | | |
sudo wget -O caddyd-${{ matrix.goos }}-${{ matrix.goarch }}.tar.gz https://github.com/WJQSERVER-STUDIO/caddy/releases/download/${{ env.VERSION }}/caddy-${{ matrix.goos }}-${{ matrix.goarch }}.tar.gz | |
sudo mkdir -p caddy_web | |
sudo tar -xzvf caddyd-${{ matrix.goos }}-${{ matrix.goarch }}.tar.gz -C caddy_web | |
sudo mkdir -p caddy_web/LICENSE | |
sudo ls -l caddy_web | |
sudo cp LICENSE caddy_web/LICENSE/ | |
sudo cp LICENSE_caddy caddy_web/LICENSE/ | |
sudo cp LICENSE_README.md caddy_web/LICENSE/ | |
sudo cp README.md caddy_web/ | |
sudo cp -r pages caddy_web/ | |
sudo tar -czf caddy-${{ matrix.goos }}-${{ matrix.goarch }}-pages.tar.gz -C caddy_web . | |
sudo tar -I 'zstd -15' -cf caddy-${{ matrix.goos }}-${{ matrix.goarch }}-pages.tar.zst -C caddy_web . | |
- name: 打包 L4 | |
env: | |
GOOS: ${{ matrix.goos }} | |
GOARCH: ${{ matrix.goarch }} | |
run: | | |
sudo wget -O caddyd-${{ matrix.goos }}-${{ matrix.goarch }}-l4.tar.gz https://github.com/WJQSERVER-STUDIO/caddy/releases/download/${{ env.VERSION }}/caddy-${{ matrix.goos }}-${{ matrix.goarch }}-l4.tar.gz | |
sudo mkdir -p caddy_web | |
sudo tar -xzvf caddyd-${{ matrix.goos }}-${{ matrix.goarch }}-l4.tar.gz -C caddy_web | |
sudo mkdir -p caddy_web/LICENSE | |
sudo cp LICENSE caddy_web/LICENSE/ | |
sudo cp LICENSE_caddy caddy_web/LICENSE/ | |
sudo cp LICENSE_README.md caddy_web/LICENSE/ | |
sudo cp README.md caddy_web/ | |
sudo cp -r pages caddy_web/ | |
sudo tar -czf caddy-${{ matrix.goos }}-${{ matrix.goarch }}-pages-l4.tar.gz -C caddy_web . | |
sudo tar -I 'zstd -15' -cf caddy-${{ matrix.goos }}-${{ matrix.goarch }}-pages-l4.tar.zst -C caddy_web . | |
- name: 打包 Pure | |
env: | |
GOOS: ${{ matrix.goos }} | |
GOARCH: ${{ matrix.goarch }} | |
run: | | |
sudo wget -O caddyd-${{ matrix.goos }}-${{ matrix.goarch }}-pure.tar.gz https://github.com/WJQSERVER-STUDIO/caddy/releases/download/${{ env.VERSION }}/caddy-${{ matrix.goos }}-${{ matrix.goarch }}-pure.tar.gz | |
sudo mkdir -p caddy_web | |
sudo tar -xzvf caddyd-${{ matrix.goos }}-${{ matrix.goarch }}-pure.tar.gz -C caddy_web | |
sudo mkdir -p caddy_web/LICENSE | |
sudo cp LICENSE caddy_web/LICENSE/ | |
sudo cp LICENSE_caddy caddy_web/LICENSE/ | |
sudo cp LICENSE_README.md caddy_web/LICENSE/ | |
sudo cp README.md caddy_web/ | |
sudo cp -r pages caddy_web/ | |
sudo tar -czf caddy-${{ matrix.goos }}-${{ matrix.goarch }}-pages-pure.tar.gz -C caddy_web . | |
sudo tar -I 'zstd -15' -cf caddy-${{ matrix.goos }}-${{ matrix.goarch }}-pages-pure.tar.zst -C caddy_web . | |
- name: 上传Release | |
id: create_release | |
uses: ncipollo/release-action@v1 | |
with: | |
name: ${{ env.VERSION }} | |
artifacts: ./caddy*pages.tar.gz, ./caddy*pages.tar.zst, ./caddy*pages-l4.tar.gz, ./caddy*pages-l4.tar.zst, ./caddy*pages-pure.tar.gz, ./caddy*pages-pure.tar.zst | |
token: ${{ secrets.GITHUB_TOKEN }} | |
tag: ${{ env.VERSION }} | |
allowUpdates: true | |
prerelease: true | |
env: | |
export PATH: $PATH:/usr/local/go/bin | |
docker: | |
runs-on: ubuntu-latest | |
needs: package | |
env: | |
E_VERSION: daily | |
IMAGE_NAME: wjqserver/caddy | |
DOCKERFILE_DEBIAN: docker/daily/debian | |
DOCKERFILE_ALPINE: docker/daily/alpine | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: 加载版本号 | |
run: echo "VERSION=${{ env.E_VERSION }}" >> $GITHUB_ENV | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: 构建Debian镜像 | |
uses: docker/[email protected] | |
with: | |
file: ./${{ env.DOCKERFILE_DEBIAN }} | |
platforms: linux/amd64,linux/arm64 | |
push: true | |
tags: | | |
${{ env.IMAGE_NAME }}:${{ env.VERSION }} | |
- name: 构建Alpine镜像 | |
uses: docker/[email protected] | |
with: | |
file: ./${{ env.DOCKERFILE_ALPINE }} | |
platforms: | |
linux/amd64,linux/arm64 | |
push: true | |
tags: | | |
${{ env.IMAGE_NAME }}:${{ env.VERSION }}-alpine |