switch bazel tool #68
Workflow file for this run
This file contains 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: Release | ||
on: | ||
push: | ||
branches: | ||
- main | ||
tags: | ||
- v* | ||
paths-ignore: | ||
- LICENSE | ||
- README.md | ||
pull_request: | ||
workflow_dispatch: | ||
inputs: | ||
release: | ||
description: "Create/recreate a release" | ||
required: false | ||
type: boolean | ||
default: false | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | ||
cancel-in-progress: true | ||
permissions: | ||
checks: write | ||
contents: write | ||
pull-requests: write | ||
jobs: | ||
initialize: | ||
runs-on: | ||
- ubuntu-22.04 | ||
outputs: | ||
RELEASE: ${{ steps.setuppush.outputs.RELEASE || steps.setupmanual.outputs.RELEASE }} | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- name: Display and Setup Build Args (Push) | ||
id: setuppush | ||
run: | | ||
echo "Release: $RELEASE" | ||
echo "RELEASE=$RELEASE" >> $GITHUB_OUTPUT | ||
env: | ||
RELEASE: ${{ startsWith(github.ref_name, 'v') }} | ||
if: ${{ github.event_name == 'push' }} | ||
- name: Display and Setup Build Args (Manual) | ||
id: setupmanual | ||
run: | | ||
echo "RELEASE=$RELEASE" >> $GITHUB_OUTPUT | ||
echo "FULL_RUN=$FULL_RUN" >> $GITHUB_OUTPUT | ||
env: | ||
RELEASE: ${{ github.event.inputs.release }} | ||
if: ${{ github.event_name == 'workflow_dispatch' }} | ||
build-linux-packages: | ||
needs: | ||
- initialize | ||
strategy: | ||
matrix: | ||
os: | ||
- ubuntu-22.04 # https://github.com/actions/runner-images/blob/main/images/linux/Ubuntu2204-Readme.md | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Use ccache | ||
uses: hendrikmuhs/ccache-action@v1.2 | ||
with: | ||
key: linux-gcc-cache-${{ matrix.os }} | ||
- name: Setup Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: '3.11' | ||
- name: Setup Rust | ||
uses: actions-rs/toolchain@v1 | ||
with: | ||
profile: minimal | ||
toolchain: stable | ||
components: clippy | ||
override: true | ||
- name: Install python dependencies | ||
run: pip install orderedmultidict | ||
- name: Global Dependencies | ||
run: sudo apt install bison flex libfl-dev libreadline-dev tcl-dev | ||
- name: Install Bazel | ||
uses: loopingz/setup-bazelisk@v3 | ||
# uses: bazelbuild/setup-bazelisk@v2 | ||
- name: Mount bazel cache | ||
uses: actions/cache@v3 | ||
with: | ||
path: "~/.cache/bazel" | ||
key: bazel | ||
- name: Build - verible | ||
run: | | ||
make verible/install | ||
make verible/debian | ||
- name: Configure shell for CCache | ||
run: echo 'PATH=/usr/lib/ccache:'"$PATH" >> $GITHUB_ENV | ||
- name: Build - googletest | ||
run: make googletest/install | ||
- name: Build - capnproto | ||
run: | | ||
make capnproto/install | ||
make capnproto/debian | ||
- name: Build - json | ||
run: | | ||
make json/install | ||
make json/debian | ||
- name: Build - antlr | ||
run: | | ||
make antlr/install | ||
make antlr/debian | ||
- name: Build - uhdm | ||
run: | | ||
make uhdm/install | ||
make uhdm/debian | ||
- name: Build - surelog | ||
run: | | ||
make surelog/install | ||
make surelog/debian | ||
- name: Build - simview | ||
run: | | ||
make simview/install | ||
make simview/debian | ||
- name: Build - surfer | ||
run: | | ||
make surfer/install | ||
make surfer/debian | ||
- name: Build - yosys | ||
run: | | ||
make yosys/install | ||
make yosys/debian | ||
- name: Build - synlig | ||
run: | | ||
make synlig/install | ||
make synlig/debian | ||
# - name: Build - verilator | ||
# run: make verilator-install | ||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: artifact-deb | ||
path: ./*.deb | ||
# - uses: actions/upload-artifact@v4 | ||
# with: | ||
# name: artifact-rpm | ||
# path: | | ||
# ./*.rpm | ||
# !./*-debuginfo-*.rpm | ||
create-release: | ||
needs: | ||
- initialize | ||
- build-linux-packages | ||
strategy: | ||
matrix: | ||
os: | ||
- ubuntu-22.04 | ||
runs-on: ${{ matrix.os }} | ||
if: ${{ needs.initialize.outputs.RELEASE == 'true' }} | ||
steps: | ||
- uses: actions/download-artifact@v4 | ||
with: | ||
name: artifact-deb | ||
- name: Release | ||
uses: softprops/action-gh-release@v1 | ||
with: | ||
fail_on_unmatched_files: true | ||
prerelease: true | ||
files: | | ||
./*.deb |