-
-
Notifications
You must be signed in to change notification settings - Fork 65
Rebuild January 2025 - switch to rattler-build #229
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
Merged
Tobias-Fischer
merged 126 commits into
RoboStack:main
from
traversaro:rebuild-christmas-2024-linux-64-rattler-build
Jan 6, 2025
Merged
Changes from 60 commits
Commits
Show all changes
126 commits
Select commit
Hold shift + click to select a range
dbb99f9
build 7 - ros_core - linux_64
sonelu 7593258
build 7 - ros_base - linux_64
sonelu f596530
build 7 - perception - linux_64
sonelu 734b28a
cleanup of duplicate packages in the description of ros_core, ros_bas…
sonelu a6a5412
build 7 - simulation - linux_64
sonelu a64192b
build 7 - desktop - linux_64
sonelu b446058
build 7 - desktop_full - linux_64
sonelu bd6755d
all packs above --- end of package support ---
sonelu 6055eb1
Sync with conda-forge pinnings
Tobias-Fischer 83ce4cc
Sync with conda-forge pinnings
Tobias-Fischer 90bb656
Bump version, fix string
Tobias-Fischer d83318e
Bump mutex
Tobias-Fischer eb89cd1
Cleanup
Tobias-Fischer aa6f3e0
Try fix mutex package not found
Tobias-Fischer 41d1430
Try fix
Tobias-Fischer d64ae82
Fix?
Tobias-Fischer 5e12c1e
Update testpr.yml
Tobias-Fischer 04d0664
Test
Tobias-Fischer 9c8ee17
Try fix
Tobias-Fischer b3c6d63
Try fix
Tobias-Fischer c07eda1
Fixup
Tobias-Fischer ab2582c
cleanup comments
sonelu a5073b4
cleanup comments
sonelu 352119d
Fix backward_ros patch
traversaro 4e59004
Delete patch/ros-humble-moveit-core.patch
traversaro 3a8ee6c
Delete patch/ros-humble-moveit-resources-prbt-ikfast-manipulator-plug…
traversaro 0742b27
Delete patch/ros-humble-moveit-simple-controller-manager.patch
traversaro 6dfd619
Explicitly add ros_workspace to packages_select_by_deps as for some r…
traversaro f32a8cb
Update conda_build_config.yaml
traversaro cab2e61
Initial attempt to switch to rattler-build
traversaro c37f0ae
merge latest changes in sonelu's linux-64 branches
traversaro 1eb787c
Use commit hash for vinca version
traversaro 26f955f
Fix compatibility with latest rattler-build
traversaro 4c0a3b2
Fix compatibility with rattler-build
traversaro 3fcb6fd
Fix for rattler-build 0.32
traversaro 7bb5dfb
Bump vinca version for rattler-build 0.32 support
traversaro 164a49d
Remove patches that assume that PYTHON_INSTALL_DIR is an absolute path
traversaro 8560574
Remove conflict leftover
traversaro 4509e27
Refresh additional recipes and add geometric-shapes patch
traversaro 87b901e
Add missing xorg-xorgproto package on libx11 dependency
traversaro 7a02cd5
Backport PR 699 to ros-humble-slam-toolbox.patch
traversaro dbc6993
Update to rattler-build 0.33
traversaro 915507b
Pin to modern libprotobuf version
traversaro 06b1968
More rattler-build 0.33 fixes
traversaro cb8e3bf
Modern protobuf fix
traversaro 038087a
Pin spdlog version
traversaro 9ff3c89
fix typo
traversaro 29fcde2
Update ros-humble-cartographer-ros.patch
traversaro f611fcd
Fix cartographer ros failure with glog 0.7.0
traversaro c400de2
Do not use cdt for OpenGL
traversaro 1127826
Add missing rapidjson-dev rosdep key to robostack.yaml
traversaro 357ebb4
Add missing devel dependenies to pcl-dev rosdep key
traversaro c50a699
Create ros-humble-moveit-ros-benchmarks.patch
Tobias-Fischer 7d07903
Update patch
traversaro 832d69a
Add missing xorg-xorgproto dependencies to libspnav-dev
traversaro bb7090d
incorporate changes from https://github.com/RoboStack/ros-humble/pull…
Tobias-Fischer 9a83eba
Add x-compile fixes from https://github.com/RoboStack/ros-humble/pull…
Tobias-Fischer 1511e12
Add initial tests
traversaro 0927005
Avoid cmp0094 problems in webots-ros2-driver
traversaro 7055749
Update ros-humble-fastrtps.patch
traversaro 05d3500
Remove typo in testpr.yml
traversaro df2047a
Add new requested packages
traversaro 891cd91
ignore .pixi and rattler-build output
Tobias-Fischer 8b0b0ba
Add missing dep on patch for rviz_ogre_vendor
Tobias-Fischer 8fd71ad
Update/remove realtime-tools patches
Tobias-Fischer 1ea6e5f
Fixup logic in pixi.toml, make it multi-platform capable
Tobias-Fischer 309da6a
Undo latest commit on moveit-core which does not work on osx
Tobias-Fischer b624545
Fix sysroot and basic_string issues on osx for rviz-ogre-vendor
Tobias-Fischer 6e86551
Bump osx-arm64 version
Tobias-Fischer 46e67a7
Bump osx-64 and linux-aarch64
Tobias-Fischer 52d81ca
Add untested cross-compile patch for linux-aarch64
Tobias-Fischer 002dfc9
Add missing patch for osx
Tobias-Fischer fb02c68
Complete local osx-arm64 build
Tobias-Fischer 137738f
Sync with jazzy
Tobias-Fischer 0177b20
Update vinca commit
traversaro 9f626e8
Rebuild also Windows
traversaro b5af065
Add git dependency on linux
traversaro 9536f09
Update testpr.yml
traversaro 6068648
Update testpr.yml
traversaro 4e1151f
Fix windows build and add tests
traversaro 12eca98
Bump vinca version
traversaro 5bd2e5a
Update testpr.yml
traversaro 4cfed36
Fix iceoryx relocatability issues and long path issues
traversaro c371df4
Update ros-humble-controller-interface.win.patch
Tobias-Fischer 47d432d
Add early failure if backward-ros CMake config files have problems
traversaro 6b02d8e
Fix build of backward-ros on Windows
traversaro 6792f61
Add python rcutils test
traversaro 1b65fdc
Add moveit_visual_tools to all platforms
traversaro c63da3d
Add ament_cmake_vendor_package on all platforms
traversaro b715e80
Add rosbag2_storage_mcap on all platforms
traversaro b7d7a1f
Add workaround for rattler-build windows issue
traversaro 4ac9004
Add fix more missing symbols exported in steering-controllers-library
traversaro b2f33b8
Add workaround for rattler-build windows relocability problems
traversaro c24771a
Fix control-toolbox patch
traversaro 108a097
Add windows support for kinematics-interface
traversaro e5fb4ba
Fix compilation on Windows
Tobias-Fischer 18b8704
Skip apex_containers on Windows
traversaro e49f484
fix patch
traversaro 15db7a0
Create ros-noetic-avt-vimba-camera.patch
Tobias-Fischer 37ac27d
Skip avt_vimba_camera on Windows
traversaro 82c5186
patch avt_vimba_camera on Windows
traversaro 247bebd
Skip avt_vimba_camera on Windows
traversaro 4110398
Cumulative windows fixes
traversaro 77a120e
Fix build of rviz_ogre_vendor in Windows
traversaro 7606684
Update windows patch for ros-humble-image-publisher
traversaro 223f7c0
Fixes for building rosx-introspection
traversaro d7d25b7
Add gazebo-ros2-control Windows patch
traversaro 9151fa3
Add gripper-controllers patch
traversaro b98a921
Skip gtsam on Windows
traversaro 88b20c8
Rename ros-humble-rosx-introspection.patch to ros-humble-rosx-introsp…
Tobias-Fischer b159317
Use rosx-introspection patch on unix; skip further ros-gz packages on…
Tobias-Fischer 5e4efed
Explictly define platforms
Tobias-Fischer d6ae3e5
Fix
Tobias-Fischer d2e132f
Typo
Tobias-Fischer d39c6da
tests only on native
Tobias-Fischer a6cffb0
Test
Tobias-Fischer 7fc63dc
Fix
Tobias-Fischer eb5b651
Deactivate remaining ros-ign packages
Tobias-Fischer 6a43a65
Trigger
Tobias-Fischer fd2cd81
skip tests on aarch64
Tobias-Fischer 7bc7e01
More Windows fixes
traversaro fb81e75
Simplify workflow, run aarch on cirun
Tobias-Fischer 52c06f7
Do not skip aarch tests now that we run on native
Tobias-Fischer c00873d
Trigger aarch64
Tobias-Fischer e31c1b6
Cleanup
Tobias-Fischer 0218b40
Skip non-working packages on Windows
traversaro File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,6 +14,7 @@ jobs: | |
matrix: | ||
os: [ubuntu-latest, macos-latest, macos-14, windows-2019] | ||
platform: [linux-64, linux-aarch64, osx-64, win-64, osx-arm64] | ||
environment: [beta] | ||
exclude: | ||
- os: ubuntu-latest | ||
platform: win-64 | ||
|
@@ -46,25 +47,25 @@ jobs: | |
- os: windows-2019 | ||
platform: osx-arm64 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal token | ||
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo | ||
|
||
- uses: prefix-dev/[email protected] | ||
with: | ||
environments: ${{ matrix.environment }} | ||
frozen: true | ||
|
||
# Workaround for https://github.com/RoboStack/ros-humble/pull/141#issuecomment-1941919816 | ||
- name: Clean up PATH | ||
if: contains(matrix.os, 'windows') | ||
uses: egor-tensin/cleanup-path@v4 | ||
with: | ||
# cygpath in C:\Program Files\Git\usr\bin is used by install micromamba | ||
# git in C:\Program Files\Git\bin is used by pip install git+ | ||
# git in C:\Program Files\Git\bin is used by pip install git+ | ||
dirs: 'C:\Program Files\Git\usr\bin;C:\Program Files\Git\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin' | ||
|
||
- uses: actions/checkout@master | ||
- name: install micromamba | ||
uses: mamba-org/setup-micromamba@main | ||
with: | ||
environment-file: .github/testpr_environment.yml | ||
condarc: | | ||
channels: | ||
- robostack-staging | ||
- conda-forge | ||
|
||
- shell: bash -l {0} | ||
if: matrix.platform == 'linux-aarch64' | ||
run: | | ||
|
@@ -81,17 +82,6 @@ jobs: | |
sudo apt-get update | ||
sudo apt-get install -y libgl1-mesa-dev libglu1-mesa-dev libx11-dev libxi-dev libxmu-dev | ||
|
||
- shell: bash -l {0} | ||
run: | | ||
conda config --show channels | grep defaults && conda config --remove channels defaults | ||
conda info | ||
conda config --show | ||
micromamba install -y pip rospkg networkx "catkin_pkg>=0.4.16" "ruamel.yaml>=0.16.6" "rosdistro>=0.8.0" "empy>=3.3.4" boa | ||
- name: install vinca | ||
shell: bash -l {0} | ||
run: | | ||
# use no-deps for now, otherwise problems with ruamel. | ||
pip install git+https://github.com/RoboStack/vinca.git --no-deps | ||
# For some reason, the Strawberry perl's pkg-config is found | ||
# instead of the conda's one, so let's delete the /c/Strawberry directory | ||
- name: Debug pkg-config problem | ||
|
@@ -121,83 +111,77 @@ jobs: | |
shell: bash -l {0} | ||
if: steps.filecheck.outputs.LINUX_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-64' | ||
run: | | ||
git clean -fdx | ||
cp vinca_linux_64.yaml vinca.yaml | ||
vinca --platform linux-64 | ||
ls | ||
cat recipe.yaml | ||
mkdir -p recipes | ||
$HOME/.pixi/bin/pixi run -e beta -v vinca --platform linux-64 -m -n | ||
ls -la recipes | ||
- name: Generate recipes for linux-aarch64 | ||
shell: bash -l {0} | ||
if: steps.filecheck.outputs.LINUX_AARCH_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-aarch64' | ||
run: | | ||
git clean -fdx | ||
cp vinca_linux_aarch64.yaml vinca.yaml | ||
vinca --platform linux-aarch64 | ||
ls | ||
cat recipe.yaml | ||
mkdir -p recipes | ||
$HOME/.pixi/bin/pixi run -e beta -v vinca --platform linux-aarch64 -m -n | ||
ls -la recipes | ||
- name: Generate recipes for osx-64 | ||
shell: bash -l {0} | ||
if: steps.filecheck.outputs.OSX_YAML_CHANGED == 1 && matrix.os == 'macos-latest' && matrix.platform == 'osx-64' | ||
run: | | ||
git clean -fdx | ||
cp vinca_osx.yaml vinca.yaml | ||
vinca --platform osx-64 | ||
ls | ||
cat recipe.yaml | ||
mkdir -p recipes | ||
$HOME/.pixi/bin/pixi run -e beta -v vinca --platform osx-64 -m -n | ||
ls -la recipes | ||
- name: Generate recipes for osx-arm64 | ||
shell: bash -l {0} | ||
if: steps.filecheck.outputs.OSX_ARM_YAML_CHANGED == 1 && matrix.os == 'macos-14' && matrix.platform == 'osx-arm64' | ||
run: | | ||
git clean -fdx | ||
cp vinca_osx_arm64.yaml vinca.yaml | ||
vinca --platform osx-arm64 | ||
ls | ||
cat recipe.yaml | ||
mkdir -p recipes | ||
$HOME/.pixi/bin/pixi run -e beta -v vinca --platform osx-arm64 -m -n | ||
ls -la recipes | ||
- name: Generate recipes for win-64 | ||
shell: bash -l {0} | ||
if: steps.filecheck.outputs.WIN_YAML_CHANGED == 1 && matrix.os == 'windows-2019' && matrix.platform == 'win-64' | ||
run: | | ||
echo "CONDA_BLD_PATH=C:\\bld\\" >> $GITHUB_ENV | ||
git clean -fdx | ||
cp vinca_win.yaml vinca.yaml | ||
vinca --platform win-64 | ||
ls | ||
cat recipe.yaml | ||
mkdir -p recipes | ||
$HOME/.pixi/bin/pixi run -e beta -v vinca --platform win-64 -m -n | ||
ls -la recipes cp vinca_win.yaml vinca.yaml | ||
- name: Check if there are packages to be built | ||
id: newrecipecheck | ||
shell: bash -l {0} | ||
run: | | ||
# continue on error | ||
set +e | ||
grep -q "outputs: \[\]" recipe.yaml > /dev/null | ||
test ! -d recipes | ||
echo "::set-output name=RECIPE_CREATED::${?}" | ||
- name: Build recipes for linux-64 | ||
shell: bash -l {0} | ||
run: | | ||
boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml | ||
boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml | ||
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.LINUX_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-64' | ||
run: | | ||
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros2-distro-mutex/ -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing | ||
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing | ||
- name: Build recipes for linux-aarch64 | ||
shell: bash -l {0} | ||
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.LINUX_AARCH_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-aarch64' | ||
run: | | ||
boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml --target-platform=linux-aarch64 | ||
boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml --target-platform=linux-aarch64 | ||
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros2-distro-mutex/ -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing | ||
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing | ||
- name: Build recipes for osx-64 | ||
shell: bash -l {0} | ||
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.OSX_YAML_CHANGED == 1 && matrix.os == 'macos-latest' && matrix.platform == 'osx-64' | ||
run: | | ||
boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml | ||
boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml | ||
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros2-distro-mutex/ -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing | ||
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing | ||
- name: Build recipes for osx-arm64 | ||
shell: bash -l {0} | ||
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.OSX_ARM_YAML_CHANGED == 1 && matrix.os == 'macos-14' && matrix.platform == 'osx-arm64' | ||
run: | | ||
boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml --target-platform=osx-arm64 | ||
boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml | ||
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros2-distro-mutex/ -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing | ||
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing | ||
- name: Build recipes for win-64 | ||
shell: bash -l {0} | ||
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.WIN_YAML_CHANGED == 1 && matrix.os == 'windows-2019' && matrix.platform == 'win-64' | ||
run: | | ||
boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml | ||
boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml | ||
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros2-distro-mutex/ -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing | ||
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,51 +1,25 @@ | ||
gazebo: | ||
- '11' | ||
libpqxx: | ||
- 6 | ||
numpy: | ||
- 1.23 | ||
ogre: | ||
- 1.12.* | ||
setuptools: | ||
- 69 | ||
|
||
cdt_name: # [linux] | ||
- cos7 # [linux] | ||
- 1.26 | ||
libprotobuf: | ||
- 5.28.2 | ||
protobuf: | ||
- 5.28.2 | ||
spdlog: | ||
- 1.14 | ||
|
||
cdt_name: | ||
- ${{ "cos7" if linux }} | ||
|
||
python: | ||
- 3.11.* *_cpython | ||
python_impl: | ||
- cpython | ||
|
||
# Project overrides | ||
macos_min_version: # [osx and x86_64] | ||
- 10.14 # [osx and x86_64] | ||
macos_machine: # [osx] | ||
- x86_64-apple-darwin13.4.0 # [osx and x86_64] | ||
- arm64-apple-darwin20.0.0 # [osx and arm64] | ||
MACOSX_DEPLOYMENT_TARGET: # [osx] | ||
- 11.0 # [osx and arm64] | ||
- 10.14 # [osx and x86_64] | ||
CONDA_BUILD_SYSROOT: | ||
- /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk # [osx and arm64] | ||
|
||
|
||
# fix build metadata, needed for mapviz and moveit-core | ||
replacements: | ||
all_replacements: | ||
- tag: 'pkg-config build metadata' | ||
glob_patterns: | ||
- '*.pc' | ||
regex_re: '(?:-L|-I)?\"?([^;\s]+\/sysroot\/)' | ||
replacement_re: '$(CONDA_BUILD_SYSROOT_S)' | ||
regex_rg: '([^;\s"]+/sysroot/)' | ||
- tag: 'CMake build metadata' | ||
glob_patterns: | ||
- '*.cmake' | ||
regex_re: '([^;\s"]+/sysroot)' | ||
replacement_re: '$ENV{CONDA_BUILD_SYSROOT}' | ||
- tag: 'CMake build metadata OSX' | ||
glob_patterns: | ||
- '*.cmake' | ||
regex_re: '([^;\s"]+/MacOSX\d*\.?\d*\.sdk)' | ||
replacement_re: '$ENV{CONDA_BUILD_SYSROOT}' | ||
c_stdlib: | ||
- ${{ "sysroot" if linux }} | ||
- ${{ "macosx_deployment_target" if osx }} | ||
- ${{ "vs" if win }} | ||
c_stdlib_version: | ||
- ${{ "2.17" if linux }} | ||
- ${{ "10.14" if osx and x86_64 }} | ||
- ${{ "11.0" if osx and arm64 }} |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.