8000 CMake in Waf + Keep-alive steps in workflows + Update workflows (#49) · steinwurf/bourne@e1556e4 · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Aarch64 Linux Musl #1070

Aarch64 Linux Musl

Aarch64 Linux Musl #1070

Workflow file for this run

< 3436 tr>
name: Aarch64 Linux Musl
on:
workflow_dispatch:
inputs:
extra_resolve_options:
description: Extra Resolve Options
required: false
schedule:
- cron: 0 1 * * *
push:
branches:
- master
pull_request:
jobs:
cross-compile:
timeout-minutes: 45
strategy:
fail-fast: false
runs-on: [self-hosted, vm, ubuntu-current]
name: Raspberry Pi Cross-compile
steps:
- name: Ensure correct owner of repository
run: sudo chown -R actions-runner:actions-runner .
- name: Checkout source code
uses: actions/checkout@v4
- name: Clone toolchains
run: rm -rf ~/toolchains && git clone --depth 1 git@github.com:steinwurf/cmake-toolchains.git ~/toolchains
- name: CMake Cleanup
run: cmake -E remove_directory cmake_build
- name: CMake Configure
uses: nick-fields/retry@v3
with:
max_attempts: 3
timeout_minutes: 15
command: cmake -B cmake_build -DCMAKE_BUILD_TYPE=Debug -DSTEINWURF_RESOLVE_OPTIONS="--git_protocol=git@ $EXTRA_RESOLVE_OPTIONS" -DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }} -DCMAKE_C_COMPILER=${{ matrix.config.cc }} -DCMAKE_BUILD_TYPE=WurfRelease -DCMAKE_TOOLCHAIN_FILE=~/toolchains/zig-toolchain-aarch64-linux-musl.cmake -GNinja
- name: CMake Build
run: cmake --build cmake_build -j
- name: Gather Test Binary and Input files
run: |
mkdir artifact
mv cmake_build/bourne_tests ./artifact
cp cmake_build/test.json ./artifact
- name: Upload Test Binary Artifact
uses: actions/upload-artifact@v4
with:
name: bourne_tests
path: artifact
retention-days: 1
tests:
needs: cross-compile
strategy:
fail-fast: false
runs-on: [self-hosted, raspberry_pi_4]
name: Run Tests on Raspberry Pi
steps:
- name: Checkout source code
uses: actions/checkout@v3
- name: Download Test Binary Artifact
uses: actions/download-artifact@v4
with:
name: bourne_tests
- name: List files
run: ls -l
- name: Run all tests
run: chmod +x bourne_tests
- name: Get backtrace on failure if available
run: |
if ! ./bourne_tests; then
echo "Test failed, getting backtrace"
gdb -batch -ex "r" -ex "thread apply all backtrace full" -ex "quit" ./bourne_tests
exit 1
fi
workflow-keepalive:
if: github.event_name == 'schedule'
runs-on: [self-hosted, vm, ubuntu-current]
permissions:
actions: write
steps:
- uses: liskin/gh-workflow-keepalive@v1
concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true
0