Created Program flow and menus #1097
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
--- | |
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 }} |