buildbot-nix/buildbot_nix
Skyler Grey 46800094bb feat!: Update output path writing
- Allow pull requests to create output paths

Previously, it was not possible to get unmerged pull request outputs. I
would like to access these (e.g. for hosting a preview version of a
website in a similar way to https://docs.netlify.com/site-deploys/deploy-previews/
or https://vercel.com/docs/deployments/preview-deployments)

These are now surfaced under `{owner}/{repo}/pulls/{pr number}`

- Fix repository attribute name conflicts

Previously there was no difference between samely-named attributes in
different repositories.

This has been changed so outputs are under `{owner}/{repo}/{branch}`

- Allow full attribute names, still stripping path traversal

Previously, presumably to prevent path traversal, if your attribute name
contained slashes buildbot-nix would only take the last segment as an
output.

This has been replaced by interpreting slashes as subdirectories and
refusing any segments which don't descend into a subdirectory (i.e. are
attempting path traversal)

- Still create outputs on skipped builds

Previously when something was skipped, for example a build that was
completed in a pull request, the output wouldn't be updated. This made
the outputs directory quite unreliable.

Outputs will now always be updated, no matter whether a build was
actually executed.

BREAKING-CHANGE: This stops old output locations being outputted. If you rely on these locations, you will need to update whatever relies on them.
2024-07-28 09:06:51 +00:00
..
github jwt: fix passing private_key_file to command 2024-07-26 06:13:34 +00:00
__init__.py feat!: Update output path writing 2024-07-28 09:06:51 +00:00
common.py Reformat gitea_projects.py, __init__.py, and github_projects.py 2024-07-26 11:53:06 +02:00
gitea_projects.py Reformat gitea_projects.py, __init__.py, and github_projects.py 2024-07-26 11:53:06 +02:00
github_projects.py Reformat gitea_projects.py, __init__.py, and github_projects.py 2024-07-26 11:53:06 +02:00
models.py Make the cut off point for combining build reports customizable. 2024-07-26 11:23:38 +02:00
projects.py Defer hook creation to project reload, both GitHub and Gitea 2024-07-05 12:13:55 +00:00
secrets.py Utilize pydantic for serialization and deserialization 2024-07-26 06:13:34 +00:00
util.py Add Gitea backend 2024-04-29 18:30:15 +02:00
worker.py log worker name on startup 2024-04-30 18:03:29 +02:00