Enhance Upload Firrtl Binaries (#4887)

* Change Upload Binaries to Upload Firrtl Binaries

This vastly reduces the size of the uploaded binaries while still
serving the needs of Firrtl users.

* Don't build tools when building LLVM

They are not part of the binary release and are unnecessary for building
CIRCT.

* Use CIRCT_RELEASE_TAG=firtool

This works for both tagged releases and will give a version derived from
`git describe --tags` when building from non-tagged commits.
This commit is contained in:
Jack Koenig 2023-03-27 21:29:44 -07:00 committed by GitHub
parent 42fd93de70
commit 3e75875846
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 9 deletions

View File

@ -1,4 +1,4 @@
name: Upload Binaries name: Upload Firrtl Binaries
on: on:
release: release:
@ -66,6 +66,7 @@ jobs:
-DCMAKE_C_COMPILER=${{ matrix.cc }} \ -DCMAKE_C_COMPILER=${{ matrix.cc }} \
-DCMAKE_CXX_COMPILER=${{ matrix.cxx }} \ -DCMAKE_CXX_COMPILER=${{ matrix.cxx }} \
-DBUILD_SHARED_LIBS=${{ matrix.build_config.shared }} \ -DBUILD_SHARED_LIBS=${{ matrix.build_config.shared }} \
-DLLVM_BUILD_TOOLS=OFF \
-DLLVM_BUILD_EXAMPLES=OFF \ -DLLVM_BUILD_EXAMPLES=OFF \
-DLLVM_ENABLE_ASSERTIONS=${{ matrix.build_config.assert }} \ -DLLVM_ENABLE_ASSERTIONS=${{ matrix.build_config.assert }} \
-DLLVM_ENABLE_BINDINGS=OFF \ -DLLVM_ENABLE_BINDINGS=OFF \
@ -105,12 +106,12 @@ jobs:
-DLLVM_PARALLEL_LINK_JOBS=1 \ -DLLVM_PARALLEL_LINK_JOBS=1 \
-DLLVM_FORCE_ENABLE_STATS=${{ matrix.build_config.stats }} \ -DLLVM_FORCE_ENABLE_STATS=${{ matrix.build_config.stats }} \
-DCIRCT_RELEASE_TAG_ENABLED=ON \ -DCIRCT_RELEASE_TAG_ENABLED=ON \
-DCIRCT_RELEASE_TAG=${{ github.ref_name }} \ -DCIRCT_RELEASE_TAG=firtool \
-DCMAKE_EXPORT_COMPILE_COMMANDS=OFF \ -DCMAKE_EXPORT_COMPILE_COMMANDS=OFF \
-DCMAKE_INSTALL_PREFIX=`pwd`/../install -DCMAKE_INSTALL_PREFIX=`pwd`/../install
ninja ninja
ninja check-circt check-circt-unit ninja check-circt check-circt-unit
ninja install ninja install-firtool
cd .. cd ..
- name: Display Files - name: Display Files
@ -128,21 +129,21 @@ jobs:
- name: Package Binaries - name: Package Binaries
run: | run: |
mv install ${{ steps.name_dir.outputs.value }} mv install ${{ steps.name_dir.outputs.value }}
${{ matrix.tar }} czf circt-bin-${{ matrix.runner }}.tar.gz ${{ steps.name_dir.outputs.value }} ${{ matrix.tar }} czf firrtl-bin-${{ matrix.runner }}.tar.gz ${{ steps.name_dir.outputs.value }}
- name: Show Tarball - name: Show Tarball
run: | run: |
ls -l circt-bin-${{ matrix.runner }}.tar.gz ls -l firrtl-bin-${{ matrix.runner }}.tar.gz
shasum -a 256 circt-bin-${{ matrix.runner }}.tar.gz shasum -a 256 firrtl-bin-${{ matrix.runner }}.tar.gz
- name: Upload Binaries (Non-Tag) - name: Upload Binaries (Non-Tag)
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
if: github.ref_type != 'tag' if: github.ref_type != 'tag'
with: with:
name: circt-bin-${{ matrix.runner }}.tar.gz name: firrtl-bin-${{ matrix.runner }}.tar.gz
path: circt-bin-${{ matrix.runner }}.tar.gz path: firrtl-bin-${{ matrix.runner }}.tar.gz
retention-days: 7 retention-days: 7
- name: Upload Binaries (Tag) - name: Upload Binaries (Tag)
uses: AButler/upload-release-assets@v2.0 uses: AButler/upload-release-assets@v2.0
if: startsWith(github.ref, 'refs/tags/') if: startsWith(github.ref, 'refs/tags/')
with: with:
files: circt-bin-${{ matrix.runner }}.tar.gz files: firrtl-bin-${{ matrix.runner }}.tar.gz
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}