Skip to content

Commit

Permalink
Merge branch 'master' into marcoag/update_enviornmen_docs
Browse files Browse the repository at this point in the history
  • Loading branch information
cottsay committed Apr 4, 2024
2 parents 3d088b2 + d6df50a commit 5fe4793
Show file tree
Hide file tree
Showing 56 changed files with 278 additions and 1,115 deletions.
2 changes: 2 additions & 0 deletions .github/actions/release_reconfigure/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ runs:
using: composite
steps:
- id: ros_buildfarm_job
env:
PODMAN_USERNS: keep-id
shell: bash
run: |
echo ::group::Generate job
Expand Down
2 changes: 2 additions & 0 deletions .github/actions/sync_criteria_check/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ runs:
using: composite
steps:
- id: ros_buildfarm_job
env:
PODMAN_USERNS: keep-id
shell: bash
run: |
echo ::group::Generate job
Expand Down
2 changes: 2 additions & 0 deletions .github/actions/trigger/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ runs:
using: composite
steps:
- id: ros_buildfarm_job
env:
PODMAN_USERNS: keep-id
shell: bash
run: |
echo ::group::Generate job
Expand Down
124 changes: 57 additions & 67 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
python: ['2.7', '3.6']
python: ['3.6']
steps:
- name: Check out project
uses: actions/checkout@v2
Expand All @@ -38,8 +38,8 @@ jobs:
- name: Run job
uses: ./.github/actions/audit
with:
ros_distro: melodic
os_code_name: bionic
ros_distro: noetic
os_code_name: focal

ros1_config:
name: ROS 1 Config Validation
Expand All @@ -52,39 +52,12 @@ jobs:
- name: Validate configration
run: validate_config_index.py https://raw.githubusercontent.com/ros-infrastructure/ros_buildfarm_config/production/index.yaml

ros1_devel:
name: ROS 1 Devel
runs-on: ubuntu-20.04
strategy:
matrix:
python: ['2.7', '3.5', '3.6']
build_tool: [null]
include:
- python: '3.6'
build_tool: colcon
steps:
- name: Check out project
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{matrix.python}}
- name: Install dependencies
uses: ./.github/actions/setup
- name: Run job
uses: ./.github/actions/devel
with:
ros_distro: melodic
os_code_name: bionic
build_tool: ${{matrix.build_tool}}
repo: roscpp_core

ros1_doc:
name: ROS 1 Doc
runs-on: ubuntu-20.04
strategy:
matrix:
python: ['2.7', '3.5', '3.6']
python: ['3.5', '3.6']
steps:
- name: Check out project
uses: actions/checkout@v2
Expand All @@ -97,16 +70,16 @@ jobs:
- name: Run job
uses: ./.github/actions/doc
with:
ros_distro: melodic
os_code_name: bionic
ros_distro: noetic
os_code_name: focal
repo: roscpp_core

ros1_prerelease:
name: ROS 1 Prerelease
runs-on: ubuntu-20.04
strategy:
matrix:
python: ['2.7', '3.5', '3.6']
python: ['3.5', '3.6']
steps:
- name: Check out project
uses: actions/checkout@v2
Expand All @@ -119,8 +92,8 @@ jobs:
- name: Run job
uses: ./.github/actions/prerelease
with:
ros_distro: melodic
os_code_name: bionic
ros_distro: noetic
os_code_name: focal
overlay_pkg: roscpp
underlay_repos: roscpp_core

Expand All @@ -129,7 +102,7 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
python: ['2.7', '3.5', '3.6']
python: ['3.5', '3.6']
steps:
- name: Check out project
uses: actions/checkout@v2
Expand All @@ -148,16 +121,16 @@ jobs:
- name: Run job
uses: ./.github/actions/prerelease
with:
ros_distro: melodic
os_code_name: bionic
ros_distro: noetic
os_code_name: focal
source_dir: ${{github.workspace}}/dummy_package

