diff --git a/.woodpecker.yml b/.woodpecker.yml index 3eb08f53..1a774815 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -1,13 +1,37 @@ --- -pipeline: +# `make verifs` only checks changed files, so it make sense only on +# pull requests. + +# Also we're using `branch: "$CI_COMMIT_SOURCE_BRANCH"` because the +# default branch name is the target branch, conflicting with the fact +# the Makefile tries to compare the current branch to the target +# branch... + +when: + event: pull_request + +clone: + git: + image: woodpeckerci/plugin-git + pull: true + settings: + branch: ${CI_COMMIT_SOURCE_BRANCH} + +steps: + fetch target branch: + image: python + commands: + - BRANCH="$(make print-BRANCH)" + - git fetch origin --no-tags +refs/heads/$BRANCH + - git branch $BRANCH origin/$BRANCH + - git branch -va + test: image: python commands: - apt-get update - apt-get install -y hunspell hunspell-fr-comprehensive - python3 -m pip install -r requirements.txt - - BRANCH="$(grep ^BRANCH Makefile | awk '{print $3}')" - - git fetch origin --no-tags +refs/heads/$BRANCH - - 'git branch $BRANCH origin/$BRANCH ||:' + - make diff - make verifs diff --git a/Makefile b/Makefile index d5602773..4162fb84 100644 --- a/Makefile +++ b/Makefile @@ -192,3 +192,11 @@ clean: find -name '*.mo' -delete @echo "Cleaning build directory" $(MAKE) -C venv/cpython/Doc/ clean + +.PHONY: diff +diff: + @echo "Files changed between $(BRANCH) and HEAD:" + @echo $(shell git diff --name-only --diff-filter=d $(BRANCH)) + +print-%: + @echo $($*)