Skip to content

Commit 206971b

Browse files
committed
fix(ci): patch artifacts with Provides-Dist if distribution name is altered
1 parent 9f63fc4 commit 206971b

File tree

1 file changed

+25
-4
lines changed

1 file changed

+25
-4
lines changed

.releaserc.yml

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,32 @@ plugins:
4040
- pyproject.toml
4141
- - '@semantic-release/exec'
4242
- prepareCmd: |
43-
# alt name patch is done for publication only, therefore after canonical version of pyproject.toml is commited
44-
if [ -n "$ALT_PYPI_PROJECT_NAME" ]; then
45-
sed -i "s/^name = \".*\"/name = \"$ALT_PYPI_PROJECT_NAME\"/" pyproject.toml
43+
#!/bin/bash
44+
PYPI_PROJECT_NAME=${ALT_PYPI_PROJECT_NAME:-appmap}
45+
poetry build --config-settings name="$PYPI_PROJECT_NAME"
46+
47+
if [ -n "$ALT_PYPI_PROJECT_NAME" ] ; then
48+
echo "Altered distribution name detected, applying Provides-Dist patch"
49+
WHEEL=$(ls dist/*.whl | head -n1)
50+
SDIST=$(ls dist/*.tar.gz | head -n1)
51+
for artifact in "$WHEEL" "$SDIST"; do
52+
TMP=$(mktemp -d)
53+
ARTIFACT_PATH="$artifact"
54+
if [[ $artifact == *.whl ]]; then
55+
unzip -q "$ARTIFACT_PATH" -d "$TMP"
56+
DISTINFO=$(find "$TMP" -type d -name "*.dist-info")
57+
echo "Provides-Dist: appmap" >> "$DISTINFO/METADATA"
58+
(cd "$TMP" && zip -qr "$ARTIFACT_PATH" .)
59+
else
60+
tar -xzf "$ARTIFACT_PATH" -C "$TMP"
61+
PKGDIR=$(find "$TMP" -maxdepth 1 -type d -name "*")
62+
echo "Provides-Dist: appmap" >> "$PKGDIR/PKG-INFO"
63+
(cd "$TMP" && tar -czf "$ARTIFACT_PATH" .)
64+
fi
65+
echo "(Provides-Dist: appmap): patched $ARTIFACT_PATH"
66+
rm -rf "$TMP"
67+
done
4668
fi
47-
poetry build
4869
- - '@semantic-release/github'
4970
- assets:
5071
- dist/*.whl

0 commit comments

Comments
 (0)