Skip to content

Implement vsomeip-sys to wrap vsomeip C++ library #46

Implement vsomeip-sys to wrap vsomeip C++ library

Implement vsomeip-sys to wrap vsomeip C++ library #46

Workflow file for this run

# ********************************************************************************
# 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
echo "VSOMEIP_SOURCE_PATH=${{ github.workspace }}/${{ env.VSOMEIP_SOURCE_DIR }}" >> $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: |
pwd
cd $VSOMEIP_SOURCE_PATH
pwd
ls -l
# 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