cdklabs / cdklabs/publib

Twine 6.2.0 breaking changes: Remove hacks that support --skip-existing for indexes other than PyPI and TestPyPI.

Open
#1,716 17 comments 2 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
61
Forks
24
Avg merge
6h 45m
Merged PRs (30d)
14

Description

Publishes to AWS CodeArtifact are failing with twine 6.2.0. It appears publib pulls latest twine version and then sets --skip-existing flag which results in this error now on CodeArtifact:

```
ERROR UnsupportedConfiguration: The configured repository
--
'https://******.d.codeartifact.us-west-2.amaz
onaws.com/pypi/***/' does not have support for the following
features: --skip-existing and is an unsupported configuration
```

There is no workaround AFAICT as the twine version nor the --skip-existing flag is configurable.

Details on the twine change are here:
https://twine.readthedocs.io/en/stable/changelog.html

```
Remove hacks that support --skip-existing for indexes other than PyPI and TestPyPI.

To date, these hacks continue to accrue and there have been numerous issues with them, not the least of which being that every time we update them, the paid index providers change things to break the compatibility we implement for them. Beyond that, these hacks do not work when text is internationalized in the response from the index provider.
```

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the publib publication against AWS CodeArtifact with Twine 6.2.0 and --skip-existing enabled. Trace publib's Twine invocation and determine how the unsupported flag is handled; done means CodeArtifact publishing succeeds while preserving the expected behavior for supported indexes.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, python, typescript
Domain
cloud, devops, release
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.