Skip to content

Commit cbf09e3

Browse files
committed
merge default into branch
2 parents 3318679 + c1f55c7 commit cbf09e3

37 files changed

+570
-254
lines changed

.github/dependabot.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ updates:
1818
directory: "/"
1919
schedule:
2020
interval: "weekly"
21-
- package-ecosystem: "docker"
22-
directory: "/scripts/Docker"
23-
target-branch: "master"
24-
schedule:
25-
interval: "weekly"
21+
# - package-ecosystem: "docker"
22+
# directory: "/scripts/Docker"
23+
# target-branch: "master"
24+
# schedule:
25+
# interval: "weekly"

.github/workflows/anchore.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,21 +37,21 @@ jobs:
3737
runs-on: ubuntu-latest
3838
steps:
3939
- name: Checkout the code
40-
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
40+
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
4141
- name: Build the Docker image
4242
run: docker pull python:3-alpine; docker build . --file scripts/Docker/Dockerfile --tag localbuild/testimage:latest
4343
- name: List the Docker image
4444
run: docker image ls
4545
- name: Run the Anchore scan action itself with GitHub Advanced Security code scanning integration enabled
46-
uses: anchore/scan-action@4be3c24559b430723e51858969965e163b196957 # v3.3.5
46+
uses: anchore/scan-action@24fd7c9060f3c96848dd1929fac8d796fb5ae4b4 # v3.3.6
4747
id: scan
4848
with:
4949
image: "localbuild/testimage:latest"
5050
fail-build: true
5151
- name: Upload Anchore Scan Report
5252
if: always()
53-
uses: github/codeql-action/upload-sarif@83f0fe6c4988d98a455712a27f0255212bba9bd4
54-
# v2.3.6
53+
uses: github/codeql-action/upload-sarif@cdcdbb579706841c47f7063dda365e292e5cad7a
54+
# v2.13.4
5555
with:
5656
sarif_file: ${{ steps.scan.outputs.sarif }}
5757
- name: Inspect action SARIF report

.github/workflows/ci-test.yml

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
matrix:
4949
# Run in all these versions of Python
5050
python-version:
51-
- "2.7"
51+
# - "2.7"
5252
- "3.10"
5353
# - "3.9"
5454
- "3.8"
@@ -90,7 +90,7 @@ jobs:
9090
# if: {{ false }}
9191
# continue running if step fails
9292
# continue-on-error: true
93-
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
93+
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
9494

9595
# Setup version of Python to use
9696
- name: Set Up Python ${{ matrix.python-version }}
@@ -122,6 +122,17 @@ jobs:
122122
#grep max_allowed /etc/mysql/mysql.conf.d/mysqld.cnf
123123
#ls /etc/mysql/conf.d/ /etc/mysql/mysql.conf.d/
124124
#sleep 5
125+
# try to improve performance speed by disabling some ACID
126+
# settings and change some layout defaults.
127+
sudo sed -i -e '$a\innodb_flush_log_at_trx_commit = 2' /etc/mysql/mysql.conf.d/mysqld.cnf
128+
sudo sed -i -e '$a\innodb_file_per_table = OFF' /etc/mysql/mysql.conf.d/mysqld.cnf
129+
sudo sed -i -e '$a\innodb_doublewrite=OFF' /etc/mysql/mysql.conf.d/mysqld.cnf
130+
sudo sed -i -e '$a\innodb_fast_shutdown=2' /etc/mysql/mysql.conf.d/mysqld.cnf
131+
sudo sed -i -e '$a\innodb_log_file_size=1048576' /etc/mysql/mysql.conf.d/mysqld.cnf
132+
sudo sed -i -e '$a\innodb_flush_method=O_DIRECT' /etc/mysql/mysql.conf.d/mysqld.cnf
133+
sudo sed -i -e '$a\innodb_log_buffer_size=3M' /etc/mysql/mysql.conf.d/mysqld.cnf
134+
sudo sed -i -e '$a\innodb_buffer_pool_size=180M' /etc/mysql/mysql.conf.d/mysqld.cnf
135+
sleep 3
125136
sudo service mysql restart
126137
#sleep 10
127138
#ps -ef | grep mysqld
@@ -131,9 +142,11 @@ jobs:
131142
- name: Install postgres
132143
run: |
133144
sudo apt-get update && sudo apt-get install postgresql
134-
# Disable fsync for speed, don't care about data durability
135-
# when testing
145+
# Disable fsync, full page writes for speed,
146+
# don't care about data durability when testing
136147
sudo sed -i -e '$a\fsync = off' /etc/postgresql/*/*/postgresql.conf
148+
sudo sed -i -e '$a\full_page_writes = off' /etc/postgresql/*/*/postgresql.conf
149+
sudo sed -i -e '$a\synchronous_commit = off' /etc/postgresql/*/*/postgresql.conf
137150
sudo service postgresql restart; sleep 10
138151
# set up postgresql database
139152
sudo -u postgres psql -c "CREATE ROLE rounduptest WITH CREATEDB LOGIN PASSWORD 'rounduptest';" -U postgres
@@ -153,7 +166,7 @@ jobs:
153166
run: |
154167
sudo apt-get install swig gpgsm libgpgme-dev
155168
# pygments for markdown2 to highlight code blocks
156-
pip install markdown2 pygments
169+
pip install 'markdown2<=2.4.8' pygments
157170
# docutils for ReStructuredText
158171
pip install beautifulsoup4 brotli docutils gpg jinja2 \
159172
mistune==0.8.4 pyjwt pytz whoosh
@@ -241,7 +254,7 @@ jobs:
241254
- name: Upload coverage to Coveralls
242255
# python 2.7 and 3.6 versions of coverage can't produce lcov files.
243256
if: matrix.python-version != '2.7' && matrix.python-version != '3.6'
244-
uses: coverallsapp/github-action@f350da2c033043742f89e8c0b7b5145a1616da6d # master
257+
uses: coverallsapp/github-action@c7885c00cb7ec0b8f9f5ff3f53cddb980f7a4412 # master
245258
with:
246259
github-token: ${{ secrets.GITHUB_TOKEN }}
247260
path-to-lcov: coverage.lcov
@@ -277,7 +290,7 @@ jobs:
277290

