Skip to content

added missing CPY instruction and completed thumb assembly for ARMv6 #48

added missing CPY instruction and completed thumb assembly for ARMv6

added missing CPY instruction and completed thumb assembly for ARMv6 #48

Workflow file for this run

name: llarm-emu build
# llarm-emu depends on llarm-asm, which is why it's included here
on:
push:
paths:
- 'llarm-emu/**/*.cpp'
- 'llarm-emu/**/*.hpp'
- 'llarm-emu/**/CMakeLists.txt'
- 'llarm-emu/**/*.cmake'
- 'llarm-emu/**/*.cmake.in'
- 'llarm-emu/tests/**'
- 'llarm-asm/**/*.cpp'
- 'llarm-asm/**/*.hpp'
- 'llarm-asm/**/CMakeLists.txt'
- 'llarm-asm/**/*.cmake'
- 'llarm-asm/**/*.cmake.in'
- 'cmake/**'
- 'shared/**'
- '.github/workflows/llarm-emu.yml'
pull_request:
paths:
- 'llarm-emu/**/*.cpp'
- 'llarm-emu/**/*.hpp'
- 'llarm-emu/**/CMakeLists.txt'
- 'llarm-emu/**/*.cmake'
- 'llarm-emu/**/*.cmake.in'
- 'llarm-emu/tests/**'
- 'llarm-asm/**/*.cpp'
- 'llarm-asm/**/*.hpp'
- 'llarm-asm/**/CMakeLists.txt'
- 'llarm-asm/**/*.cmake'
- 'llarm-asm/**/*.cmake.in'
- 'cmake/**'
- 'shared/**'
- '.github/workflows/llarm-emu.yml'
jobs:
build:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Install CMake 3.29
run: |
wget -qO - https://apt.kitware.com/keys/kitware-archive-latest.asc \
| gpg --dearmor \
| sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg > /dev/null
echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ noble main' \
| sudo tee /etc/apt/sources.list.d/kitware.list > /dev/null
sudo apt-get update -q
sudo apt-get install -y cmake
- name: Configure
run: |
cmake -S llarm-emu -B llarm-emu/build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
- name: Build
run: cmake --build llarm-emu/build --parallel
- name: Install ARM toolchain
run: sudo apt-get install -y binutils-arm-none-eabi
- name: Run integration tests
run: bash llarm-emu/tests/run_tests.sh llarm-emu/build/llarm-emu
- name: Install clang-tidy
run: sudo apt-get install -y clang-tidy clang-tools
- name: Resolve changed files
id: changed
run: |
CHANGED=$(git diff HEAD~1 --name-only)
CPPS=$(echo "$CHANGED" | grep -E "^llarm-emu/src/.*\.cpp$" || true)
HPPS=$(echo "$CHANGED" | grep -E "^llarm-emu/.*\.hpp$" || true)
if [ -n "$HPPS" ]; then
echo "filter=llarm-emu/src/.*\\.cpp" >> "$GITHUB_OUTPUT"
elif [ -n "$CPPS" ]; then
echo "filter=$(echo "$CPPS" | tr '\n' '|' | sed 's/|$//')" >> "$GITHUB_OUTPUT"
else
echo "filter=" >> "$GITHUB_OUTPUT"
fi
- name: clang-tidy
if: steps.changed.outputs.filter != ''
continue-on-error: true
run: |
run-clang-tidy \
-p llarm-emu/build \
-extra-arg=-Wno-unknown-warning-option \
-header-filter="llarm-emu/src/.*\\.hpp" \
"${{ steps.changed.outputs.filter }}"