Skip to content

Commit 307ee30

Browse files
authored
Merge pull request #7822 from tenkoma/2.x-update-dockerfile-and-build
2.x fix build and deploy
2 parents c1d6ebc + a8dd75a commit 307ee30

11 files changed

Lines changed: 106 additions & 104 deletions

File tree

.github/workflows/ci.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,22 @@ on:
88
branches:
99
- '*'
1010

11+
permissions:
12+
contents: read
13+
1114
jobs:
1215
build:
1316
runs-on: ubuntu-latest
1417
strategy:
1518
matrix:
16-
python-version: [3.9]
1719
doc-type: ['HTML', 'EPUB', 'PDF']
1820

1921
steps:
20-
- uses: actions/checkout@v2
21-
with:
22-
fetch-depth: 1
22+
- uses: actions/checkout@v4
2323

24-
- name: Set up Python ${{ matrix.python-version }}
25-
uses: actions/setup-python@v2
24+
- uses: actions/setup-python@v5
2625
with:
27-
python-version: ${{ matrix.python-version }}
26+
python-version: 3.11
2827

2928
- name: Install dependencies
3029
run: |
@@ -33,6 +32,7 @@ jobs:
3332
3433
- name: Install packages
3534
run: |
35+
sudo apt update
3636
sudo apt install texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended texlive-lang-all
3737
3838
- name: Build Docs

.github/workflows/deploy_2x.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
runs-on: ubuntu-latest
1212
steps:
1313
- name: Cloning repo
14-
uses: actions/checkout@v2
14+
uses: actions/checkout@v4
1515
with:
1616
fetch-depth: 0
1717

Dockerfile

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,28 @@
1-
FROM debian:bullseye
1+
FROM debian:bookworm
22

33
ENV DEBIAN_FRONTEND noninteractive
44

55
LABEL Description="This image is used to create an environment to contribute to the cakephp/docs"
66

77
RUN apt-get update && apt-get install -y \
8-
python3-pip \
9-
texlive-latex-recommended \
10-
texlive-latex-extra \
8+
build-essential \
9+
latexmk \
10+
php \
11+
python3-full \
1112
texlive-fonts-recommended \
1213
texlive-lang-all \
13-
latexmk \
14+
texlive-latex-extra \
15+
texlive-latex-recommended \
1416
&& apt-get clean \
1517
&& rm -rf /var/lib/apt/lists/*
1618

19+
RUN python3 -m venv /tmp/venv
20+
ENV PATH="/tmp/venv/bin:$PATH"
21+
1722
COPY requirements.txt /tmp/
18-
RUN pip3 install -r /tmp/requirements.txt
23+
RUN pip install -r /tmp/requirements.txt
1924

2025
WORKDIR /data
26+
VOLUME "/data"
2127

2228
CMD ["/bin/bash"]

Makefile

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Inspired by the Makefile used by bazaar.
33
# https://bazaar.launchpad.net/~bzr-pqm/bzr/2.3/
44

5-
PYTHON = python
5+
PYTHON = python3
66
ES_HOST =
77
ES_HOST_V2 =
88

@@ -16,6 +16,9 @@ PDF_LANGS = en es fr pt
1616

1717
DEST = website
1818

19+
EPUB_ARGS =
20+
SPHINXOPTS =
21+
1922
# Get path to theme directory to build static assets.
2023
THEME_DIR = $(shell python3 -c 'import os, cakephpsphinx; print(os.path.abspath(os.path.dirname(cakephpsphinx.__file__)))')
2124

@@ -30,13 +33,13 @@ epub: $(foreach lang, $(LANGS), epub-$(lang))
3033
latex: $(foreach lang, $(PDF_LANGS), latex-$(lang))
3134
pdf: $(foreach lang, $(PDF_LANGS), pdf-$(lang))
3235
htmlhelp: $(foreach lang, $(LANGS), htmlhelp-$(lang))
33-
populate-index: $(foreach lang, $(LANGS), populate-index-$(lang))
36+
server: $(foreach lang, $(LANGS), server-$(lang))
3437
rebuild-index: $(foreach lang, $(LANGS), rebuild-index-$(lang))
3538

3639

3740
# Make the HTML version of the documentation with correctly nested language folders.
3841
html-%:
39-
cd $* && make html
42+
cd $* && make html SPHINXOPTS="$(SPHINXOPTS)"
4043
make build/html/$*/_static/css/dist.css
4144
make build/html/$*/_static/js/dist.js
4245

@@ -52,12 +55,11 @@ latex-%:
5255
pdf-%:
5356
cd $* && make latexpdf
5457

55-
populate-index-%:
56-
php scripts/populate_search_index.php --lang="$*" --host="$(ES_HOST_V2)"
58+
server-%:
59+
cd build/html/$* && python3 -m SimpleHTTPServer
5760

58-
rebuild-index-%:
59-
curl -XDELETE $(ES_HOST)/documentation/2-2-$*
60-
php scripts/populate_search_index.php $* $(ES_HOST)
61+
epub-check-%: build/epub/$*
62+
java -jar /epubcheck/epubcheck.jar build/epub/$*/CakePHP.epub $(EPUB_ARGS)
6163

