Files
mikrotik-tailscale/.woodpecker/pr-build.yaml
T
Lumpiasty ee5ca68fc3
ci/woodpecker/pr/pr-build Pipeline was successful
Don't rebuild image on non-included paths
2026-06-12 03:06:58 +02:00

41 lines
1.4 KiB
YAML

# Build validation for pull requests (and pushes to main).
#
# Builds the full multi-arch image but does NOT push it anywhere — it only
# proves the Dockerfile still builds for every supported architecture. This is
# the gate Renovate automerge waits on: a dependency bump that breaks the build
# fails this check and will NOT be automerged (and therefore never reaches
# :stable or the routers).
#
# Reports pass/fail status back to Gitea, so it shows up as a required check on
# the PR.
# Changes that can't affect the image don't trigger the build: docs and the
# RouterOS-side script (routeros/**: lives on the router, not in the image).
# NOTE: if Gitea is ever configured to REQUIRE this check for merging, a
# PR touching only excluded files will have no check at all — exempt such PRs
# or merge manually. Renovate PRs always touch the Dockerfile or pipeline
# files, so the automerge gate is unaffected by these exclusions.
when:
- event: pull_request
path:
exclude: &non_image_paths
- '**/*.md'
- 'docs/**'
- 'routeros/**'
- 'renovate.json'
- event: push
branch: main
path:
exclude: *non_image_paths
steps:
- name: Build all arches (no push)
image: woodpeckerci/plugin-docker-buildx:6.1.0
privileged: true
settings:
repo: mikrotik-tailscale
platforms: linux/amd64,linux/arm64,linux/arm/v7
dry-run: true
build_args:
- OCI_VERSION=ci-${CI_COMMIT_SHA}