Publish binaries on release #4
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Publish binaries on release | |
| on: | |
| release: | |
| types: [published] | |
| permissions: | |
| contents: write | |
| jobs: | |
| build-x86_64: | |
| name: Build package for x86_64 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Code checkout | |
| uses: actions/checkout@v2 | |
| - name: Install dependencies | |
| run: sudo apt-get update && sudo apt-get install -y make gcc bc bison flex elfutils python3-pyelftools curl patch libelf-dev gcc-aarch64-linux-gnu gcc-riscv64-linux-gnu | |
| - name: Build x86_64 package | |
| run: | | |
| make | |
| make PREFIX=tmp install | |
| cd tmp | |
| tar czf ../libkrunfw-x86_64.tgz lib64 | |
| cd .. | |
| rm -fr tmp | |
| gh release upload ${{github.event.release.tag_name}} libkrunfw-x86_64.tgz | |
| make clean | |
| env: | |
| GITHUB_TOKEN: ${{ github.TOKEN }} | |
| shell: bash | |
| - name: Build riscv64 package | |
| run: | | |
| make ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- | |
| make ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- PREFIX=tmp install | |
| cd tmp | |
| tar czf ../libkrunfw-riscv64.tgz lib64 | |
| cd .. | |
| rm -fr tmp | |
| gh release upload ${{github.event.release.tag_name}} libkrunfw-riscv64.tgz | |
| make ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- clean | |
| env: | |
| GITHUB_TOKEN: ${{ github.TOKEN }} | |
| shell: bash | |
| build-aarch64: | |
| name: Build package for aarch64 | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - name: Code checkout | |
| uses: actions/checkout@v2 | |
| - name: Install dependencies | |
| run: sudo apt-get update && sudo apt-get install -y make gcc bc bison flex elfutils python3-pyelftools curl patch libelf-dev | |
| - name: Build aarch64 package | |
| run: | | |
| make | |
| make PREFIX=tmp install | |
| mkdir libkrunfw | |
| cp Makefile LICENSE-* kernel.c bin2cbundle.py libkrunfw | |
| tar czf libkrunfw-prebuilt-aarch64.tgz libkrunfw | |
| rm -fr libkrunfw | |
| cd tmp | |
| tar czf ../libkrunfw-aarch64.tgz lib64 | |
| cd .. | |
| rm -fr tmp | |
| gh release upload ${{github.event.release.tag_name}} libkrunfw-prebuilt-aarch64.tgz | |
| gh release upload ${{github.event.release.tag_name}} libkrunfw-aarch64.tgz | |
| make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- clean | |
| env: | |
| GITHUB_TOKEN: ${{ github.TOKEN }} | |
| shell: bash | |
| build-riscv64: | |
| name: Build package for riscv64 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Code checkout | |
| uses: actions/checkout@v2 | |
| - name: Install dependencies | |
| run: sudo apt-get update && sudo apt-get install -y make gcc bc bison flex elfutils python3-pyelftools curl patch libelf-dev gcc-riscv64-linux-gnu | |
| - name: Build riscv64 package | |
| run: | | |
| make ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- | |
| make ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- PREFIX=tmp install | |
| cd tmp | |
| tar czf ../libkrunfw-riscv64.tgz lib64 | |
| cd .. | |
| rm -fr tmp | |
| gh release upload ${{github.event.release.tag_name}} libkrunfw-riscv64.tgz | |
| make ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- clean | |
| env: | |
| GITHUB_TOKEN: ${{ github.TOKEN }} | |
| shell: bash |