Skip to content

Commit b21e268

Browse files
Integrate website into tests (#235)
* Run website by default * Run website by default in CI * Pin mongodb major version * Clean and populate sailbot_db before running tests * Checkout net when running local pathfinding * Print website logs * Run setup script first * Run container first * Cleanup * Run setup automatically after rebuild * Forward website port in compose file * Checkout website repo in local pathfinding CI * Another missing repo for local pathfinding ci * Revert local pathfinding branch --------- Co-authored-by: Sean Donaghy <118148642+SPDonaghy@users.noreply.github.com>
1 parent 6166b71 commit b21e268

File tree

8 files changed

+59
-38
lines changed

8 files changed

+59
-38
lines changed

.devcontainer/devcontainer.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,12 @@
33
"name": "Sailbot Workspace",
44
"dockerComposeFile": [
55
// Uncomment the files containing the programs you need
6-
"docker-compose.db.yml", // mongodb
76
// "docker-compose.docs.yml", // docs
8-
// "docker-compose.website.yml", // website
7+
"docker-compose.website.yml", // website
98

109
"docker-compose.yml"
1110
],
1211
"forwardPorts": [
13-
3005, // website
1412
8000 // docs
1513
],
1614
"service": "sailbot-workspace",
@@ -19,6 +17,7 @@
1917
"containerEnv": {
2018
"LIBGL_ALWAYS_SOFTWARE": "1" // Needed for software rendering of opengl
2119
},
20+
"postCreateCommand": "./setup.sh",
2221
// Set *default* container specific settings.json values on container create.
2322
"customizations": {
2423
"codespaces": {

.devcontainer/docker-compose.db.yml

Lines changed: 0 additions & 23 deletions
This file was deleted.

.devcontainer/docker-compose.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ services:
77
build:
88
context: .
99
dockerfile: Dockerfile
10+
ports:
11+
- "3005:3005"
1012
volumes:
1113
- ..:/workspaces/sailbot_workspace:cached
1214
- sailbot-new-project-bashhistory:/home/ros/commandhistory:delegated
@@ -22,6 +24,23 @@ services:
2224
- seccomp:unconfined
2325
- apparmor:unconfined
2426

27+
# URL: mongodb://localhost:27017
28+
mongodb:
29+
image: mongo:7
30+
restart: unless-stopped
31+
volumes:
32+
- mongodb-data:/data/db:delegated
33+
34+
# Runs on the same network as the workspace container, allows "forwardPorts" in devcontainer.json function.
35+
network_mode: service:sailbot-workspace
36+
37+
# Uncomment to change startup options
38+
# environment:
39+
# MONGO_INITDB_ROOT_USERNAME: root
40+
# MONGO_INITDB_ROOT_PASSWORD: example
41+
# MONGO_INITDB_DATABASE: your-database-here
42+
2543
volumes:
44+
mongodb-data:
2645
sailbot-new-project-bashhistory:
2746
sailbot-new-project-roslog:

.github/actions/ament-lint/action.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ runs:
1414
steps:
1515
- name: Build Containers
1616
shell: bash
17-
run: docker-compose -f .devcontainer/docker-compose.yml build
17+
run: docker compose -f .devcontainer/docker-compose.yml build
1818

1919
- name: Run Containers
2020
shell: bash
21-
run: docker-compose -f .devcontainer/docker-compose.yml up -d
21+
run: docker compose -f .devcontainer/docker-compose.yml up -d
2222

2323
- name: Run Tests
2424
shell: bash
25-
run: docker-compose -f .devcontainer/docker-compose.yml exec -T sailbot-workspace /bin/bash -c "export LINTER=${{ inputs.linter}} && export DISABLE_VCS=${{ inputs.disable_vcs }} && cd /workspaces/sailbot_workspace && .github/actions/ament-lint/run.sh"
25+
run: docker compose -f .devcontainer/docker-compose.yml exec -T sailbot-workspace /bin/bash -c "export LINTER=${{ inputs.linter}} && export DISABLE_VCS=${{ inputs.disable_vcs }} && cd /workspaces/sailbot_workspace && .github/actions/ament-lint/run.sh"

.github/actions/checkout/action.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,22 @@ runs:
2323
repository: UBCSailbot/custom_interfaces
2424
path: src/custom_interfaces
2525

26+
- name: Checkout network_systems ROS package
27+
if: ${{ inputs.repository != 'sailbot_workspace' && inputs.repository == 'local_pathfinding' }}
28+
uses: actions/checkout@v4
29+
with:
30+
repository: UBCSailbot/network_systems
31+
path: src/network_systems
32+
33+
- name: Checkout website ROS package
34+
if: ${{ inputs.repository != 'sailbot_workspace' && inputs.repository == 'local_pathfinding' }}
35+
uses: actions/checkout@v4
36+
with:
37+
repository: UBCSailbot/website
38+
path: src/website
39+
2640
- name: Checkout virtual_iridium repository
27-
if: ${{ inputs.repository != 'sailbot_workspace' && inputs.repository == 'network_systems' }}
41+
if: ${{ inputs.repository != 'sailbot_workspace' && (inputs.repository == 'network_systems' || inputs.repository == 'local_pathfinding') }}
2842
uses: actions/checkout@v4
2943
with:
3044
repository: UBCSailbot/virtual_iridium

.github/actions/clang-tidy/action.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ runs:
1111
steps:
1212
- name: Build Containers
1313
shell: bash
14-
run: docker-compose -f .devcontainer/docker-compose.yml build
14+
run: docker compose -f .devcontainer/docker-compose.yml build
1515

1616
- name: Run Containers
1717
shell: bash
18-
run: docker-compose -f .devcontainer/docker-compose.yml up -d
18+
run: docker compose -f .devcontainer/docker-compose.yml up -d
1919

2020
- name: Run Tests
2121
shell: bash
22-
run: docker-compose -f .devcontainer/docker-compose.yml exec -T sailbot-workspace /bin/bash -c "export DISABLE_VCS=${{ inputs.disable_vcs }} && cd /workspaces/sailbot_workspace && .github/actions/clang-tidy/run.sh"
22+
run: docker compose -f .devcontainer/docker-compose.yml exec -T sailbot-workspace /bin/bash -c "export DISABLE_VCS=${{ inputs.disable_vcs }} && cd /workspaces/sailbot_workspace && .github/actions/clang-tidy/run.sh"

.github/actions/test/action.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,17 @@ inputs:
99
runs:
1010
using: "composite"
1111
steps:
12-
- name: Build Containers
12+
# TODO: remove once monorepo and combine website docker compose into main one
13+
- name: Setup Code
1314
shell: bash
14-
run: docker-compose -f .devcontainer/docker-compose.yml -f .devcontainer/docker-compose.db.yml build
15+
run: |
16+
docker compose -f .devcontainer/docker-compose.yml up -d
17+
docker compose -f .devcontainer/docker-compose.yml exec -T sailbot-workspace /bin/bash -c "export DISABLE_VCS=${{ inputs.disable_vcs }} && cd /workspaces/sailbot_workspace && ./setup.sh"
1518
1619
- name: Run Containers
1720
shell: bash
18-
run: docker-compose -f .devcontainer/docker-compose.yml -f .devcontainer/docker-compose.db.yml up -d
21+
run: docker compose -f .devcontainer/docker-compose.yml -f .devcontainer/docker-compose.website.yml up -d
1922

2023
- name: Run Tests
2124
shell: bash
22-
run: docker-compose -f .devcontainer/docker-compose.yml -f .devcontainer/docker-compose.db.yml exec -T sailbot-workspace /bin/bash -c "export DISABLE_VCS=${{ inputs.disable_vcs }} && cd /workspaces/sailbot_workspace && .github/actions/test/run.sh"
25+
run: docker compose -f .devcontainer/docker-compose.yml -f .devcontainer/docker-compose.website.yml exec -T sailbot-workspace /bin/bash -c "export DISABLE_VCS=${{ inputs.disable_vcs }} && cd /workspaces/sailbot_workspace && .github/actions/test/run.sh"

test.sh

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,16 @@ trap 'exit' INT TERM
1313
trap 'signal_handler' EXIT
1414

1515
if [ -f install/local_setup.bash ]; then source install/local_setup.bash; fi
16-
if [ -d src/network_systems ]; then ./run_virtual_iridium.sh &> /dev/null & fi
16+
17+
NET_DIR=src/network_systems
18+
if [ -d $NET_DIR ]; then
19+
./run_virtual_iridium.sh &> /dev/null &
20+
pushd $NET_DIR
21+
./scripts/sailbot_db sailbot_db --clear
22+
./scripts/sailbot_db sailbot_db --populate
23+
popd
24+
fi
25+
1726
colcon test --packages-ignore virtual_iridium --merge-install --event-handlers console_cohesion+
1827
colcon test-result
1928
exit 0

0 commit comments

Comments
 (0)