@@ -2,8 +2,11 @@ name: Release KiCAD Library
22
33on :
44 push :
5+ branches :
6+ - ' **'
57 tags :
68 - ' *'
9+ pull_request :
710
811jobs :
912 release :
@@ -44,38 +47,59 @@ jobs:
4447 printf 'Generated by CI release workflow.\n' > release-staging/resources/.keep
4548 fi
4649
47- - name : Get current tag
48- id : get_tag
49- run : echo "tag=${GITHUB_REF#refs/tags/}" >> "$GITHUB_OUTPUT"
50+ - name : Resolve package tag
51+ id : resolve_tag
52+ run : |
53+ if [[ "$GITHUB_REF" == refs/tags/* ]]; then
54+ package_tag="${GITHUB_REF#refs/tags/}"
55+ elif [[ "$GITHUB_EVENT_NAME" == "pull_request" ]]; then
56+ package_tag="pr-${{ github.event.pull_request.number }}-${GITHUB_SHA::7}"
57+ else
58+ branch_name="${GITHUB_REF_NAME//\//-}"
59+ package_tag="snapshot-${branch_name}-${GITHUB_SHA::7}"
60+ fi
61+ echo "tag=${package_tag}" >> "$GITHUB_OUTPUT"
5062
5163 - name : Build release package
5264 id : build
5365 run : |
54- uv run scripts/build_release.py --source-dir release-staging --tag "${{ steps.get_tag .outputs.tag }}"
66+ uv run scripts/build_release.py --source-dir release-staging --tag "${{ steps.resolve_tag .outputs.tag }}"
5567 echo "package_path=$(cat package_path.txt)" >> "$GITHUB_OUTPUT"
5668 echo "metadata_path=$(cat metadata_path.txt)" >> "$GITHUB_OUTPUT"
5769 echo "package_size=$(cat package_size.txt)" >> "$GITHUB_OUTPUT"
5870 echo "install_size=$(cat install_size.txt)" >> "$GITHUB_OUTPUT"
5971 echo "package_sha256=$(cat package_sha256.txt)" >> "$GITHUB_OUTPUT"
6072
73+ - name : Upload build artifacts
74+ uses : actions/upload-artifact@v4
75+ with :
76+ name : kicad-package-${{ steps.resolve_tag.outputs.tag }}
77+ path : |
78+ ${{ steps.build.outputs.package_path }}
79+ ${{ steps.build.outputs.metadata_path }}
80+ package_size.txt
81+ install_size.txt
82+ package_sha256.txt
83+
6184 - name : Create Release
85+ if : startsWith(github.ref, 'refs/tags/')
6286 uses : ncipollo/release-action@v1
6387 with :
6488 artifacts : |
6589 ${{ steps.build.outputs.package_path }}
6690 ${{ steps.build.outputs.metadata_path }}
67- tag : ${{ steps.get_tag .outputs.tag }}
68- name : Release ${{ steps.get_tag .outputs.tag }}
91+ tag : ${{ steps.resolve_tag .outputs.tag }}
92+ name : Release ${{ steps.resolve_tag .outputs.tag }}
6993 body : |
70- ## SiFli KiCAD Library ${{ steps.get_tag .outputs.tag }}
94+ ## SiFli KiCAD Library ${{ steps.resolve_tag .outputs.tag }}
7195
7296 ### Package Information
7397 - **Package Size**: ${{ steps.build.outputs.package_size }} bytes
7498 - **Install Size**: ${{ steps.build.outputs.install_size }} bytes
7599 - **SHA256**: `${{ steps.build.outputs.package_sha256 }}`
76100
77101 ### Installation
78- 1. Download `sifli-kicad-libraries-${{ steps.get_tag .outputs.tag }}.zip` from this release.
102+ 1. Download `sifli-kicad-libraries-${{ steps.resolve_tag .outputs.tag }}.zip` from this release.
79103 2. Open KiCad Package and Content Manager.
80104 3. Use **Install from file...** and select the downloaded zip.
81105 draft : false
0 commit comments