Implement vsomeip-sys to wrap vsomeip C++ library #43
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
# ******************************************************************************** | |
# Copyright (c) 2023 Contributors to the Eclipse Foundation | |
# | |
# See the NOTICE file(s) distributed with this work for additional | |
# information regarding copyright ownership. | |
# | |
# This program and the accompanying materials are made available under the | |
# terms of the Apache License Version 2.0 which is available at | |
# https://www.apache.org/licenses/LICENSE-2.0 | |
# | |
# SPDX-License-Identifier: Apache-2.0 | |
# *******************************************************************************/ | |
name: Lint and Test | |
env: | |
VSOMEIP_RELEASE_URL: https://github.com/COVESA/vsomeip/archive/refs/tags/ | |
VSOMEIP_RELEASE_TAG: 3.4.10.tar.gz | |
VSOMEIP_SOURCE_PATH: /vsomeip-src | |
# TODO: Need to get a cached version of vsomeip compiled we can refer to here | |
VSOMEIP_LIB_PATH: /does/not/yet/exist | |
# TODO: Need to get a C++ build environment setup with C++ libs in known locations | |
GENERIC_CPP_STDLIB_PATH: /usr/include/c++/11 | |
ARCH_SPECIFIC_CPP_STDLIB_PATH: /usr/include/x86_64-linux-gnu/c++/11 | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
paths: | |
- "src/**" | |
- "Cargo.*" | |
workflow_call: | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.ref }}-${{ github.workflow }} | |
cancel-in-progress: true | |
jobs: | |
download_and_decompress: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set environment variables | |
run: | | |
echo "VSOMEIP_SOURCE_TARBALL=${{ env.VSOMEIP_RELEASE_URL }}${{ env.VSOMEIP_RELEASE_TAG }}" >> $GITHUB_ENV | |
- name: Download tarball | |
run: wget -O vsomeip-source.tar.gz $VSOMEIP_SOURCE_TARBALL | |
- name: Create destination directory | |
run: mkdir -p $VSOMEIP_SOURCE_PATH | |
- name: Decompress tarball | |
run: tar -xzf vsomeip-source.tar.gz -C $VSOMEIP_SOURCE_PATH | |
- name: Confirm decompressed | |
run: | | |
cd $VSOMEIP_SOURCE_PATH | |
ll | |
# TODO: Temporarily commenting this proven bit out to get the download & compilation | |
# of vsomeip working | |
# lint: | |
# name: Lint | |
# runs-on: ubuntu-latest | |
# | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - name: Install stable toolchain | |
# run: | | |
# rustup show | |
# rustup component add rustfmt clippy | |
# - name: cargo fmt | |
# working-directory: ${{github.workspace}} | |
# run: cargo fmt -- --check | |
# - name: cargo clippy | |
# working-directory: ${{github.workspace}} | |
# run: cargo clippy --all-targets -- -W warnings -D warnings | |
# | |
# test: | |
# name: Test | |
# runs-on: ubuntu-latest | |
# | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - uses: dtolnay/rust-toolchain@stable | |
# - name: Install dependencies | |
# run: | | |
# cargo install cargo-tarpaulin | |
# - name: Show toolchain information | |
# working-directory: ${{github.workspace}} | |
# run: | | |
# rustup toolchain list | |
# cargo --version | |
# - name: Run tests and report code coverage | |
# run: | | |
# # enable nightly features so that we can also include Doctests | |
# RUSTC_BOOTSTRAP=1 cargo tarpaulin -o xml -o lcov -o html --doc --tests | |
# | |
# - name: Upload coverage report (xml) | |
# uses: actions/upload-artifact@v4 | |
# with: | |
# name: Test Coverage Results (xml) | |
# path: cobertura.xml | |
# | |
# - name: Upload coverage report (lcov) | |
# uses: actions/upload-artifact@v4 | |
# with: | |
# name: Test Coverage Results (lcov) | |
# path: lcov.info | |
# | |
# - name: Upload coverage report (html) | |
# uses: actions/upload-artifact@v4 | |
# with: | |
# name: Test Coverage Results (html) | |
# path: tarpaulin-report.html | |
# | |
# # - name: Upload coverage report | |
# # uses: actions/upload-artifact@v4 | |
# # with: | |
# # name: Code coverage report | |
# # path: cobertura.xml | |
# | |
# build-docs: | |
# name: Build documentation | |
# runs-on: ubuntu-latest | |
# | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - name: Create Documentation | |
# working-directory: ${{github.workspace}} | |
# run: RUSTDOCFLAGS=-Dwarnings cargo doc -p up-rust --no-deps |