ros1_release:
name: ROS 1 Release
runs-on: ubuntu-20.04
strategy:
matrix:
python: ['2.7', '3.5', '3.6']
python: ['3.5', '3.6']
steps:
- name: Check out project
uses: actions/checkout@v2
Expand All @@ -170,16 +143,16 @@ jobs:
- name: Run job
uses: ./.github/actions/release
with:
ros_distro: melodic
os_code_name: bionic
ros_distro: noetic
os_code_name: focal
pkg_name: rostime

ros1_release_reconfigure:
name: ROS 1 Release Reconfigure
runs-on: ubuntu-20.04
strategy:
matrix:
python: ['2.7', '3.5', '3.6']
python: ['3.5', '3.6']
steps:
- name: Check out project
uses: actions/checkout@v2
Expand All @@ -192,15 +165,15 @@ jobs:
- name: Run job
uses: ./.github/actions/release_reconfigure
with:
ros_distro: melodic
ros_distro: noetic
pkg_names: rostime

ros1_status_pages:
name: ROS 1 Status Pages
runs-on: ubuntu-20.04
strategy:
matrix:
python: ['2.7', '3.5', '3.6']
python: ['3.5', '3.6']
steps:
- name: Check out project
uses: actions/checkout@v2
Expand All @@ -213,14 +186,14 @@ jobs:
- name: Run job
uses: ./.github/actions/status_pages
with:
ros_distro: melodic
ros_distro: noetic

ros1_sync_criteria_check:
name: ROS 1 Sync Criteria Check
runs-on: ubuntu-20.04
strategy:
matrix:
python: ['2.7', '3.5', '3.6']
python: ['3.5', '3.6']
steps:
- name: Check out project
uses: actions/checkout@v2
Expand All @@ -229,15 +202,15 @@ jobs:
- name: Run job
uses: ./.github/actions/sync_criteria_check
with:
ros_distro: melodic
os_code_name: bionic
ros_distro: noetic
os_code_name: focal

ros1_trigger:
name: ROS 1 Trigger
runs-on: ubuntu-20.04
strategy:
matrix:
python: ['2.7', '3.5', '3.6']
python: ['3.5', '3.6']
steps:
- name: Check out project
uses: actions/checkout@v2
Expand All @@ -246,7 +219,7 @@ jobs:
- name: Run job
uses: ./.github/actions/trigger
with:
ros_distro: melodic
ros_distro: noetic

ros2_audit:
name: ROS 2 Audit
Expand All @@ -260,8 +233,8 @@ jobs:
uses: ./.github/actions/audit
with:
config_url: https://raw.githubusercontent.com/ros2/ros_buildfarm_config/ros2/index.yaml
ros_distro: foxy
os_code_name: focal
ros_distro: humble
os_code_name: jammy

ros2_ci:
name: ROS 2 CI
Expand All @@ -276,24 +249,24 @@ jobs:
uses: ./.github/actions/ci
with:
config_url: https://raw.githubusercontent.com/ros2/ros_buildfarm_config/ros2/index.yaml
ros_distro: foxy
os_code_name: focal
ros_distro: humble
os_code_name: jammy
package_selection_args: --packages-up-to ament_flake8
- name: Run job 2
id: underlay2
uses: ./.github/actions/ci
with:
config_url: https://raw.githubusercontent.com/ros2/ros_buildfarm_config/ros2/index.yaml
ros_distro: foxy
os_code_name: focal
ros_distro: humble
os_code_name: jammy
underlay_dirs: ${{steps.underlay1.outputs.install_dir}}
package_selection_args: --packages-skip-up-to ament_flake8 --packages-up-to ament_pep257
- name: Run job 3
uses: ./.github/actions/ci
with:
config_url: https://raw.githubusercontent.com/ros2/ros_buildfarm_config/ros2/index.yaml
ros_distro: foxy
os_code_name: focal
ros_distro: humble
os_code_name: jammy
underlay_dirs: ${{steps.underlay1.outputs.install_dir}} ${{steps.underlay2.outputs.install_dir}}
package_selection_args: --packages-skip-up-to ament_flake8 ament_pep257 --packages-up-to ament_cmake_ros

Expand All @@ -320,12 +293,12 @@ jobs:
uses: ./.github/actions/devel
with:
config_url: https://raw.githubusercontent.com/ros2/ros_buildfarm_config/ros2/index.yaml
ros_distro: foxy
os_code_name: focal
ros_distro: humble
os_code_name: jammy
repo: rcutils

