Skip to content

Commit

Permalink
support jazzy (#955)
Browse files Browse the repository at this point in the history
* remove .venv

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>

* cleanup

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>

* bootstrap pipenv in venv

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>

* jazzy

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>

* updating images

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>

* trigger workflow

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>

* update workflow

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>

* update scripts

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>

* set concurrency

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>

* update docker workflow

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>

* update docker workflow

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>

* trigger workflow

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>

* fix source

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>

* undo push nightly

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>

* update workflows

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>

* update workflows

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>

* update workflows

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>

* update workflows

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>

* update workflows

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>

* force install pipenv even if it already exist on the system

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>

* Update README.md

Co-authored-by: Aaron Chong <aaronchongth@gmail.com>

---------

Signed-off-by: Teo Koon Peng <teokoonpeng@gmail.com>
Co-authored-by: Aaron Chong <aaronchongth@gmail.com>
  • Loading branch information
koonpeng and aaronchongth authored Jul 1, 2024
1 parent bb88e1c commit 07f09ab
Show file tree
Hide file tree
Showing 24 changed files with 175 additions and 2,468 deletions.
12 changes: 1 addition & 11 deletions .github/actions/bootstrap/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,8 @@ inputs:
runs:
using: composite
steps:
- uses: pnpm/action-setup@v2.2.2
with:
version: 'latest'
- uses: actions/setup-node@v2
with:
node-version: '20'
cache: 'pnpm'
- name: Install pipenv
run: pip3 install pipenv
shell: bash
- name: Install dependencies
run: pnpm install -w --filter ${{ inputs.package }}... --no-frozen-lockfile
run: pnpm install -w --filter ${{ inputs.package }}...
shell: bash
- name: Build
if: '!${{ inputs.skip-build }}'
Expand Down
34 changes: 34 additions & 0 deletions .github/minimal-rmf/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
ARG BASE_IMAGE=docker.io/ros:jazzy-ros-base
FROM $BASE_IMAGE
ARG BRANCH=main
ARG ROS_DISTRO=jazzy

### build minimal rmf

RUN apt update && apt install -y curl

# # fetch sources
RUN mkdir -p /rmf && cd /rmf \
&& curl -sL https://github.com/open-rmf/rmf_internal_msgs/archive/refs/heads/$BRANCH.tar.gz -o rmf_internal_msgs.tar.gz \
&& curl -sL https://github.com/open-rmf/rmf_building_map_msgs/archive/refs/heads/$BRANCH.tar.gz -o rmf_building_map_msgs.tar.gz \
&& mkdir -p /rmf/src/rmf/rmf_internal_msgs && tar zxf rmf_internal_msgs.tar.gz -C /rmf/src/rmf/rmf_internal_msgs --strip-components=1 && rm rmf_internal_msgs.tar.gz \
&& mkdir -p /rmf/src/rmf/rmf_building_map_msgs && tar zxf rmf_building_map_msgs.tar.gz -C /rmf/src/rmf/rmf_building_map_msgs --strip-components=1 && rm rmf_building_map_msgs.tar.gz

RUN rosdep update && rosdep install --from-paths /rmf/src -yi

RUN cd /rmf \
&& . /opt/ros/$ROS_DISTRO/setup.sh \
&& colcon build --merge-install --install-base /opt/rmf --cmake-args -DCMAKE_BUILD_TYPE=Release \
&& rm -rf /rmf

# install tools for rmf-web

RUN curl -fsSL https://get.pnpm.io/install.sh | bash -
# shell runs in non-interactive mode, which does not source .bashrc so we need to set the PATH manually
ENV PNPM_HOME /root/.local/share/pnpm
ENV PATH "$PNPM_HOME:$PATH"

# nodejs seems to have changed the official mirror, the default in pnpm is very slow now
RUN pnpm config -g set 'node-mirror:release' https://nodejs.org/dist && pnpm env use --global lts

RUN apt update && apt install -y python3-venv
12 changes: 10 additions & 2 deletions .github/workflows/api-client.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,24 @@ on:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
unit-tests:
name: Unit Tests
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
container:
image: ghcr.io/${{ github.repository }}/minimal-rmf
credentials:
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
defaults:
run:
shell: bash
working-directory: packages/api-client
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: bootstrap
uses: ./.github/actions/bootstrap
with:
Expand Down
15 changes: 8 additions & 7 deletions .github/workflows/api-server.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,18 @@ on:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CI: true
PIPENV_VERBOSITY: -1
jobs:
tests:
name: Tests
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
container:
image: ghcr.io/${{ github.repository }}/e2e
image: ghcr.io/${{ github.repository }}/minimal-rmf
credentials:
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -24,19 +27,17 @@ jobs:
shell: bash
working-directory: packages/api-server
steps:
- uses: actions/checkout@v2
- name: setup python
run: apt update && apt install -y python3-venv python-is-python3
- uses: actions/checkout@v4
- name: bootstrap
uses: ./.github/actions/bootstrap
with:
package: api-server
- name: tests
run: |
. /rmf_demos_ws/install/setup.bash
. /opt/rmf/setup.bash
pnpm run lint
pnpm run test:cov -v
pipenv run python -m coverage xml
../../.venv/bin/python -m coverage xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/dashboard-e2e.yml.disabled
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ env:
jobs:
dashboard-e2e:
name: Dashboard e2e
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
container:
image: ghcr.io/${{ github.repository }}/e2e
credentials:
Expand All @@ -26,11 +26,11 @@ jobs:
BROWSERSTACK_BUILD: ${{ github.head_ref }}:${{ github.event.number }}
RMW_IMPLEMENTATION: rmw_cyclonedds_cpp
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: setup python
run: apt update && apt install -y python3-venv python-is-python3
- name: install rmw-cyclonedds-cpp
run: apt install -y ros-humble-rmw-cyclonedds-cpp
run: apt install -y ros-jazzy-rmw-cyclonedds-cpp
- name: bootstrap
uses: ./.github/actions/bootstrap
with:
Expand Down
15 changes: 7 additions & 8 deletions .github/workflows/dashboard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,17 @@ on:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CI: true
jobs:
unit-tests:
name: Unit Tests
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
container:
image: ghcr.io/${{ github.repository }}/e2e
image: ghcr.io/${{ github.repository }}/minimal-rmf
credentials:
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -27,18 +30,14 @@ jobs:
shell: bash
working-directory: packages/dashboard
steps:
- uses: actions/checkout@v2
- name: setup python
run: apt update && apt install -y python3-venv python-is-python3
- uses: actions/checkout@v4
- name: bootstrap
env:
NODE_OPTIONS: '--max_old_space_size=4096'
uses: ./.github/actions/bootstrap
with:
package: rmf-dashboard
skip-build: true
- name: unit test
run: . /rmf_demos_ws/install/setup.bash && pnpm run test:coverage
run: pnpm run test:coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/ghpages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
container:
image: ghcr.io/${{ github.repository }}/e2e
image: ghcr.io/${{ github.repository }}/minimal-rmf
credentials:
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -43,15 +43,13 @@ jobs:
uses: actions/checkout@v3
- name: Setup Pages
uses: actions/configure-pages@v3
- name: setup python
run: apt update && apt install -y python3-venv python-is-python3
- name: bootstrap
uses: ./.github/actions/bootstrap
with:
package: api-server
- name: Extract docs
run: |
. /rmf_demos_ws/install/setup.bash
. /opt/rmf/install/setup.bash
pnpm run generate-docs
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
Expand Down
102 changes: 53 additions & 49 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,60 +3,64 @@ on:
schedule:
# 2am SGT
- cron: '0 18 * * *'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-docker-images:
name: Push Docker images to GitHub Packages
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v2
- name: Push e2e image to GitHub Packages
uses: docker/build-push-action@v1
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to docker
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
registry: ghcr.io
repository: ${{ github.repository }}/e2e
tags: latest
path: docker
dashboard-e2e:
strategy:
matrix:
npm: ['latest']
fail-fast: false
needs: build-docker-images
name: Dashboard e2e
runs-on: ubuntu-22.04
container:
image: ghcr.io/${{ github.repository }}/e2e
options: --privileged --ipc=host
defaults:
run:
shell: bash
working-directory: packages/dashboard-e2e
env:
BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }}
BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
BROWSERSTACK_BUILD: ${{ github.head_ref }}:${{ github.event.number }}
steps:
- uses: actions/checkout@v2
- name: bootstrap
uses: ./.github/actions/bootstrap
with:
package: rmf-dashboard-e2e
skip-build: true
- name: test
uses: nick-fields/retry@v2
with:
timeout_minutes: 20
max_attempts: 3
command: |
. /rmf_demos_ws/install/setup.bash
cd packages/dashboard-e2e
pnpm test
shell: bash
- name: upload artifacts
uses: actions/upload-artifact@v2
if: always()
- name: Build and push
uses: docker/build-push-action@v5
with:
name: artifacts
path: packages/dashboard-e2e/artifacts
push: true
tags: ghcr.io/${{ github.repository }}/minimal-rmf
context: .github/minimal-rmf
# dashboard-e2e:
# strategy:
# matrix:
# npm: ['latest']
# fail-fast: false
# needs: build-docker-images
# name: Dashboard e2e
# runs-on: ubuntu-24.04
# container:
# image: ghcr.io/${{ github.repository }}/e2e
# options: --privileged --ipc=host
# defaults:
# run:
# shell: bash
# working-directory: packages/dashboard-e2e
# steps:
# - uses: actions/checkout@v4
# - name: bootstrap
# uses: ./.github/actions/bootstrap
# with:
# package: rmf-dashboard-e2e
# skip-build: true
# - name: test
# uses: nick-fields/retry@v2
# with:
# timeout_minutes: 20
# max_attempts: 3
# command: |
# . /rmf_demos_ws/install/setup.bash
# cd packages/dashboard-e2e
# pnpm test
# shell: bash
# - name: upload artifacts
# uses: actions/upload-artifact@v2
# if: always()
# with:
# name: artifacts
# path: packages/dashboard-e2e/artifacts
16 changes: 10 additions & 6 deletions .github/workflows/react-components.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,26 @@ on:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CI: true
jobs:
unit-tests:
name: Unit Tests
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
container:
image: ghcr.io/${{ github.repository }}/minimal-rmf
credentials:
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
defaults:
run:
shell: bash
working-directory: packages/react-components
env:
BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }}
BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
BROWSERSTACK_BUILD: ${{ github.head_ref }}:${{ github.event.number }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: bootstrap
uses: ./.github/actions/bootstrap
with:
Expand Down
12 changes: 10 additions & 2 deletions .github/workflows/rmf-auth.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,26 @@ on:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CI: true
jobs:
unit-tests:
name: Unit Tests
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
container:
image: ghcr.io/${{ github.repository }}/minimal-rmf
credentials:
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
defaults:
run:
shell: bash
working-directory: packages/rmf-auth
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: bootstrap
uses: ./.github/actions/bootstrap
with:
Expand Down
Loading

0 comments on commit 07f09ab

Please sign in to comment.