diff --git a/.gitea/workflows/build-test.yml b/.gitea/workflows/build-test.yml new file mode 100644 index 0000000..24c59f7 --- /dev/null +++ b/.gitea/workflows/build-test.yml @@ -0,0 +1,66 @@ +name: Build Test + +on: + workflow_dispatch: + pull_request: + branches: [ main ] + paths: + - 'caddy-*/**' + - '.gitea/workflows/**' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - + name: Checkout code + uses: actions/checkout@v6.0.2 + - + name: Parse Caddy version + id: version + run: | + VERSION=$(grep -m 1 -Eo 'caddy:[0-9]+\.[0-9]+\.[0-9]' caddy-cloudflare/Dockerfile | cut -d ':' -f2) + echo "version=$VERSION" >> $GITHUB_OUTPUT + echo "Version from file: $VERSION" + + # Extract semantic version parts + MAJOR=$(echo $VERSION | cut -d. -f1) + MINOR=$(echo $VERSION | cut -d. -f1-2) + + echo "major_version=$MAJOR" >> $GITHUB_OUTPUT + echo "minor_version=$MINOR" >> $GITHUB_OUTPUT + echo "Major: $MAJOR, Minor: $MINOR" + - + name: Set up QEMU + uses: docker/setup-qemu-action@v3.7.0 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3.12.0 + with: + driver-opts: image=moby/buildkit:v0.23.2@sha256:ddd1ca44b21eda906e81ab14a3d467fa6c39cd73b9a39df1196210edcb8db59e + - + name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v5.10.0 + with: + images: | + ryuupendragon/caddy + tags: | + type=sha,format=long,prefix=sha- + type=raw,value=latest + type=raw,value=${{ steps.version.outputs.major_version }} + type=raw,value=${{ steps.version.outputs.minor_version }} + type=raw,value=${{ steps.version.outputs.version }},priority=1000 + - + name: Build and push + uses: docker/build-push-action@v6.18.0 + with: + context: caddy-cloudflare + file: caddy-cloudflare/Dockerfile + push: false + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max + build-args: | + BUILDKIT_INLINE_CACHE=1