ros2_doc:
name: ROS 2 Doc
ros2_doc_noble:
name: ROS 2 Doc (Noble)
runs-on: ubuntu-20.04
steps:
- name: Check out project
Expand All @@ -337,6 +310,23 @@ jobs:
with:
config_url: https://raw.githubusercontent.com/ros2/ros_buildfarm_config/ros2/index.yaml
ros_distro: rolling
os_code_name: noble
repo: rcl
output_directory: ws/docs_output

ros2_doc_jammy:
name: ROS 2 Doc (Jammy)
runs-on: ubuntu-20.04
steps:
- name: Check out project
uses: actions/checkout@v2
- name: Install dependencies
uses: ./.github/actions/setup
- name: Run job
uses: ./.github/actions/doc
with:
config_url: https://raw.githubusercontent.com/ros2/ros_buildfarm_config/ros2/index.yaml
ros_distro: humble
os_code_name: jammy
repo: rcl
output_directory: ws/docs_output
Expand All @@ -353,8 +343,8 @@ jobs:
uses: ./.github/actions/prerelease
with:
config_url: https://raw.githubusercontent.com/ros2/ros_buildfarm_config/ros2/index.yaml
ros_distro: foxy
os_code_name: focal
ros_distro: humble
os_code_name: jammy
overlay_pkg: rcutils
underlay_repos: ament_cmake_ros

Expand All @@ -371,7 +361,7 @@ jobs:
with:
config_url: https://raw.githubusercontent.com/ros2/ros_buildfarm_config/ros2/index.yaml
ros_distro: rolling
os_code_name: jammy
os_code_name: noble
pkg_name: rcutils

ros2_release_reconfigure:
Expand Down Expand Up @@ -421,7 +411,7 @@ jobs:
with:
config_url: https://raw.githubusercontent.com/ros2/ros_buildfarm_config/ros2/index.yaml
ros_distro: rolling
os_code_name: jammy
os_code_name: noble

ros2_sync_criteria_check_rpm:
name: ROS 2 Sync Criteria Check (RPM)
Expand Down
10 changes: 0 additions & 10 deletions doc/configuration_options.rst
Original file line number Diff line number Diff line change
Expand Up @@ -173,13 +173,6 @@ Description of common options
master which is commonly used to upload artifacts to another host.
This credential id is set in the buildfarm_deployment.

* **Upload destination credential ID**: the ID of the credential entry managed
on the Jenkins master which contains the destination information used to
upload artifacts to another host.
This credential id is set in the buildfarm_deployment.
At present, this value is only used for RPM jobs.


Specific options in release build files
---------------------------------------

Expand Down Expand Up @@ -237,9 +230,6 @@ The following options are valid in version ``2`` (beside the generic options):
* ``upload_credential_id``: the ID of the credential to upload the built
packages to the repository host.

* ``upload_credential_id_pulp``: the ID of the credential to upload the built
RPM packages to the repository host instance of Pulp.

* ``upload_host``: the hostname of the repository host where built packages
shoudl be uploaded to.
Only affects RPM builds at present.
Expand Down
7 changes: 7 additions & 0 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -120,9 +120,16 @@ Another job type can be used locally which is not offered on the build farm.
* `prerelease jobs <jobs/prerelease_jobs.rst>`_ build and test ROS
repositories as well as build and test released ROS packages depending on them


Optimization
------------

If you are going to be running one or more jobs on any machine we recommend `using squid-in-a-can <https://github.com/jpetazzo/squid-in-a-can>`_ to cache downloads.
It can greatly speed up download times and saves a lot of bandwidth.
It's used by all our developers as well as on all the build machines.


Software required to execute jobs
---------------------------------
Beyond the administrative requirements for generating jobs, the only noteworth software for executing jobs whether locally or via Jenkins is a container engine compatible with the Docker client CLI.
Currently, the only engines tested with ``ros_buildfarm`` are the Docker CE or rootless Podman.
Loading

0 comments on commit 5fe4793

Please sign in to comment.