Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support jazzy #955

Merged
merged 22 commits into from
Jul 1, 2024
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
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/[email protected]
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
Loading