Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions .devcontainer/Jammy.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -196,12 +196,6 @@ RUN mkdir -p ~/.config/fish/ && echo 'set fish_greeting; function random_message
# Set Fish as Default Shell.
RUN chsh -s /usr/bin/fish

# Clone Autonomy Software Repository
RUN git clone --recurse-submodules -j8 https://github.com/MissouriMRDT/Autonomy_Software.git

# Set Working Directory
WORKDIR /opt/Autonomy_Software/

# Set Labels
LABEL authors="Missouri S&T Mars Rover Design Team"
LABEL maintainer="Mars Rover Design Team <marsrover@mst.edu>"
Expand Down
6 changes: 0 additions & 6 deletions .devcontainer/JetPack.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -185,15 +185,9 @@ RUN wget -q https://github.com/MissouriMRDT/Autonomy_Packages/raw/main/gtest/arm
# Set Fish as Default Shell
RUN chsh -s /usr/bin/fish && mkdir -p ~/.config/fish/ && echo 'set fish_greeting' >> ~/.config/fish/config.fish

# Clone Autonomy Software Repository
RUN git clone --recurse-submodules -j8 https://github.com/MissouriMRDT/Autonomy_Software.git /opt/Autonomy_Software

# Disable the VSCode server requirements check, this fixes the cross architecture issues and potentially fixes mismatching VSCode server versions. Can be unstable.
RUN touch /tmp/vscode-skip-server-requirements-check

# Set Working Directory
WORKDIR /opt/Autonomy_Software/

# Set Labels
LABEL authors="Missouri S&T Mars Rover Design Team"
LABEL maintainer="Mars Rover Design Team <marsrover@mst.edu>"
Expand Down
18 changes: 17 additions & 1 deletion .github/workflows/clang_check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,23 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
submodules: false

- name: Init only needed submodules (and block LiDAR)
shell: bash
run: |
set -euo pipefail

# Only allow these submodules to ever be touched
git config --local --unset-all submodule.active || true
git config --local --add submodule.active external/threadpool
git config --local --add submodule.active external/rovecomm

# Extra safety: make LiDAR a no-op if anything tries to update all submodules
git config --local submodule.data/LiDAR.update none

git submodule sync --recursive
git submodule update --init --recursive external/threadpool external/rovecomm

- name: Fix Dubious Ownership
run: git config --global --add safe.directory /opt/Autonomy_Software
Expand Down
30 changes: 22 additions & 8 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,12 @@ jobs:
if: always()
run: |
cd /opt
if [ ! -d "Autonomy_Software" ]; then git clone --recurse-submodules -j8 https://github.com/MissouriMRDT/Autonomy_Software.git; fi
if [ ! -d "Autonomy_Software" ]; then git clone -j8 https://github.com/MissouriMRDT/Autonomy_Software.git; fi

- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
submodules: false

- name: Fix Dubious Ownership
run: git config --global --add safe.directory /opt/Autonomy_Software
Expand All @@ -57,16 +57,30 @@ jobs:

- name: Update Branch
run: |
set -euo pipefail
cd /opt/Autonomy_Software/
git fetch --force --recurse-submodules

branch=${{ steps.extract_branch.outputs.branch }}
echo $branch
git reset --hard origin/$branch
git checkout $branch
git pull --ff-only
git submodule update --force --recursive --init
echo "Using branch: $branch"

git fetch --force origin "$branch"
git checkout -B "$branch" "origin/$branch"
git reset --hard "origin/$branch"

# Only allow these two submodules to ever be touched
git config --local --unset-all submodule.active || true
git config --local --add submodule.active external/threadpool
git config --local --add submodule.active external/rovecomm

# Extra safety: make LiDAR a no-op if anything tries to update all submodules
git config --local submodule.data/LiDAR.update none

git submodule sync --recursive
git submodule update --init --recursive external/threadpool external/rovecomm

git config --global --add safe.directory /opt/Autonomy_Software/external


- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
Expand Down
32 changes: 22 additions & 10 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@ jobs:
if: always()
run: |
cd /opt
if [ ! -d "Autonomy_Software" ]; then git clone --recurse-submodules -j8 https://github.com/MissouriMRDT/Autonomy_Software.git; fi
if [ ! -d "Autonomy_Software" ]; then git clone -j8 https://github.com/MissouriMRDT/Autonomy_Software.git; fi

- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
submodules: false
ref: ${{ github.event.pull_request.head.sha }}

- name: Fix Dubious Ownership
Expand All @@ -40,14 +40,25 @@ jobs:

- name: Update Branch
run: |
set -euo pipefail
cd /opt/Autonomy_Software/
git fetch --force --recurse-submodules
branch=${{ steps.extract_branch.outputs.branch }}
echo ${{ github.event.pull_request.head.sha }}

