Skip to content

Update README. Add build and installation instructions (#21) #49

Update README. Add build and installation instructions (#21)

Update README. Add build and installation instructions (#21) #49

Workflow file for this run

name: build
on:
push:
branches: [main, develop, 'feature/**']
pull_request:
branches: [main, develop, 'feature/**']
workflow_dispatch:
branches: [main, develop, 'feature/**']
jobs:
configure:
runs-on: ubuntu-latest
outputs:
build_timestamp: ${{steps.timestamp.outputs.timestamp}}
build_id: build-${{github.run_number}}-${{steps.timestamp.outputs.timestamp}}
steps:
- name: configure build id
id: timestamp
run: echo "timestamp=$(date -u +'%Y%m%d%H%M')" >> "$GITHUB_OUTPUT"
build:
needs: configure
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: install (linux)
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install ninja-build libcurl4-openssl-dev
- name: install (windows)
if: matrix.os == 'windows-latest'
run: choco install ninja
- name: install (macos)
if: matrix.os == 'macos-latest'
run: brew install ninja
- uses: ilammy/msvc-dev-cmd@v1
with:
arch: x64
- name: configure
run: cmake -G Ninja -B ${{runner.workspace}}/build -Wno-dev -DCMAKE_BUILD_TYPE=Release
- name: build
run: cmake --build ${{runner.workspace}}/build --target reaper_ultraschall --config Release
- uses: actions/upload-artifact@v4
with:
name: ${{needs.configure.outputs.build_id}}-${{matrix.os}}
path: |
${{runner.workspace}}/build/artifacts/*
!${{runner.workspace}}/build/artifacts/reaper_ultraschall.dll.manifest
release:
needs: [configure, build]
if : contains('refs/heads/main refs/heads/develop', github.ref)
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
path: ${{runner.workspace}}/artifacts
pattern: ${{needs.configure.outputs.build_id}}-*
merge-multiple: true
- uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{secrets.GITHUB_TOKEN}}"
automatic_release_tag: "${{needs.configure.outputs.build_id}}"
prerelease: true
files: ${{runner.workspace}}/artifacts/*