Skip to content

Indetermistic output for blog pages related to tags #274

@kayhayen

Description

@kayhayen

Describe the bug

I am trying to revert to an approach where I compare the output created by sphinx for changes I do not want. I have had some disasters strike in terms on unnoticed bad changes already a couple of times. I used to diff outputs when I was using nikola, but I gave up, because of many issues.

With sphinx my current config builds stable, except for ablog. And I have a lot of changes related to tags. This is a diff I am getting when I rebuild from scratch 2 times in a row. It never builds the same. I did not try to disable Python hash randomization, it might be a bandaid, but of course only so much

diff -ru output.1/blog/2010.html output/blog/2010.html
--- output.1/blog/2010.html     2024-01-27 18:12:49.779910129 +0100
+++ output/blog/2010.html       2024-01-27 18:14:41.720750591 +0100
@@ -257,13 +257,13 @@
   
   
   
-  <a href="tag/python.html">Python</a>
+  <a href="tag/git.html">git</a>
   
   
   
   
   
-  <a href="tag/git.html">git</a>
+  <a href="tag/python.html">Python</a>

I get many of these changes, the blog pages and its RSS feed are of course of very large importance to my site.

I am willing to hunt this down on my own. I am using sphinx-build 7.2.6 and ablog==0.11.6 believing these to be fairly recent.

There is a devcontainer that automatically builds on install for my web site: https://github.com/Nuitka/Nuitka-website

I am suspecting, that a set object is being used. Since I am on Python3.10 there, dictionaries are no longer unordered really, but this could also be unordered usage of a file system result, I couldn't tell yet.

I am using pipenv to install. I am sure I have seen it on 3.9 in my WSL too, during a migration from Debian 3.9 WSL2 pipenv config of old to new 3.10 based one for use in devcontainers.

I will be looking at your templates and what data is used to produce the archive (and I think other ablog pages are affected too), to see how unsorted it is.

To Reproduce

No response

Screenshots

No response

System Details

==============================
sunpy Installation Information
==============================

General
#######
OS: Ubuntu (22.04, Linux 5.15.90.1-microsoft-standard-WSL2)
Arch: 64bit, (x86_64)
sunpy: 5.1.1
Installation path: /home/vscode/.local/share/virtualenvs/Nuitka-website-rRTh7jbj/lib/python3.10/site-packages/sunpy-5.1.1.dist-info

Required Dependencies
#####################
astropy: 6.0.0
numpy: 1.26.3
packaging: 23.2
parfive: 2.0.2

Optional Dependencies
#####################
asdf: Missing asdf>=2.8.0; extra == "asdf" or "docs" or "tests"
asdf-astropy: Missing asdf-astropy>=0.1.1; extra == "asdf" or "docs" or "tests"
beautifulsoup4: Missing beautifulsoup4>=4.8.0; extra == "docs" or "net" or "tests"
cdflib: Missing cdflib!=0.4.0,!=1.0.0,>=0.3.20; extra == "docs" or "tests" or "timeseries"
dask: Missing dask[array]>=2021.4.0; extra == "dask" or "docs" or "tests"
drms: Missing drms<0.7.0,>=0.6.1; extra == "docs" or "net" or "tests"
glymur: Missing glymur!=0.9.5,>=0.9.1; extra == "docs" or "jpeg2000" or "tests"
h5netcdf: Missing h5netcdf>=0.11; extra == "docs" or "tests" or "timeseries"
h5py: Missing h5py>=3.1.0; extra == "docs" or "tests" or "timeseries"
lxml: 5.1.0
matplotlib: Missing matplotlib>=3.5.0; extra == "docs" or "map" or "tests" or "timeseries" or "visualization"
mpl-animators: Missing mpl-animators>=1.0.0; extra == "docs" or "map" or "tests" or "visualization"
pandas: Missing pandas>=1.2.0; extra == "docs" or "tests" or "timeseries"
python-dateutil: 2.8.2
reproject: Missing reproject; extra == "docs" or "docs-gallery" or "map" or "tests"
scikit-image: Missing scikit-image>=0.18.0; extra == "docs" or "image" or "tests"
scipy: Missing scipy!=1.10.0,>=1.7.0; extra == "docs" or "image" or "map" or "tests"
sqlalchemy: Missing sqlalchemy>=1.3.4; extra == "database" or "docs" or "tests"
tqdm: 4.66.1
zeep: Missing zeep>=3.4.0; extra == "docs" or "net" or "tests"

Installation method

pip

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions