fix: port UTF-8 string length logic to rosmsg2 serialization (#137) #348
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
| name: CI | |
| on: | |
| push: | |
| branches: main | |
| tags: "*/v*" | |
| pull_request: | |
| branches: "**" | |
| jobs: | |
| build: | |
| name: ${{ matrix.package }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| package: | |
| - ros1 | |
| - rosbag | |
| - rosbag2 | |
| - rosbag2-node | |
| - rosbag2-web | |
| - rosmsg | |
| - rosmsg-msgs-common | |
| - rosmsg-serialization | |
| - rosmsg2-serialization | |
| - rostime | |
| - xmlrpc | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| # https://docs.npmjs.com/generating-provenance-statements#publishing-packages-with-provenance-via-github-actions | |
| id-token: write | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| lfs: true | |
| - run: corepack enable | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| registry-url: https://registry.npmjs.org | |
| cache: yarn | |
| - run: yarn install --immutable | |
| - run: yarn workspaces foreach -Rp --topological-dev --from @foxglove/${{ matrix.package }} run build | |
| - run: yarn lint:ci packages/${{ matrix.package }} | |
| - run: yarn workspace @foxglove/${{ matrix.package }} run test | |
| - name: build xmlrpc examples | |
| if: ${{ matrix.package == 'xmlrpc' }} | |
| run: yarn install --immutable && yarn tsc -b | |
| working-directory: packages/xmlrpc/examples | |
| - name: Publish to NPM (dry run) | |
| run: yarn workspace @foxglove/${{ matrix.package }} npm publish --provenance --access public --dry-run | |
| - name: Publish to NPM | |
| if: ${{ startsWith(github.ref, format('refs/tags/{0}/v', matrix.package)) }} | |
| run: yarn workspace @foxglove/${{ matrix.package }} npm publish --provenance --access public | |
| rosbag-docs: | |
| name: rosbag docs | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - run: corepack enable | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| registry-url: https://registry.npmjs.org | |
| cache: yarn | |
| - run: yarn install --immutable | |
| - run: yarn workspaces foreach -Rp --topological-dev --from @foxglove/rosbag run build | |
| - run: yarn workspace @foxglove/rosbag docs | |
| - name: Deploy to GitHub pages | |
| uses: JamesIves/github-pages-deploy-action@v4.8.0 | |
| with: | |
| branch: gh-pages | |
| folder: packages/rosbag/docs | |
| target-folder: rosbag-docs | |
| rosmsg-serialization-bench: | |
| name: rosmsg-serialization benchmark | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - run: corepack enable | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| registry-url: https://registry.npmjs.org | |
| cache: yarn | |
| - run: yarn install --immutable | |
| - run: yarn workspaces foreach -Rp --topological-dev --from @foxglove/rosmsg run build | |
| - run: yarn workspace @foxglove/rosmsg bench:benny |