6264
website-dirs:
6365
# Make the directory if its not there already.

en/Makefile

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,12 @@ PAPER =
77
BUILDDIR = ../build
88
CONFDIR = ../config
99
PYTHON = python3
10-
LANG = en
1110
SPHINX_LANG = en
1211

1312
# Internal variables.
1413
PAPEROPT_a4 = -D latex_paper_size=a4
1514
PAPEROPT_letter = -D latex_paper_size=letter
16-
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees/$(LANG) -c $(CONFDIR) -D language=$(SPHINX_LANG) $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
15+
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees/$(SPHINX_LANG) -c $(CONFDIR) -D language=$(SPHINX_LANG) $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
1716

1817
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
1918

@@ -40,9 +39,9 @@ clean:
4039
-rm -rf $(BUILDDIR)/*
4140

4241
html:
43-
$(SPHINXBUILD) -b html -D "exclude_patterns=*-contents.rst" $(ALLSPHINXOPTS) $(BUILDDIR)/html/$(LANG)
42+
$(SPHINXBUILD) -b html -D "exclude_patterns=*-contents.rst" $(ALLSPHINXOPTS) $(BUILDDIR)/html/$(SPHINX_LANG)
4443
@echo
45-
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html/$(LANG)."
44+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html/$(SPHINX_LANG)."
4645

4746
dirhtml:
4847
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@@ -65,10 +64,10 @@ json:
6564
@echo "Build finished; now you can process the JSON files."
6665

6766
htmlhelp:
68-
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp/$(LANG)
67+
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp/$(SPHINX_LANG)
6968
@echo
7069
@echo "Build finished; now you can run HTML Help Workshop with the" \
71-
".hhp project file in $(BUILDDIR)/htmlhelp/$(LANG)."
70+
".hhp project file in $(BUILDDIR)/htmlhelp/$(SPHINX_LANG)."
7271

7372
qthelp:
7473
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@@ -89,22 +88,22 @@ devhelp:
8988
@echo "# devhelp"
9089

9190
epub:
92-
$(SPHINXBUILD) -b epub -D master_doc='epub-contents' $(ALLSPHINXOPTS) $(BUILDDIR)/epub/$(LANG)
91+
$(SPHINXBUILD) -b epub -D master_doc='epub-contents' $(ALLSPHINXOPTS) $(BUILDDIR)/epub/$(SPHINX_LANG)
9392
@echo
94-
@echo "Build finished. The epub file is in $(BUILDDIR)/epub/$(LANG)."
93+
@echo "Build finished. The epub file is in $(BUILDDIR)/epub/$(SPHINX_LANG)."
9594

9695
latex:
97-
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex/$(LANG)
96+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex/$(SPHINX_LANG)
9897
@echo
99-
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex/$(LANG)."
98+
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex/$(SPHINX_LANG)."
10099
@echo "Run \`make' in that directory to run these through (pdf)latex" \
101100
"(use \`make latexpdf' here to do that automatically)."
102101

103102
latexpdf:
104-
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex/$(LANG)
103+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex/$(SPHINX_LANG)
105104
@echo "Running LaTeX files through pdflatex..."
106-
make -C $(BUILDDIR)/latex/$(LANG) all-pdf
107-
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex/$(LANG)."
105+
make -C $(BUILDDIR)/latex/$(SPHINX_LANG) all-pdf
106+
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex/$(SPHINX_LANG)."
108107

109108
text:
110109
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text

es/Makefile

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,12 @@ PAPER =
88
BUILDDIR = ../build
99
CONFDIR = ../config
1010
PYTHON = python3
11-
LANG = es
1211
SPHINX_LANG = es
1312

1413
# Internal variables.
1514
PAPEROPT_a4 = -D latex_paper_size=a4
1615
PAPEROPT_letter = -D latex_paper_size=letter
17-
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees/$(LANG) -c $(CONFDIR) -D language=$(SPHINX_LANG) $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
16+
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees/$(SPHINX_LANG) -c $(CONFDIR) -D language=$(SPHINX_LANG) $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
1817

1918
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
2019

@@ -41,9 +40,9 @@ clean:
4140
-rm -rf $(BUILDDIR)/*
4241

4342
html:
44-
$(SPHINXBUILD) -b html -D "exclude_patterns=*-contents.rst" $(ALLSPHINXOPTS) $(BUILDDIR)/html/$(LANG)
43+
$(SPHINXBUILD) -b html -D "exclude_patterns=*-contents.rst" $(ALLSPHINXOPTS) $(BUILDDIR)/html/$(SPHINX_LANG)
4544
@echo
46-
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html/$(LANG)."
45+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html/$(SPHINX_LANG)."
4746

4847
dirhtml:
4948
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@@ -66,10 +65,10 @@ json:
6665
@echo "Build finished; now you can process the JSON files."
6766

6867
htmlhelp:
69-
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp/$(LANG)
68+
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp/$(SPHINX_LANG)
7069
@echo
7170
@echo "Build finished; now you can run HTML Help Workshop with the" \
72-
".hhp project file in $(BUILDDIR)/htmlhelp/$(LANG)."
71+
".hhp project file in $(BUILDDIR)/htmlhelp/$(SPHINX_LANG)."
7372

7473
qthelp:
7574
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@@ -90,22 +89,22 @@ devhelp:
9089
@echo "# devhelp"
9190

9291
epub:
93-
$(SPHINXBUILD) -b epub -D master_doc='epub-contents' $(ALLSPHINXOPTS) $(BUILDDIR)/epub/$(LANG)
92+
$(SPHINXBUILD) -b epub -D master_doc='epub-contents' $(ALLSPHINXOPTS) $(BUILDDIR)/epub/$(SPHINX_LANG)
9493
@echo
95-
@echo "Build finished. The epub file is in $(BUILDDIR)/epub/$(LANG)."
94+
@echo "Build finished. The epub file is in $(BUILDDIR)/epub/$(SPHINX_LANG)."
9695

9796
latex:
98-
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex/$(LANG)
97+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex/$(SPHINX_LANG)
9998
@echo
100-
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex/$(LANG)."
99+
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex/$(SPHINX_LANG)."
101100
@echo "Run \`make' in that directory to run these through (pdf)latex" \
102101
"(use \`make latexpdf' here to do that automatically)."
103102

104103
latexpdf:
105-
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex/$(LANG)
104+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex/$(SPHINX_LANG)
106105
@echo "Running LaTeX files through pdflatex..."
107-
make -C $(BUILDDIR)/latex/$(LANG) all-pdf
108-
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex/$(LANG)."
106+
make -C $(BUILDDIR)/latex/$(SPHINX_LANG) all-pdf
107+
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex/$(SPHINX_LANG)."
109108

110109
text:
111110
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text

fr/Makefile

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,12 @@ PAPER =
88
BUILDDIR = ../build
99
CONFDIR = ../config
1010
PYTHON = python3
11-
LANG = fr
1211
SPHINX_LANG = fr
1312

1413
# Internal variables.
1514
PAPEROPT_a4 = -D latex_paper_size=a4
1615
PAPEROPT_letter = -D latex_paper_size=letter
17-
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees/$(LANG) -c $(CONFDIR) -D language=$(SPHINX_LANG) $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
16+
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees/$(SPHINX_LANG) -c $(CONFDIR) -D language=$(SPHINX_LANG) $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
1817

1918
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
2019

@@ -41,9 +40,9 @@ clean:
4140
-rm -rf $(BUILDDIR)/*
4241

4342
html:
44-
$(SPHINXBUILD) -b html -D "exclude_patterns=*-contents.rst" $(ALLSPHINXOPTS) $(BUILDDIR)/html/$(LANG)
43+
$(SPHINXBUILD) -b html -D "exclude_patterns=*-contents.rst" $(ALLSPHINXOPTS) $(BUILDDIR)/html/$(SPHINX_LANG)
4544
@echo
46-
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html/$(LANG)."
45+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html/$(SPHINX_LANG)."
4746

4847
dirhtml:
4948
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@@ -66,10 +65,10 @@ json:
6665
@echo "Build finished; now you can process the JSON files."
6766

6867
htmlhelp:
69-
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp/$(LANG)
68+
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp/$(SPHINX_LANG)
7069
@echo
7170
@echo "Build finished; now you can run HTML Help Workshop with the" \
72-
".hhp project file in $(BUILDDIR)/htmlhelp/$(LANG)."
71+
".hhp project file in $(BUILDDIR)/htmlhelp/$(SPHINX_LANG)."
7372

7473
qthelp:
7574
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@@ -90,22 +89,22 @@ devhelp:
9089
@echo "# devhelp"
9190

9291
epub:
93-
$(SPHINXBUILD) -b epub -D master_doc='epub-contents' $(ALLSPHINXOPTS) $(BUILDDIR)/epub/$(LANG)
92+
$(SPHINXBUILD) -b epub -D master_doc='epub-contents' $(ALLSPHINXOPTS) $(BUILDDIR)/epub/$(SPHINX_LANG)
9493
@echo
95-
@echo "Build finished. The epub file is in $(BUILDDIR)/epub/$(LANG)."
94+
@echo "Build finished. The epub file is in $(BUILDDIR)/epub/$(SPHINX_LANG)."
9695

9796
latex:
98-
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex/$(LANG)
97+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex/$(SPHINX_LANG)
9998
@echo
100-
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex/$(LANG)."
99+
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex/$(SPHINX_LANG)."
101100
@echo "Run \`make' in that directory to run these through (pdf)latex" \
102101
"(use \`make latexpdf' here to do that automatically)."
103102

104103
latexpdf:
105-
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex/$(LANG)
104+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex/$(SPHINX_LANG)
106105
@echo "Running LaTeX files through pdflatex..."
107-
make -C $(BUILDDIR)/latex/$(LANG) all-pdf
108-
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex/$(LANG)."
106+
make -C $(BUILDDIR)/latex/$(SPHINX_LANG) all-pdf
107+
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex/$(SPHINX_LANG)."
109108

110109
text:
111110
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text

0 commit comments

Comments
 (0)