Repository navigation
Releases: tox-dev/github-workflows
Releases · tox-dev/github-workflows
Release list
6.2.2
Immutable
release. Only release title and notes can be modified.
6.2.1
Immutable
release. Only release title and notes can be modified.
Changes
validate-newsreads the pull request's current labels from the API, so re-running an older Changelog run after addingskip newspasses instead of failing on the labels the original event carried. Callers grantpull-requests: readto the job (#35) by @gaborbernat.
6.2.0
Immutable
release. Only release title and notes can be modified.
Changes
publish-github-releasecredits first-time contributors on the GitHub Release, taking the list from GitHub's generated notes for the range since the previous tag and placing it above the package and comparison links.prepare-towncrierno longer adds a New Contributors subsection to the changelog (#34) by @gaborbernat.
6.1.0
Immutable
release. Only release title and notes can be modified.
Features
render-release-notestakes oneartifact-urlper line, with matchingartifact-labellines, so a project that publishes several packages lists them all on one row of the GitHub Release. Release bodies now come fromrelease-creator4.3.0, which marks each link with its ecosystem emoji (#32) by @gaborbernat.
6.0.3
Immutable
release. Only release title and notes can be modified.
Bug fixes
- Match release assets by the name GitHub stores, which replaces characters such as spaces with periods. A file named
PyVenv Manage 2-2.4.7-signed.zipuploaded, but its draft stayed unpublished because the check expected the local name (#29) by @gaborbernat.
6.0.2
Immutable
release. Only release title and notes can be modified.
Changes
- Admit the
[tool.nab]per-packageuploaded-prior-toexceptions incooled-prekhook environments, so a hook dependency pinned past the seven-day cutoff installs the same way as the release lock. Before, prepare failed on such a pin (#28) by @gaborbernat.
6.0.1
Immutable
release. Only release title and notes can be modified.
Bug fixes
- Check out the full history in the
validate-python-releasebuild job again, so version tools such as hatch-vcs and setuptools-scm see the release tag. 6.0.0 built0.1.dev1+g<sha>instead of the tagged version (#25) by @gaborbernat.
6.0.0
Immutable
release. Only release title and notes can be modified.
Features
- Every Action and reusable workflow now logs the choices it makes and why, and no longer hides tool output (#23) by @gaborbernat.
- Run each
validate-newscheck only when the pull request touches what it validates: fragment validation when the fragment directory changes, the Towncrier configuration check whentowncrier.tomlor thetool.towncriertable changes, the lock check when apyproject.toml,pylock.toml, rootpylock.*.toml, ornab.tomlchanges, and the lock-removal guard whenpylock.tomlis deleted. Workflow changes no longer trigger the lock check, and every rootpylock.*.tomldoes, whether or not it is the configuredadditional-lock. The fragment requirement for human pull requests still runs on every pull request (#23) by @gaborbernat.
Changes
- Drop the
mainbranch condition from the writer job ofupgrade-release-tools.yaml. The deployment branch rule of therelease-authenvironment still applies (#23) by @gaborbernat. - Drop the
sourcejob of the github-workflows release workflow, which re-checked the tag that started it (#23) by @gaborbernat. - Give every job and step in the shared workflows and Actions a name that starts with an emoji. Jobs of the reusable workflows show up in callers as
<caller job> / <job name>, so required status checks that name them must be updated.publish-jetbrains-marketplacealso recognizes a prior upload step named🚀 Publish signed ZIP, the README's new name for the caller's publishing step (#23) by @gaborbernat. - Make
publish-github-releaseupdate an existing draft's title, notes, and prerelease flag on a rerun instead of failing, use the first Release when several share the tag, and create the draft inpublishmode when none exists. It no longer compares the title, notes, and prerelease flag of an existing Release; the read-after-write retry and the asset name and digest checks stay (#23) by @gaborbernat. - Stop
commit-and-tagfrom requiring a clean working tree with only a staged patch; it commits whatever is staged (#23) by @gaborbernat. - Stop
publish-jetbrains-marketplacefrom inspecting earlierreleaseenvironment deployments for the tag before an upload; the job no longer needs Deployments read access. Stoppublish-post-release-prfrom failing when an open pull request's title, body, or base changed, when several pull requests match, or when a merged pull request lost itsskip newslabel; it re-applies the label instead (#23) by @gaborbernat. - Stop
refresh-release-lockfrom failing inrefreshmode when the regenerated lock targets different environments.checkmode still compares the whole lock (#23) by @gaborbernat. - Stop checking the shape of built artifacts that the release jobs produce themselves.
validate-python-release.yamlno longer requires an emptydistdirectory or exactly one wheel and one sdist at the tag's version, andbuild-python-distributionno longer requires an emptydistdirectory.reconcile-pypi-artifactsno longer rejects an emptydist, an invalid project name, or local files that are hidden, symbolic links, directories, or belong to another release; it compares every file indistwith PyPI (#23) by @gaborbernat. - Stop re-checking files the release jobs produce themselves in the JetBrains Actions.
sign-jetbrains-pluginno longer runsunzip -ton the unsigned or signed ZIP, checks for Java 17 or an existing signed ZIP, runs the signer'sverify, or checks the signed ZIP's type and members.publish-jetbrains-marketplaceno longer runsunzip -t, re-hashes the upload copy, or checks the file types of a downloaded receipt and earlier artifacts (#23) by @gaborbernat. - Stop re-checking the release tag before publishing.
publish-github-releaseno longer requires the remote tag to resolve tocommit, which now only sets the target of a new Release.publish-jetbrains-marketplaceno longer requires the remote tag to targetcommitor fails on an earlier upload of the tag from another commit. Drop the step that re-checks the tag beforepublish-github-releasefrom callers that copied the README example (#23) by @gaborbernat. - Stop validating caller input in the prepare and tag Actions.
prepare-towncrierno longer rejects an unknownphase, afinalizerun withoutversion, achangelog-prefixother than empty orv, an explicitversionthat is not newer than existing tags, other hook configuration files, or an unknown changelog format; any changelog not ending in.rstis formatted withmdformat.read-towncrier-configno longer checks that the paths are normalized and inside the repository, that the changelog ends in.mdor.rst, or that fragment categories are configured.select-previous-tagno longer requires the tag to exist locally or limits it to one namespace separator, andcommit-and-tagno longer rejects an emptytokenorapp-slugor anannotatedvalue other thantrueorfalse; any value other thantruecreates a lightweight tag (#23) by @gaborbernat. - Stop validating caller input in the publishing Actions.
publish-github-releaseno longer rejects an empty tag, title, or notes file, aprereleaseother thantrueorfalse, an unknownmode, or asset directories with hidden, non-regular, or unusually named entries.publish-jetbrains-marketplaceno longer checks the archive name and type, the plugin ID, the channel, the tag ref, the notes file type, the artifact IDs, or thatpublish-tokenis set.sign-jetbrains-pluginno longer checks the archive name and type, andpublish-post-release-prno longer checks the format of its inputs or theallowed-pathsentries (#23) by @gaborbernat.
Breaking changes
- Reduce
validate-release-patchto applying the patch and checking its paths and file modes, and remove itsversionandchecksinputs; remove them from callers. It no longer rejects amainbranch that moved, a patch that leaves the changelog unchanged, or RST conflict markers, and it no longer runsrelease-creator validate-fragment-deletions,release-creator notes, the hook configuration check, orprek(#23) by @gaborbernat. - Remove the
app-slugandcommit-messageinputs frompublish-post-release-pr; remove them from callers. The Action no longer compares the candidate's author, committer, and message with the App bot and the expected message, re-reads the branch, pull request head, or base after writing, or checks the files of an already merged pull request against the current base (#23) by @gaborbernat. - Remove the
check-tagged-sourceAction, and stop checking the tag invalidate-python-release.yaml: the workflow no longer requires the tag to resolve toGITHUB_SHAor to sit onmain, and checks out the tag with the default fetch depth. Removecheck-tagged-sourcesteps from callers (#23) by @gaborbernat. - Remove the
lockjob fromvalidate-python-release.yamlandprepare-towncrier-release.yaml, and the lock check fromcheck-tagged-source.validate-newsstill checks the lock on the pull request that changes it. Both workflows drop theadditional-lock,additional-lock-groups,additional-lock-selection,additional-matrix-python,additional-matrix-platforms, andadditional-matrix-implementationsinputs, andcheck-tagged-sourcedrops them along withexclude-newerandexclude-newer-package; remove them from callers. Without thelockjob,prepare-towncrier-release.yamlno longer skips a dispatch from a branch other thanmain(#23) by @gaborbernat. - Remove the
validatejob fromprepare-towncrier-release.yaml, which recalculated the version and ranrelease-creatorandprekon the patch thatassemblehad just produced;pushnow depends onassemblealone. The workflow no longer installs therelease-validategroup (#23) by @gaborbernat. - Remove the
verify-lockandverify-groupsinputs frominstall-locked-toolsandverify-groupsfromexport-build-constraints, together with thecheck_lock_groups.pycheck behind them; remove them from callers.install-locked-toolsno longer checks that the requested groups exist in the lock or ...
5.0.2
Immutable
release. Only release title and notes can be modified.
Bug fixes
- Make
refresh-release-lockincheckmode install the Nab version that the committedpylock.tomlrecords in[tool.nab] nab-version, and fail if the lock records none. A Nab release newer than that version rewrites the field, so every committed lock failed the check until the weekly refresh.refreshmode still installs the newest Nab under the cutoff, andnab-git-commitstill installs from that commit in both modes (#22) by @gaborbernat. - Make
validate-newsreject a pull request that removespylock.tomlwhen the project has anab.toml, as it already did for a[tool.nab]table inpyproject.toml(#22) by @gaborbernat.
Documentation
- Say that
check-tagged-sourcereads the tag of a non-tag run from thetaginput of theworkflow_dispatchevent,github.event.inputs.tag, rather than from an input of the Action (#22) by @gaborbernat.
Security
- Make the Actions install their own tools, such as Nab,
packaging,certifi, andpypi-attestations, from PyPI even when the caller's repository or environment configures another index. The installer now ignoresuv.toml,[tool.uv]inpyproject.toml, and theUV_INDEX,UV_INDEX_URL,UV_DEFAULT_INDEX,UV_EXTRA_INDEX_URL,UV_FIND_LINKS,UV_CONFIG_FILE,UV_INSECURE_HOST,UV_SYSTEM_CERTS,SSL_CERT_FILE, andSSL_CERT_DIRvariables, ascooled-prekalready does (#22) by @gaborbernat.
5.0.1
Immutable
release. Only release title and notes can be modified.
Bug fixes
- Install the whole Nab workspace from the
nab-git-commitcommit:naband itsnab-index,nab-markersets,nab-project,nab-provider, andnab-resolversub-packages, which the root pins to an unreleased version (#21) by @gaborbernat. - Let
check-tagged-sourceaccept aworkflow_dispatchor other non-tag run, such as one frommainwith ataginput, when the checkout is the commit that tag names and that commit is onmain. Tag runs still require the tag,GITHUB_SHA, and the checkout to match (#21) by @gaborbernat.