echo "PR SHA: ${{ github.event.pull_request.head.sha }}"
git fetch --force origin ${{ github.event.pull_request.head.sha }}
git checkout --detach ${{ github.event.pull_request.head.sha }}
git reset --hard ${{ github.event.pull_request.head.sha }}
git checkout ${{ github.event.pull_request.head.sha }}
# git pull --ff-only
git submodule update --force --recursive --init

# Only allow these submodules to ever be touched
git config --local --unset-all submodule.active || true
git config --local --add submodule.active external/threadpool
git config --local --add submodule.active external/rovecomm

# Extra safety: make LiDAR a no-op if anything tries to update all submodules
git config --local submodule.data/LiDAR.update none

git submodule sync --recursive
git submodule update --init --recursive external/threadpool external/rovecomm

git config --global --add safe.directory /opt/Autonomy_Software/external

- name: Configure and Build
Expand All @@ -56,7 +67,7 @@ jobs:
if [ -d "build" ]; then rm -Rf build; fi
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_TESTS_MODE=ON -DBUILD_CODE_COVERAGE=ON -DBUILD_COVERAGE_WATCH=OFF -DBUILD_VERBOSE_MODE=ON
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_TESTS_MODE=ON -DENABLE_LIDAR_GEO_UTESTS=OFF -DBUILD_CODE_COVERAGE=ON -DBUILD_COVERAGE_WATCH=OFF -DBUILD_VERBOSE_MODE=ON
make -j8

- name: Run Tests
Expand All @@ -73,7 +84,8 @@ jobs:
--exclude '../src/vision/aruco/TagDetector.h' --exclude '../src/vision/aruco/TagDetector.cpp' \
--exclude '../src/vision/cameras/.*' \
--exclude '../src/vision/objects/ObjectDetector.h' --exclude '../src/vision/objects/ObjectDetector.cpp' \
--exclude 'util/vision/YOLOModel.hpp'
--exclude 'util/vision/YOLOModel.hpp' \
--exclude '../src/algorithms/planners/GeoPlanner.h'

- name: Upload Test Coverage to Codacy
if: steps.run_tests.outcome == 'success'
Expand Down
21 changes: 16 additions & 5 deletions .github/workflows/deploy_autonomy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,12 @@ jobs:
if: always()
run: |
cd /opt
if [ ! -d "Autonomy_Software" ]; then git clone --recurse-submodules -j8 https://github.com/MissouriMRDT/Autonomy_Software.git; fi
if [ ! -d "Autonomy_Software" ]; then git clone -j8 https://github.com/MissouriMRDT/Autonomy_Software.git; fi

- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
submodules: false

- name: Fix Dubious Ownership
run: git config --global --add safe.directory /opt/Autonomy_Software
Expand All @@ -86,10 +86,21 @@ jobs:
# Setup Environment
cd /opt/Autonomy_Software
git remote set-url origin git@github.com:MissouriMRDT/Autonomy_Software.git
git fetch --tags --force --recurse-submodules
git fetch --tags --force
git checkout development
git pull
git submodule update --force --recursive --init

# Allowlist only the submodules you want in non-release jobs
git config --local --unset-all submodule.active || true
git config --local --add submodule.active external/threadpool
git config --local --add submodule.active external/rovecomm

# Make LiDAR a no-op even if something tries "update all"
git config --local submodule.data/LiDAR.update none

git submodule sync --recursive
git submodule update --init --recursive external/threadpool external/rovecomm

git config --global --add safe.directory /opt/Autonomy_Software/external

# Find and Format Latest Tag
Expand Down Expand Up @@ -141,7 +152,7 @@ jobs:
uses: actions/checkout@v4
with:
ref: development
submodules: recursive
submodules: false

- name: Check for Branch
id: check_branch
Expand Down
32 changes: 16 additions & 16 deletions .github/workflows/deploy_docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,15 +84,15 @@ jobs:
if: always()
run: |
cd /opt
if [ ! -d "Autonomy_Software" ]; then git clone --recurse-submodules -j8 https://github.com/MissouriMRDT/Autonomy_Software.git; fi
if [ ! -d "Autonomy_Software" ]; then git clone -j8 https://github.com/MissouriMRDT/Autonomy_Software.git; fi

# This step is used to checkout the repository. It is needed so that the package build scripts can be
# checked for changes.
- name: Checkout Repository
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
submodules: false

# This step is used to check if any of the package build scripts have been updated. If any of the package
# build scripts have been updated, then the packages need to be rebuilt in the next job. This step outputs
Expand Down Expand Up @@ -172,15 +172,15 @@ jobs:
if: always()
run: |
cd /opt
if [ ! -d "Autonomy_Software" ]; then git clone --recurse-submodules -j8 https://github.com/MissouriMRDT/Autonomy_Software.git; fi
if [ ! -d "Autonomy_Software" ]; then git clone -j8 https://github.com/MissouriMRDT/Autonomy_Software.git; fi

# This step is used to checkout the repository. It is needed so that the package build scripts can be
# checked for changes.
- name: Checkout Repository
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
submodules: false

