From 9f32322846c0208f8e77ef61c48cd49ff2c23c6f Mon Sep 17 00:00:00 2001 From: Andreas Motl Date: Mon, 14 Dec 2020 16:49:50 +0100 Subject: [PATCH 1/8] Attempt to run the build on "windows-latest" --- .github/workflows/docs.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 98bac08..4e51693 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,6 +1,6 @@ name: docs on: - pull_request: ~ + pull_request: push: branches: - main @@ -13,6 +13,10 @@ concurrency: cancel-in-progress: true group: ${{ github.workflow }}-${{ github.ref }} +defaults: + run: + shell: sh + jobs: documentation: name: Build docs on ${{ matrix.os }} @@ -20,7 +24,7 @@ jobs: strategy: matrix: - os: ["ubuntu-latest", "macos-latest"] + os: ["windows-latest"] steps: - uses: actions/checkout@v4 From fb7b013bc6967278f64357bb03dbd9a1929ccff1 Mon Sep 17 00:00:00 2001 From: Andreas Motl Date: Thu, 18 Mar 2021 20:36:40 +0100 Subject: [PATCH 2/8] Use different Python interpreter name on Windows --- common-build/rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common-build/rules.mk b/common-build/rules.mk index d39a4ba..a321b8f 100644 --- a/common-build/rules.mk +++ b/common-build/rules.mk @@ -46,7 +46,7 @@ SRC_DIR = $(LOCAL_DIR)/common-build BIN_DIR = $(SRC_DIR)/bin ENV_DIR = $(LOCAL_DIR)/.venv ACTIVATE = $(ENV_DIR)/bin/activate -PYTHON = python3 +PYTHON = python.exe PIP = $(PYTHON) -m pip SPHINXBUILD = $(ENV_DIR)/bin/sphinx-build SPHINXAUTOBUILD = $(ENV_DIR)/bin/sphinx-autobuild From 04c58cab26a667aafb74503abb8004e12af14b9e Mon Sep 17 00:00:00 2001 From: Andreas Motl Date: Thu, 18 Mar 2021 21:12:16 +0100 Subject: [PATCH 3/8] Adjust way of virtualenv activation --- common-build/rules.mk | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/common-build/rules.mk b/common-build/rules.mk index a321b8f..881cd93 100644 --- a/common-build/rules.mk +++ b/common-build/rules.mk @@ -45,7 +45,7 @@ LOCAL_DIR = $(patsubst %/common-build/,%,$(dir $(lastword $(MAKEFILE_LIST) SRC_DIR = $(LOCAL_DIR)/common-build BIN_DIR = $(SRC_DIR)/bin ENV_DIR = $(LOCAL_DIR)/.venv -ACTIVATE = $(ENV_DIR)/bin/activate +ACTIVATE = $(ENV_DIR)/Scripts/activate.bat PYTHON = python.exe PIP = $(PYTHON) -m pip SPHINXBUILD = $(ENV_DIR)/bin/sphinx-build @@ -139,16 +139,16 @@ $(ACTIVATE): exit 1; \ fi @ $(PYTHON) -m venv $(ENV_DIR) - @ . $(ACTIVATE) && \ + @ $(ACTIVATE) && \ $(PIP) install --upgrade pip # Install dependencies needed by these three tools $(RST2HTML) $(SPHINXBUILD) $(SPHINXAUTOBUILD): $(ACTIVATE) @ printf '\033[1mInstalling Python dependencies...\033[00m\n' - @ . $(ACTIVATE) && \ + @ $(ACTIVATE) && \ $(PIP) install -r $(SRC_DIR)/requirements.txt @ # Change to `TOP_DIR` to mimic how Read the Docs does it - @ . $(ACTIVATE) && cd $(TOP_DIR) && \ + @ $(ACTIVATE) && cd $(TOP_DIR) && \ $(PIP) install -r $(DOCS_DIR)/requirements.txt # Configured and run in a sub-make by the $(VALE) target @@ -196,14 +196,14 @@ endif # want to configure `linkcheck_ignore` in your `conf.py` file. .PHONY: html linkcheck html linkcheck: $(ACTIVATE) $(SPHINXBUILD) - @ . $(ACTIVATE) && \ + @ $(ACTIVATE) && \ $(SPHINXBUILD) \ $(SPHINX_ARGS) $(SPHINX_OPTS) $(SPHINX_OPTS_CI) -b $(@) $(O) # Both target names will work .PHONY: dev autobuild dev autobuild: $(SPHINXAUTOBUILD) - @ . $(ACTIVATE) && \ + @ $(ACTIVATE) && \ $(SPHINXAUTOBUILD) \ $(SPHINX_ARGS) $(SPHINX_OPTS) $(AUTOBUILD_OPTS) $(O) @@ -216,7 +216,7 @@ vale: else vale: $(ACTIVATE) $(VALE) @ mkdir -p $(@D) - @ . $(ACTIVATE) && \ + @ $(ACTIVATE) && \ $(VALE) $(VALE_OPTS) $(TOP_DIR) endif @@ -289,7 +289,7 @@ $(VALE_OUT_DIR)/summary.json: $(VALE_OUT_DIR)/report.json $(JQ) # summary data) $(VALE_OUT_DIR)/report.json: $(ACTIVATE) $(VALE) @ mkdir -p $(@D) - @ . $(ACTIVATE) && \ + @ $(ACTIVATE) && \ $(VALE) $(VALE_OPTS) --output=JSON $(TOP_DIR) > $@ @ printf 'Written: $@\n' From 6ba9335302db7978454fac36b1625addf3148cdb Mon Sep 17 00:00:00 2001 From: Andreas Motl Date: Thu, 18 Mar 2021 21:16:01 +0100 Subject: [PATCH 4/8] Adjust paths to entrypoint scripts --- common-build/rules.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/common-build/rules.mk b/common-build/rules.mk index 881cd93..b01e82e 100644 --- a/common-build/rules.mk +++ b/common-build/rules.mk @@ -48,14 +48,14 @@ ENV_DIR = $(LOCAL_DIR)/.venv ACTIVATE = $(ENV_DIR)/Scripts/activate.bat PYTHON = python.exe PIP = $(PYTHON) -m pip -SPHINXBUILD = $(ENV_DIR)/bin/sphinx-build -SPHINXAUTOBUILD = $(ENV_DIR)/bin/sphinx-autobuild +SPHINXBUILD = $(ENV_DIR)/Scripts/sphinx-build.exe +SPHINXAUTOBUILD = $(ENV_DIR)/Scripts/sphinx-autobuild.exe AUTOBUILD_OPTS = --watch $(TOP_DIR) --re-ignore '^(?!.+\.(?:rst|md|mmd|html|css|js|py|conf)$$)' --open-browser --delay 0 BUILD_DIR = $(LOCAL_DIR)/.build SPHINX_ARGS = . $(BUILD_DIR) SPHINX_OPTS = -n --jobs auto SPHINX_OPTS_CI = -W --keep-going -RST2HTML = $(ENV_DIR)/bin/rst2html.py +RST2HTML = $(ENV_DIR)/Scripts/rst2html.py TELEMETRY_DIR = $(LOCAL_DIR)/telemetry VALE_VERSION = 2.6.7 ERRATA_AI = https://github.com/errata-ai From 262c380eed8bee7976a3abbc38f04493f1af91da Mon Sep 17 00:00:00 2001 From: Andreas Motl Date: Fri, 19 Mar 2021 01:05:18 +0100 Subject: [PATCH 5/8] Adjust venv activation again --- common-build/rules.mk | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/common-build/rules.mk b/common-build/rules.mk index b01e82e..d775e6d 100644 --- a/common-build/rules.mk +++ b/common-build/rules.mk @@ -45,7 +45,7 @@ LOCAL_DIR = $(patsubst %/common-build/,%,$(dir $(lastword $(MAKEFILE_LIST) SRC_DIR = $(LOCAL_DIR)/common-build BIN_DIR = $(SRC_DIR)/bin ENV_DIR = $(LOCAL_DIR)/.venv -ACTIVATE = $(ENV_DIR)/Scripts/activate.bat +ACTIVATE = $(ENV_DIR)/Scripts/activate PYTHON = python.exe PIP = $(PYTHON) -m pip SPHINXBUILD = $(ENV_DIR)/Scripts/sphinx-build.exe @@ -139,16 +139,16 @@ $(ACTIVATE): exit 1; \ fi @ $(PYTHON) -m venv $(ENV_DIR) - @ $(ACTIVATE) && \ + @ . $(ACTIVATE) && \ $(PIP) install --upgrade pip # Install dependencies needed by these three tools $(RST2HTML) $(SPHINXBUILD) $(SPHINXAUTOBUILD): $(ACTIVATE) @ printf '\033[1mInstalling Python dependencies...\033[00m\n' - @ $(ACTIVATE) && \ + @ . $(ACTIVATE) && \ $(PIP) install -r $(SRC_DIR)/requirements.txt @ # Change to `TOP_DIR` to mimic how Read the Docs does it - @ $(ACTIVATE) && cd $(TOP_DIR) && \ + @ . $(ACTIVATE) && cd $(TOP_DIR) && \ $(PIP) install -r $(DOCS_DIR)/requirements.txt # Configured and run in a sub-make by the $(VALE) target @@ -196,14 +196,14 @@ endif # want to configure `linkcheck_ignore` in your `conf.py` file. .PHONY: html linkcheck html linkcheck: $(ACTIVATE) $(SPHINXBUILD) - @ $(ACTIVATE) && \ + @ . $(ACTIVATE) && \ $(SPHINXBUILD) \ $(SPHINX_ARGS) $(SPHINX_OPTS) $(SPHINX_OPTS_CI) -b $(@) $(O) # Both target names will work .PHONY: dev autobuild dev autobuild: $(SPHINXAUTOBUILD) - @ $(ACTIVATE) && \ + @ . $(ACTIVATE) && \ $(SPHINXAUTOBUILD) \ $(SPHINX_ARGS) $(SPHINX_OPTS) $(AUTOBUILD_OPTS) $(O) @@ -216,7 +216,7 @@ vale: else vale: $(ACTIVATE) $(VALE) @ mkdir -p $(@D) - @ $(ACTIVATE) && \ + @ . $(ACTIVATE) && \ $(VALE) $(VALE_OPTS) $(TOP_DIR) endif @@ -289,7 +289,7 @@ $(VALE_OUT_DIR)/summary.json: $(VALE_OUT_DIR)/report.json $(JQ) # summary data) $(VALE_OUT_DIR)/report.json: $(ACTIVATE) $(VALE) @ mkdir -p $(@D) - @ $(ACTIVATE) && \ + @ . $(ACTIVATE) && \ $(VALE) $(VALE_OPTS) --output=JSON $(TOP_DIR) > $@ @ printf 'Written: $@\n' From 8bc05cfcd87eaed08b26d5cc8c9d1b18a58fabd4 Mon Sep 17 00:00:00 2001 From: Andreas Motl Date: Fri, 19 Mar 2021 02:18:33 +0100 Subject: [PATCH 6/8] Disable Vale --- .github/workflows/docs.yml | 6 +++--- common-build/rules.mk | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 4e51693..a5dd795 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -35,6 +35,6 @@ jobs: - name: Build docs run: | cd docs && make check - - name: Check Vale - run: | - cd test && make test + #- name: Check Vale + # run: | + # cd test && make test diff --git a/common-build/rules.mk b/common-build/rules.mk index d775e6d..8b987b0 100644 --- a/common-build/rules.mk +++ b/common-build/rules.mk @@ -222,7 +222,7 @@ endif # Both target names will work .PHONY: check test -check test: html linkcheck vale +check test: html linkcheck # Telemetry data From 59a1a81c435083716438f4249dce56db8e1d9f17 Mon Sep 17 00:00:00 2001 From: Andreas Motl Date: Thu, 25 Dec 2025 01:20:27 +0100 Subject: [PATCH 7/8] Generalize OS independence --- .github/workflows/docs.yml | 7 ++++--- common-build/rules.mk | 27 +++++++++++++++++++++------ 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index a5dd795..bab1efe 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -35,6 +35,7 @@ jobs: - name: Build docs run: | cd docs && make check - #- name: Check Vale - # run: | - # cd test && make test + - name: Check Vale + #if: matrix.os != 'windows-latest' + run: | + cd test && make test diff --git a/common-build/rules.mk b/common-build/rules.mk index 8b987b0..6a54b24 100644 --- a/common-build/rules.mk +++ b/common-build/rules.mk @@ -45,17 +45,17 @@ LOCAL_DIR = $(patsubst %/common-build/,%,$(dir $(lastword $(MAKEFILE_LIST) SRC_DIR = $(LOCAL_DIR)/common-build BIN_DIR = $(SRC_DIR)/bin ENV_DIR = $(LOCAL_DIR)/.venv -ACTIVATE = $(ENV_DIR)/Scripts/activate -PYTHON = python.exe +ACTIVATE = $(ENV_DIR)/bin/activate +PYTHON = python3 PIP = $(PYTHON) -m pip -SPHINXBUILD = $(ENV_DIR)/Scripts/sphinx-build.exe -SPHINXAUTOBUILD = $(ENV_DIR)/Scripts/sphinx-autobuild.exe +SPHINXBUILD = $(ENV_DIR)/bin/sphinx-build +SPHINXAUTOBUILD = $(ENV_DIR)/bin/sphinx-autobuild AUTOBUILD_OPTS = --watch $(TOP_DIR) --re-ignore '^(?!.+\.(?:rst|md|mmd|html|css|js|py|conf)$$)' --open-browser --delay 0 BUILD_DIR = $(LOCAL_DIR)/.build SPHINX_ARGS = . $(BUILD_DIR) SPHINX_OPTS = -n --jobs auto SPHINX_OPTS_CI = -W --keep-going -RST2HTML = $(ENV_DIR)/Scripts/rst2html.py +RST2HTML = $(ENV_DIR)/bin/rst2html.py TELEMETRY_DIR = $(LOCAL_DIR)/telemetry VALE_VERSION = 2.6.7 ERRATA_AI = https://github.com/errata-ai @@ -103,6 +103,14 @@ ifneq ($(wildcard $(NO_VALE_FILE)),) UNAME := none endif +# Adjustments when running on Windows +ifeq ($(UNAME),Windows) + ACTIVATE := $(ENV_DIR)/Scripts/activate + PYTHON := python.exe + SPHINXBUILD := $(ENV_DIR)/Scripts/sphinx-build.exe + SPHINXAUTOBUILD := $(ENV_DIR)/Scripts/sphinx-autobuild.exe + RST2HTML := $(ENV_DIR)/Scripts/rst2html.py +endif # Help message # ============================================================================= @@ -188,6 +196,13 @@ $(VALE): @ $(MAKE) install-vale-styles endif +# Vale installation for Windows +ifeq ($(UNAME),Windows) +$(VALE): + @ $(MAKE) install-vale PROGRAM=$(VALE_WIN) + @ $(MAKE) install-vale-styles +endif + # Core build commands and QA checks # ============================================================================= @@ -222,7 +237,7 @@ endif # Both target names will work .PHONY: check test -check test: html linkcheck +check test: html linkcheck vale # Telemetry data From 57d1a349618bb5a30809824ae2d89c24469b2406 Mon Sep 17 00:00:00 2001 From: Andreas Motl Date: Thu, 25 Dec 2025 01:23:11 +0100 Subject: [PATCH 8/8] Try Windows differently --- common-build/rules.mk | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/common-build/rules.mk b/common-build/rules.mk index 6a54b24..bc03cc8 100644 --- a/common-build/rules.mk +++ b/common-build/rules.mk @@ -91,6 +91,12 @@ GIT_LOG_OUT_DIR = $(TELEMETRY_DIR)/git-log # Figure out the OS ifeq ($(findstring ;,$(PATH)),;) # Windows, but not POSIX environment + # Adjustments when running on Windows + ACTIVATE := $(ENV_DIR)/Scripts/activate + PYTHON := python.exe + SPHINXBUILD := $(ENV_DIR)/Scripts/sphinx-build.exe + SPHINXAUTOBUILD := $(ENV_DIR)/Scripts/sphinx-autobuild.exe + RST2HTML := $(ENV_DIR)/Scripts/rst2html.py else UNAME := $(shell uname 2>/dev/null || echo Unknown) UNAME := $(patsubst CYGWIN%,Windows,$(UNAME)) @@ -103,14 +109,6 @@ ifneq ($(wildcard $(NO_VALE_FILE)),) UNAME := none endif -# Adjustments when running on Windows -ifeq ($(UNAME),Windows) - ACTIVATE := $(ENV_DIR)/Scripts/activate - PYTHON := python.exe - SPHINXBUILD := $(ENV_DIR)/Scripts/sphinx-build.exe - SPHINXAUTOBUILD := $(ENV_DIR)/Scripts/sphinx-autobuild.exe - RST2HTML := $(ENV_DIR)/Scripts/rst2html.py -endif # Help message # =============================================================================