feat add event_bus #1

Merged
tqcq merged 19 commits from feat/support_event_bus into master 2024-04-02 12:41:20 +08:00
2 changed files with 90 additions and 101 deletions
Showing only changes of commit ab3798a93e - Show all commits

View File

@ -75,5 +75,5 @@ jobs:
run: |- run: |-
export PATH=$GITHUB_WORKSPACE/qemu-install/bin:$PATH export PATH=$GITHUB_WORKSPACE/qemu-install/bin:$PATH
cd build cd build
export LD_LIBRARY_PATH=/usr/aarch64-linux-gnu/lib/ ln -sf /usr/aarch64-linux-gnu/lib/ld-linux-aarch64.so.1 /lib/ld-linux-aarch64.so.1
TESTS_EXECUTABLE_LOADER=qemu-aarch64 TESTS_EXECUTABLE_LOADER_ARGUMENTS="-L;/usr/aarch64-linux-gnu" ctest --output-on-failure -j $(nproc) TESTS_EXECUTABLE_LOADER=qemu-aarch64 TESTS_EXECUTABLE_LOADER_ARGUMENTS="-L;/usr/aarch64-linux-gnu" ctest --output-on-failure -j $(nproc)

View File

@ -1,12 +1,11 @@
--- ---
name: linux-arm-gcc name: linux-arm-gcc
on: on:
push: push:
paths: paths:
- .gitea/workflows/linux-arm-gcc.yml - .gitea/workflows/linux-arm-gcc.yml
- 'toolchains/arm-linux-gnueabi.toolchain.cmake' - toolchains/arm-linux-gnueabi.toolchain.cmake
- 'toolchains/arm-linux-gnueabihf.toolchain.cmake' - toolchains/arm-linux-gnueabihf.toolchain.cmake
- 3party/** - 3party/**
- include/** - include/**
- src/** - src/**
@ -16,8 +15,8 @@ on:
pull_request: pull_request:
paths: paths:
- .gitea/workflows/linux-arm-gcc.yml - .gitea/workflows/linux-arm-gcc.yml
- 'toolchains/arm-linux-gnueabi.toolchain.cmake' - toolchains/arm-linux-gnueabi.toolchain.cmake
- 'toolchains/arm-linux-gnueabihf.toolchain.cmake' - toolchains/arm-linux-gnueabihf.toolchain.cmake
- 3party/** - 3party/**
- include/** - include/**
- src/** - src/**
@ -27,27 +26,25 @@ on:
concurrency: concurrency:
group: linux-arm-gcc-${{ github.ref }} group: linux-arm-gcc-${{ github.ref }}
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
linux-gcc-arm: linux-gcc-arm:
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: cache-qemu
- name: cache-qemu id: cache-qemu
id: cache-qemu uses: actions/cache@v4
uses: actions/cache@v4 with:
with: path: qemu-install
path: qemu-install key: qemu-arm-install-20220502-2
key: qemu-arm-install-20220502-2 - name: install-qemu-build-deps
- name: install-qemu-build-deps if: steps.cache-qemu.outputs.cache-hit != 'true'
if: steps.cache-qemu.outputs.cache-hit != 'true' run: |
run: | sudo apt-get update -y
sudo apt-get update -y sudo apt-get install -y autoconf automake autotools-dev ninja-build
sudo apt-get install -y autoconf automake autotools-dev ninja-build - name: checkout-qemu
- name: checkout-qemu if: steps.cache-qemu.outputs.cache-hit != 'true'
if: steps.cache-qemu.outputs.cache-hit != 'true' run: |
run: |
mkdir qemu && cd qemu mkdir qemu && cd qemu
git init git init
git remote add origin https://gitlab.com/qemu-project/qemu.git git remote add origin https://gitlab.com/qemu-project/qemu.git
@ -58,56 +55,51 @@ jobs:
# repository: qemu/qemu # repository: qemu/qemu
# path: qemu # path: qemu
# ref: f5643914a9e8f79c606a76e6a9d7ea82a3fc3e65 # ref: f5643914a9e8f79c606a76e6a9d7ea82a3fc3e65
- name: qemu - name: qemu
if: steps.cache-qemu.outputs.cache-hit != 'true' if: steps.cache-qemu.outputs.cache-hit != 'true'
run: | run: |
cd qemu cd qemu
./configure --prefix=$GITHUB_WORKSPACE/qemu-install --target-list=arm-linux-user --disable-system ./configure --prefix=$GITHUB_WORKSPACE/qemu-install --target-list=arm-linux-user --disable-system
make -j$(nproc) make -j$(nproc)
make install make install
- name: set-qemu-cache
- name: set-qemu-cache uses: actions/cache/save@v3
uses: actions/cache/save@v3 if: steps.cache-qemu.outputs.cache-hit != 'true'
if: steps.cache-qemu.outputs.cache-hit != 'true' with:
with: key: qemu-arm-install-20220502-2
key: qemu-arm-install-20220502-2 path: qemu-install
path: qemu-install - name: arm-gnu-toolchain
run: |
- name: arm-gnu-toolchain sudo apt-get update -y
run: | sudo apt-get install -y cmake make g++-arm-linux-gnueabi
sudo apt-get update -y - name: build
sudo apt-get install -y cmake make g++-arm-linux-gnueabi run: |
mkdir build && cd build
- name: build cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/arm-linux-gnueabi.toolchain.cmake -DSLED_BUILD_TESTS=ON -DSLED_BUILD_TESTS=ON ..
run: | cmake --build . -j $(nproc)
mkdir build && cd build - name: test
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/arm-linux-gnueabi.toolchain.cmake -DSLED_BUILD_TESTS=ON -DSLED_BUILD_TESTS=ON .. run: |
cmake --build . -j $(nproc) export PATH=$GITHUB_WORKSPACE/qemu-install/bin:$PATH
- name: test cd build
run: | TESTS_EXECUTABLE_LOADER=qemu-arm TESTS_EXECUTABLE_LOADER_ARGUMENTS="-L;/usr/arm-linux-gnueabi" ctest --output-on-failure -j $(nproc)
export PATH=$GITHUB_WORKSPACE/qemu-install/bin:$PATH
cd build
TESTS_EXECUTABLE_LOADER=qemu-arm TESTS_EXECUTABLE_LOADER_ARGUMENTS="-L;/usr/arm-linux-gnueabi" ctest --output-on-failure -j $(nproc)
linux-gcc-armhf: linux-gcc-armhf:
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: cache-qemu
- name: cache-qemu id: cache-qemu
id: cache-qemu uses: actions/cache@v4
uses: actions/cache@v4 with:
with: path: qemu-install
path: qemu-install key: qemu-arm-install-20220502-2
key: qemu-arm-install-20220502-2 - name: install-qemu-build-deps
- name: install-qemu-build-deps if: steps.cache-qemu.outputs.cache-hit != 'true'
if: steps.cache-qemu.outputs.cache-hit != 'true' run: |
run: | sudo apt-get update -y
sudo apt-get update -y sudo apt-get install -y autoconf automake autotools-dev ninja-build
sudo apt-get install -y autoconf automake autotools-dev ninja-build - name: checkout-qemu
- name: checkout-qemu if: steps.cache-qemu.outputs.cache-hit != 'true'
if: steps.cache-qemu.outputs.cache-hit != 'true' run: |
run: |
mkdir qemu && cd qemu mkdir qemu && cd qemu
git init git init
git remote add origin https://gitlab.com/qemu-project/qemu.git git remote add origin https://gitlab.com/qemu-project/qemu.git
@ -118,34 +110,31 @@ jobs:
# repository: qemu/qemu # repository: qemu/qemu
# path: qemu # path: qemu
# ref: f5643914a9e8f79c606a76e6a9d7ea82a3fc3e65 # ref: f5643914a9e8f79c606a76e6a9d7ea82a3fc3e65
- name: qemu - name: qemu
if: steps.cache-qemu.outputs.cache-hit != 'true' if: steps.cache-qemu.outputs.cache-hit != 'true'
run: | run: |
cd qemu cd qemu
./configure --prefix=$GITHUB_WORKSPACE/qemu-install --target-list=arm-linux-user --disable-system ./configure --prefix=$GITHUB_WORKSPACE/qemu-install --target-list=arm-linux-user --disable-system
make -j$(nproc) make -j$(nproc)
make install make install
- name: set-qemu-cache
- name: set-qemu-cache uses: actions/cache/save@v3
uses: actions/cache/save@v3 if: steps.cache-qemu.outputs.cache-hit != 'true'
if: steps.cache-qemu.outputs.cache-hit != 'true' with:
with: key: qemu-arm-install-20220502-2
key: qemu-arm-install-20220502-2 path: qemu-install
path: qemu-install - name: arm-gnu-toolchain
run: |
- name: arm-gnu-toolchain sudo apt-get update -y
run: | sudo apt-get install -y cmake make g++-arm-linux-gnueabihf
sudo apt-get update -y - name: build
sudo apt-get install -y cmake make g++-arm-linux-gnueabihf run: |
mkdir build && cd build
- name: build cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/arm-linux-gnueabihf.toolchain.cmake -DSLED_BUILD_TESTS=ON ..
run: | cmake --build . -j $(nproc)
mkdir build && cd build - name: test
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/arm-linux-gnueabihf.toolchain.cmake -DSLED_BUILD_TESTS=ON .. run: |-
cmake --build . -j $(nproc) export PATH=$GITHUB_WORKSPACE/qemu-install/bin:$PATH
- name: test cd build
run: | ln -sf /usr/arm-linux-gnueabihf/lib/ld-linux-armhf.so.3 /lib/ld-linux-armhf.so.3
export PATH=$GITHUB_WORKSPACE/qemu-install/bin:$PATH TESTS_EXECUTABLE_LOADER=qemu-arm TESTS_EXECUTABLE_LOADER_ARGUMENTS="-L;/usr/arm-linux-gnueabihf" ctest --output-on-failure -j $(nproc)
cd build
TESTS_EXECUTABLE_LOADER=qemu-arm TESTS_EXECUTABLE_LOADER_ARGUMENTS="-L;/usr/arm-linux-gnueabihf" ctest --output-on-failure -j $(nproc)