# This step is used to rebuild the updated package. It gets the list of packages that need to be rebuilt
# from the previous job. It runs the package build script for the package that is being built.
Expand Down Expand Up @@ -262,14 +262,14 @@ jobs:
run: |
cd /opt
if [ ! -d "Autonomy_Software" ]; then
git clone --recurse-submodules -j8 https://github.com/MissouriMRDT/Autonomy_Software.git
git clone -j8 https://github.com/MissouriMRDT/Autonomy_Software.git
fi

- name: Checkout Repository
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
submodules: false

# --- Check if FFmpeg rebuild is needed. ---
- name: Check if FFmpeg Rebuild is Needed
Expand Down Expand Up @@ -472,15 +472,15 @@ jobs:
if: always()
run: |
cd /opt
if [ ! -d "Autonomy_Software" ]; then git clone --recurse-submodules -j8 https://github.com/MissouriMRDT/Autonomy_Software.git; fi
if [ ! -d "Autonomy_Software" ]; then git clone -j8 https://github.com/MissouriMRDT/Autonomy_Software.git; fi

# This step is used to checkout the repository. It is needed so that the package build scripts can be
# checked for changes.
- name: Checkout Repository
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
submodules: false

# This step is used to check if any of the package build scripts have been updated. If any of the package
# build scripts have been updated, then the packages need to be rebuilt in the next job. This step outputs
Expand Down Expand Up @@ -559,15 +559,15 @@ jobs:
if: always()
run: |
cd /opt
if [ ! -d "Autonomy_Software" ]; then git clone --recurse-submodules -j8 https://github.com/MissouriMRDT/Autonomy_Software.git; fi
if [ ! -d "Autonomy_Software" ]; then git clone -j8 https://github.com/MissouriMRDT/Autonomy_Software.git; fi

# This step is used to checkout the repository. It is needed so that the package build scripts can be
# checked for changes.
- name: Checkout Repository
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
submodules: false

# This step is used to rebuild the updated package. It gets the list of packages that need to be rebuilt
# from the previous job. It runs the package build script for the package that is being built.
Expand Down Expand Up @@ -649,14 +649,14 @@ jobs:
run: |
cd /opt
if [ ! -d "Autonomy_Software" ]; then
git clone --recurse-submodules -j8 https://github.com/MissouriMRDT/Autonomy_Software.git
git clone -j8 https://github.com/MissouriMRDT/Autonomy_Software.git
fi

- name: Checkout Repository
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
submodules: false

# --- Check if FFmpeg rebuild is needed for ARM64 ---
- name: Check if FFmpeg Rebuild is Needed
Expand Down Expand Up @@ -839,15 +839,15 @@ jobs:
if: always()
run: |
cd /opt
if [ ! -d "Autonomy_Software" ]; then git clone --recurse-submodules -j8 https://github.com/MissouriMRDT/Autonomy_Software.git; fi
if [ ! -d "Autonomy_Software" ]; then git clone -j8 https://github.com/MissouriMRDT/Autonomy_Software.git; fi

# This step is used to checkout the repository. It is needed so that the package build scripts can be
# checked for changes.
- name: Checkout Repository
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
submodules: false

# This step is used to check if any of the package build scripts have been updated. If any of the package
# build scripts have been updated, then the packages need to be rebuilt in the next job. This step outputs
Expand Down Expand Up @@ -943,15 +943,15 @@ jobs:
if: always()
run: |
cd /opt
if [ ! -d "Autonomy_Software" ]; then git clone --recurse-submodules -j8 https://github.com/MissouriMRDT/Autonomy_Software.git; fi
if [ ! -d "Autonomy_Software" ]; then git clone -j8 https://github.com/MissouriMRDT/Autonomy_Software.git; fi

# This step is used to checkout the repository. It is needed so that the package build scripts can be
# checked for changes.
- name: Checkout Repository
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
submodules: false

# This step is used to check if any of the package build scripts have been updated. If any of the package
# build scripts have been updated, then the packages need to be rebuilt in the next job. This step outputs
Expand Down
18 changes: 17 additions & 1 deletion .github/workflows/doxygen_generate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,27 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
submodules: false

- name: Fix Dubious Ownership
run: git config --global --add safe.directory /opt/Autonomy_Software

- name: Init only needed submodules (and block LiDAR)
shell: bash
run: |
set -euo pipefail

# Only allow these submodules to ever be touched
git config --local --unset-all submodule.active || true
git config --local --add submodule.active external/threadpool
git config --local --add submodule.active external/rovecomm

# Extra safety: make LiDAR a no-op if anything tries to update all submodules
git config --local submodule.data/LiDAR.update none

git submodule sync --recursive
git submodule update --init --recursive external/threadpool external/rovecomm

- name: Setup Pages
uses: actions/configure-pages@v4

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/help_requester.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: recursive
submodules: false
fetch-depth: 0

- name: Fetch all branches and commits
Expand Down
Loading
Loading