278291
steps:
279292
- name: Coveralls Finished
280-
uses: coverallsapp/github-action@f350da2c033043742f89e8c0b7b5145a1616da6d # master
293+
uses: coverallsapp/github-action@c7885c00cb7ec0b8f9f5ff3f53cddb980f7a4412 # master
281294
with:
282295
github-token: ${{ secrets.github_token }}
283296
parallel-finished: true

.github/workflows/codeql-analysis.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,11 @@ jobs:
4949

5050
steps:
5151
- name: Checkout repository
52-
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v2.6.0
52+
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v2.6.0
5353

5454
# Initializes the CodeQL tools for scanning.
5555
- name: Initialize CodeQL
56-
uses: github/codeql-action/init@83f0fe6c4988d98a455712a27f0255212bba9bd4 # v2.3.6
56+
uses: github/codeql-action/init@cdcdbb579706841c47f7063dda365e292e5cad7a # v2.13.4
5757
with:
5858
languages: ${{ matrix.language }}
5959
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -64,7 +64,7 @@ jobs:
6464
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
6565
# If this step fails, then you should remove it and run the build manually (see below)
6666
- name: Autobuild
67-
uses: github/codeql-action/autobuild@83f0fe6c4988d98a455712a27f0255212bba9bd4 # v2.3.6
67+
uses: github/codeql-action/autobuild@cdcdbb579706841c47f7063dda365e292e5cad7a # v2.13.4
6868

6969
# ℹ️ Command-line programs to run using the OS shell.
7070
# 📚 https://git.io/JvXDl
@@ -78,4 +78,4 @@ jobs:
7878
# make release
7979

8080
- name: Perform CodeQL Analysis
81-
uses: github/codeql-action/analyze@83f0fe6c4988d98a455712a27f0255212bba9bd4 # v2.3.6
81+
uses: github/codeql-action/analyze@cdcdbb579706841c47f7063dda365e292e5cad7a # v2.13.4

.github/workflows/ossf-scorecard.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@ jobs:
3535

3636
steps:
3737
- name: "Checkout code"
38-
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.1.0
38+
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.1.0
3939
with:
4040
persist-credentials: false
4141

4242
- name: "Run analysis"
43-
uses: ossf/scorecard-action@80e868c13c90f172d68d1f4501dee99e2479f7af # v2.1.3
43+
uses: ossf/scorecard-action@08b4669551908b1024bb425080c797723083c031 # v2.2.0
4444
with:
4545
results_file: results.sarif
4646
results_format: sarif
@@ -70,6 +70,6 @@ jobs:
7070

7171
# Upload the results to GitHub's code scanning dashboard.
7272
- name: "Upload to code-scanning"
73-
uses: github/codeql-action/upload-sarif@83f0fe6c4988d98a455712a27f0255212bba9bd4 # v2.1.27
73+
uses: github/codeql-action/upload-sarif@cdcdbb579706841c47f7063dda365e292e5cad7a # v2.1.27
7474
with:
7575
sarif_file: results.sarif

.travis.yml

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ cache: pip
1414
# maint-1.6 only python 2, install only psycopg2 version with support for
1515
# psycopg1
1616
branches:
17+
except:
18+
- /^dependabot\/.*$/
1719
# only:
1820
# - default
1921
# - maint-1.6
@@ -22,7 +24,7 @@ dist: focal
2224

