Skip to content

add tests

add tests #1071

Workflow file for this run

---
name: MIL CI
# We do not trigger on the pull_request hook because it will have already been
# triggered by the push hook!
# yamllint disable-line rule:truthy
on:
[push, workflow_dispatch]
env:
# The version of caching we are using. This can be upgraded if we
# significantly change CI to the point where old caches become irrelevant.
CACHE_VERSION: 0
# Default Python version. Noetic defaults to 3.8.
DEFAULT_PYTHON: 3.8
# Location of the pre-commit cache. This is set by pre-commit, not us!
PRE_COMMIT_CACHE: ~/.cache/pre-commit
# Cancels this run if a new one referring to the same object and same workflow
# is requested
concurrency:
group: >
${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
super-ci:
name: Run tests and build docs
runs-on: self-hosted
steps:
- name: Configure catkin workspace folder structure
run: |
mkdir -p $GITHUB_WORKSPACE/catkin_ws/src
- name: Check out code from GitHub
uses: actions/[email protected]
with:
submodules: recursive
path: catkin_ws/src/mil
- name: Setup ROS Noetic
uses: ros-tooling/[email protected]
with:
required-ros-distributions: noetic
- name: Install pip dependencies
run: |
cd $GITHUB_WORKSPACE/catkin_ws/src/mil
pip3 install -r requirements.txt
# We want to run a full test suite in CI - this includes the BlueView
# tests!
- name: Install BlueView Sonar SDK
run: |
cd $GITHUB_WORKSPACE/catkin_ws/src/mil
./scripts/hardware_installers/install_bvtsdk --pass ${{ secrets.ZOBELISK_PASSWORD }}
ls mil_common/drivers/mil_blueview_driver
echo $PWD
- name: Install system dependencies
run: |
# Needed for /etc/update-manager/release-upgrades
sudo apt-get install -y ubuntu-release-upgrader-core
cd $GITHUB_WORKSPACE/catkin_ws/src/mil
rm -rf build devel
export HOME=$GITHUB_WORKSPACE # Temporary fix for setup scripts
./scripts/install.sh
# - name: Run catkin_make
# run: |
# cd $GITHUB_WORKSPACE/catkin_ws
# source /opt/ros/noetic/setup.bash
# catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3 \
# -DPYTHON_INCLUDE_DIR=/usr/include/python3.8 \
# -j6
- name: Run catkin_make tests
run: |
export HOME=$GITHUB_WORKSPACE # Temporary fix for setup scripts
cd $GITHUB_WORKSPACE/catkin_ws
source /opt/ros/noetic/setup.bash
source devel/setup.bash
catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3 \
-DPYTHON_INCLUDE_DIR=/usr/include/python3.8 \
-j6 \
run_tests
- name: Get test results
run: >
source /opt/ros/noetic/setup.bash
catkin_test_results $GITHUB_WORKSPACE/catkin_ws/build/test_results
--verbose
- name: Build docs
run: |
export HOME=$GITHUB_WORKSPACE # Temporary fix for setup scripts
mkdir -p $HOME/.mil
source /opt/ros/noetic/setup.bash
source $GITHUB_WORKSPACE/catkin_ws/devel/setup.bash
cd $GITHUB_WORKSPACE/catkin_ws/src/mil
./scripts/build_docs -s -d
- name: Publish docs artifact
uses: actions/upload-artifact@v3
with:
name: docs-ci-html-${{ github.sha }}
path: ${{ github.workspace }}/.mil/docs/html
deploy-docs:
name: Deploy docs from master
runs-on: ubuntu-20.04
needs:
- super-ci
if: github.ref == 'refs/heads/master'
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Make folders
run: |
mkdir -p $GITHUB_WORKSPACE/build/docs
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: docs-ci-html-${{ github.sha }}
path: ${{ github.workspace }}/build/docs
# We need to install rsync for GitHub Pages deploy action
- name: Install rsync
run: |
sudo apt-get update && sudo apt-get upgrade && sudo apt-get install -y rsync
# Publish the artifact to the GitHub Pages branch
- name: Push docs to GitHub Pages
uses: JamesIves/github-pages-deploy-action@v4
with:
token: ${{ secrets.INVESTIGATOR_BOT_TOKEN }}
branch: main
repository-name: uf-mil/uf-mil.github.io
folder: ${{ github.workspace }}/build/docs
target-folder: docs
commit-message: Updating docs to ${{ github.sha }}