-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Global project updates #178
Conversation
Sample of these changes can be found deployed at: https://dlmiles.github.io/SpinalDoc-RTD/ This copy also includes documentation commits that are still WIP can be seen at dlmiles/SpinalDoc-RTD@dlm-202307...dlmiles:SpinalDoc-RTD:dlm-202309 will send PR with those over the coming week. |
ee5e695
to
2f0a5a6
Compare
Thanks ^^ Let's us know when you are done with the changes :) |
98ef358
to
ae02768
Compare
This should be ready now, please apply the 'dev' branch PR first and when happy with that look at this one 2nd. This PR includes an alternative GH action, it sould be safe to auto-pilot, at this time the only way it can affect the live deployment/publish is to run a manual workflow task and tick the box for 'deploy to live'. DO NOT run the 'deploy to test' mode on the production repository, while the result might look the same:
It will run on pull_request (but only a fast 'make html' build, with no-linkcheck, with a ZIP file artifact to download, no publish/deploy occurs). This is designed as am automatic fast test to allow inspection of the output log for any problems. It will run and deploy (to test) if you push to a branch called 'test', but that branch does not exist in the main repo and is designed for forks to be able to just push to GH and get a result published in 20 mins or so. So don't use that branch name in the main repo. It can be run manually with 'workflow_dispatch' from github UI, this works in this repo but also in all forks.
For example right now, you might need to disable the FAILON_LINKCHECK to it runs and reports but does not block a deployment. If this is useful and works well, then I would recommend the setup of an "on schedule" task like:
This will autopilot a rebuild every month, to defeat the 3 month link for retention on GH Pages. As the latest / v1.8.0 is consider the stable branch/tag pushing things to master I write this out here so it provide a reference if needed in the future. |
Some thoughts:
@Dolu1990 I would propose to get rid of the current |
top points
dev branch sunsetI agree on the
|
73fc352
to
5f3565b
Compare
I'm ok with it, let's work it all on master, and tag it on releases |
As far as I understood the docs will still be published with a merge to master/tag push? Requiring maintainers to trigger the workflow for every merge that they just did does not seem ergonomic - doing the merge should be enough of an indication that we want this to be pushed... This brings me a bit to the linkcheck: Having that fail may or may not be an issue of some contribution. As you pointed out it might just be some external webpage that is down, or it might be an incorrect link that the contribution just added. I'd rather run it with the risk of some false indications (looking back this is not a frequent occurance) then having it fail when we merged and are then (manually?) pushing the docs. |
The commit as it is right now should:
At this time the creation of the 'latest' pseudo-tag does occur inside the GHA workflow build-and-deploy.yml With the link check:
|
After our discussion this lgtm |
RED build failure marker due to: new linkcheck issue (SpinalHDL/Introduction/Projects using SpinalHDL: line 20) broken https://datenlord.github.io/en/home.html - 404 Client Error: Not Found for url: https://datenlord.github.io/en/home.html However this linkcheck failure and the page has nothing to do with this change-set and should be fixed/amended in a separate PR. This is setup in another PR now. |
…n/**) This workaround exists because Sphinx wants to download the TravisCI SVG badge (due to a URL listed in older documentation content), but that URL is returning HTML content (maybe under HTTP/404) and the Sphinx image processing terminates the documentation generation due to an SVG parse error of the HTML document. Ensure to use: source bin/setup_env.sh Original patch split to help with cherry-pick into other branches.
…nf.py) This workaround exists because Sphinx wants to download the TravisCI SVG badge (due to a URL listed in older documentation content), but that URL is returning HTML content (maybe under HTTP/404) and the Sphinx image processing terminates the documentation generation due to an SVG parse error of the HTML document. Ensure to use: source bin/setup_env.sh Original patch split to help with cherry-pick into other branches.
…ckerfile) This workaround exists because Sphinx wants to download the TravisCI SVG badge (due to a URL listed in older documentation content), but that URL is returning HTML content (maybe under HTTP/404) and the Sphinx image processing terminates the documentation generation due to an SVG parse error of the HTML document. Ensure to use: source bin/setup_env.sh Original patch split to help with cherry-pick into other branches.
Would be nicer to have this format hosted (viewer can Ctrl-F to find)
Viewing old version warning dialog, to better inform the user if there is an updated documentation version. Dismiss button supresses representation of dialog for 24 hours. Adding MIT license GH ribbon chrome, with links to GH source of page in view. TXT files created to document source/version/component license. Meta element robots added, repository clone and deployments are by default noindex/nofollow. Minor CSS blance changes. CSS tested for narrow forms (mobile/tablet).
Attempt towards a single CI environment for forking, building, deploying that works equally for testing/forks as well as production publishing. For me I get an auto-build when I push a branch called 'test' on my fork. This will be the same for anyone forking the project to improve it, they can manually run 'workflow_dispatch' or get an autobuild pushing to 'test'. It is still possible to get a quick build like before using workflow_dispatch selecting only BUILD_SINGLE_DOC and DEPLOY_ENV_TEST. For production it should be possible to manually run 'workflow_dispatch' from GH actions selecting the 3 options with "(live)" in the description. BUILD_MULTI_DOC, FAILON_LINKCHECK, DEPLOY_ENV_LIVE. The linkcheck is optional and options exist to allow bypass if there is an temporary issue with a 3rd party website at the time of building. Due to the way GH actions works, this commit needs to hit the master branch before it shows up the controls for workflow_dispatch. It is also advisable to setup an 'on schedule' to run once a month, because GH pages expire after 3 months which removes all the documentation. So there is a step to control build settings for this run but no entry at the top of file to setup a trigger. Until the project is happy it can run on auto-pilot. The build process deals with: latest pseudo-tag for the latest version meta robots: to try to make test builds invisible to SEO linkcheck can be skipped, or enforced, or report only (non fatal) validating deployment to production have expected options
I was seeing a chmod getting errors, although they may not terminate the JamesIves/github-pages-deploy-action@v4 action.
We are using an incorrect way to add additional CSS files. This is causing a number of problems. * Unable to update sphinx-rtd-theme, due to no CSS styling * Issue#146 Copy button for code (button not displayed as expected) * Extensions that contribute CSS not working The documentation for Spinix confirming this commit uses the correct method: https://docs.readthedocs.io/en/stable/guides/adding-custom-css.html#how-to-add-custom-css-or-javascript-to-sphinx-documentation
This bump is working now since fixing the html_js_files/html_css_files in the configuration.
This looks good to me |
Sorry for my late response. LGTM and merging (I'll be here to monitor the pipeline if it does funny things) |
@dlmiles Thanks! |
Needs testing in production.
Then setup of 'on schedule' to autobuild and publish every month, to counter 3 monthly gh-pages retention policy.
Note the default setup will run the linkcheck which may fail at the time of the 'on schedule' maybe skipping linkcheck for the 'on schedule' is more appropriate to recreate the last version as-is.