Skip to content

Commit f70e3dc

Browse files
committed
ci: sanitize auto-release artifact tag names
1 parent bbec27a commit f70e3dc

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

.github/workflows/auto-release.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,17 @@ jobs:
4141
id: tag
4242
run: |
4343
if [[ "$GITHUB_REF" == refs/tags/* ]]; then
44-
echo "TAG_NAME=${GITHUB_REF#refs/tags/}" >> "$GITHUB_OUTPUT"
44+
tag_name="${GITHUB_REF#refs/tags/}"
4545
else
46-
echo "TAG_NAME=latest" >> "$GITHUB_OUTPUT"
46+
tag_name="latest"
4747
fi
48+
safe_tag_name=$(printf '%s' "$tag_name" | sed 's/[^A-Za-z0-9._-]/-/g')
49+
safe_tag_name="${safe_tag_name:-latest}"
50+
echo "TAG_NAME=${tag_name}" >> "$GITHUB_OUTPUT"
51+
echo "SAFE_TAG_NAME=${safe_tag_name}" >> "$GITHUB_OUTPUT"
4852
4953
- name: Build PDF
50-
run: mdpress build --format pdf --output blockchain_guide-${{ steps.tag.outputs.TAG_NAME }}.pdf
54+
run: mdpress build --format pdf --output blockchain_guide-${{ steps.tag.outputs.SAFE_TAG_NAME }}.pdf
5155

5256
- name: Upload PDF as artifact
5357
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
@@ -66,7 +70,7 @@ jobs:
6670
sudo dpkg -i /tmp/pandoc.deb && pandoc --version | head -1
6771
PUPPETEER_SKIP_DOWNLOAD=true npm install -g @mermaid-js/mermaid-cli@10
6872
TITLE=$(python3 -c "import json,os;print((json.load(open('book.json')).get('title') if os.path.exists('book.json') else '') or '${{ github.event.repository.name }}')")
69-
TAG=$(echo "${{ steps.tag.outputs.TAG_NAME || 'latest' }}" | sed 's#.*/##')
73+
TAG="${{ steps.tag.outputs.SAFE_TAG_NAME || 'latest' }}"
7074
python3 tools/render_mermaid.py --book-dir . --svg-out /tmp/mmsvg
7175
python3 tools/build_html_reader.py --book-dir . --title "$TITLE" --svg-dir /tmp/mmsvg \
7276
--out "${{ github.event.repository.name }}-${TAG}.html"

0 commit comments

Comments
 (0)