2325
python:
2426
- 2.7
25-
- 3.10.4
27+
# - 3.10.4
2628
# - 3.9
2729
# - 3.8
2830
# - 3.6
@@ -163,15 +165,15 @@ script:
163165
- PATH=$VIRTUAL_ENV/bin:$PATH
164166
- export LD_LIBRARY_PATH=$VIRTUAL_ENV/lib:$LD_LIBRARY_PATH
165167
- python -c "import sys; print('python version ', sys.version)"
166-
- if [[ "$TRAVIS_PYTHON_VERSION" != "2."* ]]; then
167-
python -m pytest -r a
168-
--durations=20
169-
-W default
170-
-W "ignore:SelectableGroups:DeprecationWarning"
171-
-W "ignore:the imp module:DeprecationWarning:gpg.gpgme:15"
172-
-W "ignore:'U' mode::docutils.io"
173-
-W "ignore:unclosed:ResourceWarning:roundup.roundup.demo"
174-
-W "ignore:unclosed file:ResourceWarning:enum"
168+
- set -xv; if [[ "$TRAVIS_PYTHON_VERSION" != "2."* ]]; then
169+
python -m pytest -r a \
170+
--durations=20 \
171+
-W default \
172+
-W "ignore:SelectableGroups:DeprecationWarning" \
173+
-W "ignore:the imp module:DeprecationWarning:gpg.gpgme:15" \
174+
-W "ignore:'U' mode::docutils.io" \
175+
-W "ignore:unclosed:ResourceWarning:roundup.roundup.demo" \
176+
-W "ignore:unclosed file:ResourceWarning:enum" \
175177
-v --maxfail=5 test/ --cov=roundup;
176178
fi
177179
- if [[ "$TRAVIS_PYTHON_VERSION" == "2."* ]]; then

CHANGES.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ Fixed:
7070
'Access-Control-Allow-Credentials' when not matching '*'. Fixes
7171
security issue with rest when using '*'. (John Rouillard)
7272
- issue2551263: In REST response expose rate limiting, sunset, allow
73-
HTTP headers to calling javascript. (John Rouillard)
73+
HTTP headers to calling JavaScript. (John Rouillard)
7474
- issue2551257: When downloading an attached (user supplied file),
7575
make sure that an 'X-Content-Type-Options: nosniff' header is sent.
7676
(John Rouillard)
@@ -98,6 +98,8 @@ Fixed:
9898
- Invalid item identifiers passed to REST endpoint return a 404
9999
rather than a 400 error. E.G. /rest/data/issue/issue4 (rather
100100
than .../issue/4). (John Rouillard)
101+
- issue2551280 - sorted() method of MultilinkHTMLProperty is broken?
102+
(Gabor Nagy report and fix; commit John Rouillard)
101103

102104
Features:
103105

@@ -158,6 +160,9 @@ Features:
158160
reindex the first 1000 issues while reporting any missing issues
159161
in the range. Also completion progress is reported when indexing a
160162
specific class.
163+
- doc updates: add explanation for SQL code in 1.3.3->1.4.0 upgrade.
164+
document schema table in rdbms backends and how to dump/extract
165+
version from them. (John Rouillard)
161166

162167
2022-07-13 2.2.0
163168

