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