Bump protobufjs from 7.2.2 to 7.2.5 #666
Workflow file for this run
This file contains 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
name: CI | |
on: | |
push: | |
branches: [main] | |
tags: ["**"] | |
pull_request: | |
branches: ["*"] | |
jobs: | |
rust: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install common dependencies | |
uses: ./.github/actions/common-deps | |
- uses: arduino/setup-protoc@v3 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
version: "29.x" | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
- name: Ensure generated protobuf schemas are up to date | |
run: cargo run --bin foxglove-proto-gen && git diff --exit-code | |
- run: cargo fmt --all --check | |
- run: cargo build --verbose | |
- run: cargo clippy --no-deps --all-targets --tests -- -D warnings | |
- run: cargo test --features unstable --verbose | |
timeout-minutes: 10 | |
- run: cargo publish --package foxglove --dry-run | |
- run: cargo publish --package foxglove | |
if: startsWith(github.ref, 'refs/tags/rust/v') | |
env: | |
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} | |
typescript: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- run: corepack enable | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: yarn | |
registry-url: https://registry.npmjs.org | |
- name: Install Flatbuffer compiler | |
run: | | |
curl -LO https://github.com/google/flatbuffers/releases/download/v23.1.21/Linux.flatc.binary.clang++-12.zip | |
echo "359dbbf56153cc1b022170a228adfde4199f67dc Linux.flatc.binary.clang++-12.zip" | shasum -a 1 -c | |
unzip Linux.flatc.binary.clang++-12.zip | |
rm Linux.flatc.binary.clang++-12.zip | |
sudo mv flatc /usr/local/bin | |
- uses: arduino/setup-protoc@v3 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
version: "29.x" | |
- run: yarn install --immutable | |
- run: yarn lint:ci | |
# must run this first because it copies the jsonschema directory | |
- run: yarn workspace @foxglove/schemas build | |
# typecheck remaining files in the repo | |
- run: yarn build | |
- run: yarn test | |
- name: Ensure generated files are up to date | |
run: | | |
yarn update-generated-files | |
git add --all | |
changes=$(git status --porcelain) | |
if [ -n "$changes" ]; then | |
echo "::error::The following generated files need to be updated. Run 'yarn update-generated-files' to update them." | |
echo "$changes" | |
echo "" | |
git diff --cached | |
exit 1 | |
else | |
echo "Generated schemas are up to date!" | |
fi | |
- name: Validate Flatbuffer definitions | |
run: | | |
output=$(flatc --require-explicit-ids --ts -o /dev/null ./schemas/flatbuffer/*.fbs) | |
if [ -n "$output" ]; then | |
echo "::error::Flatbuffer schema compilation had warnings or errors. Fix them to proceed:" | |
echo "$output" | |
exit 1 | |
fi | |
- name: Validate protobuf definitions | |
run: protoc --proto_path=schemas/proto schemas/proto/**/*.proto --descriptor_set_out=/dev/null | |
- name: Publish to NPM | |
if: startsWith(github.ref, 'refs/tags/typescript/v') | |
run: yarn npm publish --access public | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} | |
ros: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- docker_image: rostooling/setup-ros-docker:ubuntu-focal-ros-noetic-ros-base-latest | |
ros_distribution: noetic | |
ros_version: 1 | |
- docker_image: rostooling/setup-ros-docker:ubuntu-focal-ros-foxy-ros-base-latest | |
ros_distribution: foxy | |
ros_version: 2 | |
- docker_image: rostooling/setup-ros-docker:ubuntu-focal-ros-galactic-ros-base-latest | |
ros_distribution: galactic | |
ros_version: 2 | |
- docker_image: rostooling/setup-ros-docker:ubuntu-jammy-ros-humble-ros-base-latest | |
ros_distribution: humble | |
ros_version: 2 | |
- docker_image: rostooling/setup-ros-docker:ubuntu-jammy-ros-iron-ros-base-latest | |
ros_distribution: iron | |
ros_version: 2 | |
- docker_image: rostooling/setup-ros-docker:ubuntu-jammy-ros-rolling-ros-base-latest | |
ros_distribution: rolling | |
ros_version: 2 | |
name: "ROS ${{ matrix.ros_distribution }}" | |
container: | |
image: ${{ matrix.docker_image }} | |
steps: | |
- name: setup directories | |
run: mkdir -p ros_ws/src | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
path: ros_ws/src | |
- name: build and test ros1 | |
if: matrix.ros_version == 1 | |
uses: ros-tooling/action-ros-ci@master | |
with: | |
package-name: foxglove_msgs | |
target-ros1-distro: ${{ matrix.ros_distribution }} | |
vcs-repo-file-url: "" | |
- name: Downgrade pydocstyle as a workaround for ament_lint error https://github.com/ament/ament_lint/pull/428 | |
if: matrix.ros_distribution == 'galactic' | |
run: | | |
sudo pip install pydocstyle==6.1.1 | |
- name: Downgrade pytest as a workaround for https://github.com/scientific-python/pytest-doctestplus/issues/240 | |
if: matrix.ros_distribution == 'humble' || matrix.ros_distribution == 'iron' || matrix.ros_distribution == 'rolling' | |
run: | | |
sudo pip install pytest==8.0.2 | |
- name: build and test ros2 | |
if: matrix.ros_version == 2 | |
uses: ros-tooling/action-ros-ci@master | |
with: | |
package-name: foxglove_msgs | |
target-ros2-distro: ${{ matrix.ros_distribution }} | |
vcs-repo-file-url: "" |