RELEASE.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@ Roundup release checklist:
3232
3. Update version in:
3333
CHANGES.txt (set date for version as well)
3434
roundup/__init__.py
35-
website/www/index.txt
36-
website/www/conf.py (also update copyright)
35+
website/www/index.txt (current stable version, release highlights)
36+
website/www/conf.py (update copyright, version from __init__.py)
37+
scripts/Docker/Docker update value of org.opencontainers.image.version
3738
3a. Update license end date in COPYING.txt
3839
3b. Update doc/acknowledgements.txt (add section for
3940
release, churn contributers etc.). (Use hg churn -c -r ####..####)

doc/_static/style.css

Lines changed: 39 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ div.toctree-wrapper * + *, div.contents * + *, div.release_info * {
5858
}
5959

6060
h1, h2, h3, h4, h5, h6 {
61-
line-height: 1.25;
61+
line-height: 1.1;
6262
/* Larger spacing before header and smaller after to make
6363
header part of following section */
6464
margin-block-end: 0.3em;
@@ -105,10 +105,11 @@ body > .header div.label { font-size: 2em; font-weight: bold; margin: 0.67em 0 0
105105
body > .footer { margin: 1em 0 1em -14em; clear:both;}
106106
body > .navigation
107107
{
108+
float: left;
108109
margin-left: -14em;
109110
margin-inline-start: -14em;
111+
margin-block-start: unset;
110112
width: 14em;
111-
float: left;
112113
}
113114
body > .content
114115
{
@@ -176,8 +177,19 @@ div[class^=highlight-], div[class^=highlight-] * { width:
176177
/* style */
177178

178179
:link { color: rgb(220,0,0); text-decoration: none;}
179-
:link:hover {text-decoration: underline;}
180-
:visited { color: rgb(187,0,0); text-decoration: none;}
180+
:link:hover {
181+
text-decoration: underline solid clamp(1px, .3ex, 4px);
182+
text-underline-position: under;
183+
}
184+
:visited { color: rgb(200,0,0); text-decoration: none;}
185+
:visited:hover {
186+
/* would like to change from solid line to dashed, but
187+
because of privacy abusing people I can't change that
188+
value. So settle for darkgrey underline.
189+
*/
190+
text-decoration-color: darkgrey;
191+
}
192+
181193
a.toc-backref { color: #000000; }
182194

183195
.header h1 { margin-left: 1em; }
@@ -201,7 +213,8 @@ a.toc-backref { color: #000000; }
201213
}
202214
.menu > ul > li.current > *
203215
{
204-
background-color:#dddddd;
216+
background-color: #f0f0f0;
217+
border-block-end: solid medium #cccccc;
205218
}
206219

207220
.menu ul li:first-child { margin-top:0;}
@@ -234,9 +247,15 @@ a.toc-backref { color: #000000; }
234247
border-top: none;
235248
}
236249

250+
/* make submenu items clickable cross whole width of menu */
251+
.menu ul ul > li > a {
252+
display: block;
253+
}
254+
237255
.menu ul li.toctree-l2.current {
238-
background-color: #dddddd;
239-
pading-block: 0.25em;
256+
background-color: #f0f0f0;
257+
border-inline-start: solid 2px rgb(220, 0, 0);
258+
padding-block: 1em;
240259
}
241260

242261
/* related */
@@ -281,9 +300,8 @@ div.related li.right
281300
background-color: #f7f7f7;
282301
}
283302

284-
/* This is a little hack to inject a 'news' block into the title
285-
page without having to set up a custom directive. */
286-
#roundup-issue-tracker .note
303+
/* style for the floating release_info badge block on the home page */
304+
#roundup-issue-tracker .release_info
287305
{
288306
float: right;
289307
width: auto;
@@ -292,7 +310,6 @@ div.related li.right
292310
padding: 1em;
293311
margin: 1em;
294312
}
295-
#roundup-issue-tracker .note .admonition-title { display: none; }
296313

297314
table
298315
{
@@ -441,6 +458,7 @@ div.highlight > pre {
441458
background-color: #f5f4d8;
442459
background-size: 20px 100%, 20px 100%, 16px 100%, 16px 100%;
443460
background-attachment: local, local, scroll, scroll;
461+
padding: 0.5em;
444462
}
445463

446464
/* https://moderncss.dev/totally-custom-list-styles/ make a list
@@ -459,3 +477,13 @@ div.file_insert { /* use to insert COPYING into license.txt */
459477
background: #f3f1cc;
460478
padding-inline: 0.5em;
461479
}
480+
481+
/* consider highlighting header element that is a target */
482+
/*
483+
:target > :is(h1,h2,h3,h4,h5,h6) {
484+
background: rgb(254, 227, 227);
485+
outline: rgb(254, 227, 227) solid 3px;
486+
padding: 0.3em;
487+
}
488+
*/
489+

doc/_templates/layout.html

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,14 +73,30 @@ <h3>{{ _('Quick search') }}</h3>
7373
{%- endmacro %}
7474

7575
{%- macro css() %}
76-
<link rel="stylesheet" href="{{ pathto('_static/basic.css', 1) }}" type="text/css" />
77-
<link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" />
76+
<link rel="stylesheet" href="{{ pathto('_static/NO_basic.css', 1) }}" type="text/css" />
77+
<link rel="stylesheet" href="{{ pathto('_static/' + styles[-1], 1) }}" type="text/css" />
7878
<link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" />
7979
{%- for cssfile in css_files %}
8080
<link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" />
8181
{%- endfor %}
8282
{%- endmacro %}
8383

84+
{#
85+
In newer sphinx styles is an array and style does not exist
86+
In older sphinx (1.x) style is the style set in conf.py.
87+
88+
If style exists, assume styles doesn't exist and make styles
89+
exist with style as the only value.
90+
91+
So we can use styles[-1] in the css() macro.
92+
When sourceforge lets me build docs with something newer than sphinx 1,
93+
we can delete this.
94+
#}
95+
{% if style %}
96+
{% set styles = [] %}
97+
{{ styles.append( style ) }}
98+
{% endif %}
99+
84100
<html lang="en">
85101
<head>
86102
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

0 commit comments

Comments
 (0)