aws-cloudformation / aws-cloudformation/cloudformation-coverage-roadmap
CloudFormation Helper Scripts version 2.0-16 not documented, latest version isn’t latest
- Dominant language
- No language data
- Stars
- 1.1k
- Forks
- 62
- PR merge metrics
- No merged PRs in 30d
Description
### Name of the resource
Other
### Resource name
_No response_
### Reference Link
Release history page: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/releasehistory-aws-cfn-bootstrap.html
### Details
The current latest version of the scripts do not work with Python 3: #1304. In order to fix this, I’ve updated my install process to apply a post-install patch: https://github.com/aws-cloudformation/cloudformation-coverage-roadmap/issues/1304#issuecomment-1275860521
I'm trying to my process more robust, by pinning my install to the current latest version. This will prevent a new fixed release of cfn-bootstrap breaking my install process.
The [release history page](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/releasehistory-aws-cfn-bootstrap.html) lists 2.0-15 as the latest version. But installing that version is broken with new versions of setuptools, with an error `use_2to3 is invalid` in a dependency:
```
$ pip install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-2.0-15.tar.gz
Collecting https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-2.0-15.tar.gz
Downloading https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-2.0-15.tar.gz (591 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 591.5/591.5 kB 1.4 MB/s eta 0:00:00
Preparing metadata (setup.py) ... done
Collecting python-daemon<2.2,>=2.1
Using cached python_daemon-2.1.2-py2.py3-none-any.whl (19 kB)
Collecting pystache<=0.5.4
Downloading pystache-0.5.4.tar.gz (75 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 75.1/75.1 kB 1.8 MB/s eta 0:00:00
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [3 lines of output]
pystache: using: version '65.5.0' of
Warning: 'classifiers' should be a list, got type 'tuple'
error in pystache setup command: use_2to3 is invalid.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
```
I was baffled as to why “latest” worked but “2.0-15” didn't, since the docs imply that they’re the same. I tried “2.0-16” in the URL, at a guess, and that’s a real version too! But it’s broken with the same error too.
The `latest` version has a fix for the above issue: it pins `pystache>=0.4.0` in its `setup.py`, rather than setting a hard upper bound: `pystache<=0.5.4`. But it is also missing a bunch of changes from the `2.0-16` release!
The S3 bucket has [public listing]() on - from there I can see that the 2.0-16 release was made August 23rd:
```
aws-cfn-bootstrap-py3-2.0-16.tar.gz
2022-08-23T22:16:24.000Z
...
```
Whilst the “latest” release is from January:
```
aws-cfn-bootstrap-latest.tar.gz
2022-01-18T19:52:14.000Z
...
```
This is really frustrating. I’m layering workaround on workaround due to this tool not being compatible with a year-old Python version and a shoddy release process.
Contributor guide
Research direction
Start with the CloudFormation helper scripts release history page and compare its listed latest version with the published 2.0-16 and latest artifacts described in the issue. Update the documentation so the release history accurately identifies 2.0-16 and the current latest artifact, then verify the version links and installation details.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100