Skip to content

Commit 54b2ac9

Browse files
jbangelojungleraptorJADC362sbmuelleradharsh
committed
open source publish 47524f3..78779a8
--- Move Common Build Files to Submodule Replaces the in-tree bazel files with a submodule, so that these common build scripts can be reused by other projects. Co-authored-by: Isaac Torres <[email protected]> --- cmake - Add find module for Auk Triggered-By: cmake f4d30717858c709c4c2f711cd715cd643f32f349 Upstream-PR: http://github.com/swift-nav/cmake/pull/135 Co-authored-by: swiftnav-svc-jenkins <[email protected]> --- updated leap second Co-authored-by: Rodrigo Reichert <[email protected]> --- bazel: add swift_cc* wrappers Adds wrappers for native cc rules. Co-authored-by: Isaac Torres <[email protected]> --- bazel: Fix code-coverage Co-authored-by: Krzysztof Naglik <[email protected]> --- Remove bazel submodule Fetches swift's bazel rules via http_archive instead of using a submodule Co-authored-by: Isaac Torres <[email protected]> --- cmake - Add find module for libuv Triggered-By: cmake 2adba8029f2a1a476b963a32cd494cd03142b6df Upstream-PR: http://github.com/swift-nav/cmake/pull/137 Co-authored-by: swiftnav-svc-jenkins <[email protected]> --- cmake - gRCP mark protobuf as system include Triggered-By: cmake 3aab0ecf02c33b3af8a67b6ac4fd2e057f596c18 Upstream-PR: http://github.com/swift-nav/cmake/pull/139 Co-authored-by: swiftnav-svc-jenkins <[email protected]> --- Add cn0 mask to calc-pvt * apply C/N0 masking in calc_pvt * add unit test * format * behavior unit test * obs mask config as struct * fix unit tests * fix build * pass by pointer Co-authored-by: Ivan Smolyakov <[email protected]> Co-authored-by: Ivan Smolyakov <[email protected]> --- bazel: Require build passes in CI Requires that the bazel build passes for changes to be merged. Co-authored-by: Isaac Torres <[email protected]> --- cmake - Support issue suppression for runtime sanitizers Triggered-By: cmake b2d67a6993f4c3252b35a9018830ab920db9bd77 Co-authored-by: swiftnav-svc-jenkins <[email protected]> --- CMake submodule update Co-authored-by: Rodrigo Reichert <[email protected]> --- Export decode_sisa_index(), decode_bds_ura_index() and decode_fit_interval() functions This allows external code to reuse libswiftnav's functions for decoding URA/SISA index values. Also includes a couple of minor improvements: 1. Move definition of GAL_WEEK_TO_GPS_WEEK from ephemeris.h to gnss_time.h to be consistent with BDS_WEEK_TO_GPS_WEEK 2. Fix test for platforms where time_t is a signed 32-bit integer Co-authored-by: dgburr <[email protected]> --- Added Makefile with bazel wrappers * Added Makefile with bazel wrappers * Update rules_swiftnav Co-authored-by: Wiktor Więcław <[email protected]> --- Fix group delay type for B1C * Fix group delay type for B1C * format fix Co-authored-by: Altti Jokinen <[email protected]> --- bazel: fix optimized compilation Co-authored-by: Krzysztof Naglik <[email protected]> --- cmake - Exclude unit test header files from coverage reporting Triggered-By: cmake 3f59bcdceec39ec25ec4c6c62420ebee4ea7c7ab Upstream-PR: http://github.com/swift-nav/cmake/pull/145 Co-authored-by: swiftnav-svc-jenkins <[email protected]> --- cmake - Add plantuml Triggered-By: cmake 4047c088796bd88511bba6d17362a8e95847a88c Upstream-PR: http://github.com/swift-nav/cmake/pull/146 Co-authored-by: swiftnav-svc-jenkins <[email protected]> --- clean up iono handling and navigation_measurement_t * clean up iono handling and navigation_measurement_t * Change function names * Move correcting clock error to nav_meas.c Co-authored-by: Altti Jokinen <[email protected]> --- Install the leap seconds header Co-authored-by: Joseph Angelo <[email protected]> --- bazel add gen_compile_commands target Co-authored-by: Wiktor Więcław <[email protected]> --- bazel: make max_channels a configurable attribute * bazel: make max_channels a configurable attribute * make MAX_CHANNELS param lowercase Co-authored-by: Wiktor Więcław <[email protected]> --- bazel: use c only macros to build libswiftnav Updates libswiftnav to use the new rules for building c only code. Co-authored-by: Isaac Torres <[email protected]> --- Handle endianess in bytestreams * Helper functions to byteswapping and detecting endianess * Add helpers for bytestream struct to decode different kinds of ints and handle endianess * format Co-authored-by: Matt Woodward <[email protected]> --- Byte swap inline function Co-authored-by: Rodrigo Reichert <[email protected]> --- Regenerate leap second Co-authored-by: Lucas Le <[email protected]> --- cmake - Turn SonarCloud duplicate detection off for unit tests Triggered-By: cmake d7a20ec514ef83525d734d8ee39e03c712adbedc Upstream-PR: http://github.com/swift-nav/cmake/pull/150 Co-authored-by: swiftnav-svc-jenkins <[email protected]> --- cmake - Add official MKL cmake finder. Triggered-By: cmake d165dd7c259d40d08805a0e0bdda6ee04c7a54ff Upstream-PR: http://github.com/swift-nav/cmake/pull/147 Co-authored-by: swiftnav-svc-jenkins <[email protected]> --- ci: fix Ubuntu 18.04 build Co-authored-by: Jason Mobarak <[email protected]> --- ci: remove deprecated os image Co-authored-by: Jason Mobarak <[email protected]> --- cmake - fix: make test_srcs target project specific This fixes a duplicate target being defined when enabling the test suite of a projects submodule Triggered-By: cmake 04c7c1444a696987e1345b234696cf5a7dc4fa0f Upstream-PR: http://github.com/swift-nav/cmake/pull/158 Co-authored-by: swiftnav-svc-jenkins <[email protected]> --- bazel: Add bazeliskrc file * bazel: Add bazeliskrc file * Use bazel 6.2 * Update docker images * Fix Co-authored-by: Krzysztof Naglik <[email protected]> --- cmake - rename starling-core-utils Triggered-By: cmake d3c41e72599789dae172161c50ffe76ea34f7e83 Upstream-PR: http://github.com/swift-nav/cmake/pull/156 Co-authored-by: swiftnav-svc-jenkins <[email protected]> --- Use float whenever possible in satellite attitude and std Use float in satellite attitude when possible, and in transmitted standard-deviations Co-authored-by: Marco <[email protected]> Co-authored-by: Altti Jokinen <[email protected]> Co-authored-by: Marco Mendonca <[email protected]> --- Revert "Use float whenever possible in satellite attitude and std " Co-authored-by: Marco Mendonca <[email protected]> --- fix: bazel: make stderr logging configurable Adds a config option in bazel to disable stderr logging so that it is equivalent to cmake. Co-authored-by: Isaac Torres <[email protected]> --- Use float is satellite vel and acc when possible Changed satellite acceleration and velocity to float when possible Co-authored-by: Marco <[email protected]> Co-authored-by: Altti Jokinen <[email protected]> Co-authored-by: Marco Mendonca <[email protected]> --- Handle BDS B3I in get_tgd_correction() Co-authored-by: Leith Bade <[email protected]> --- fix: bazel: make stderr logging public ake the flag --//:enable_stderr_logging public so it can be invoked from other projects. Co-authored-by: Isaac Torres <[email protected]> --- Revert "Use float is satellite vel and acc when possible " Co-authored-by: Marco <[email protected]> Co-authored-by: Marco Mendonca <[email protected]> --- cmake - Clang tidy Google Style Guide Triggered-By: cmake 38e6b7a8367673c03b2d5b320a6f7e9f79d286b8 Upstream-PR: http://github.com/swift-nav/cmake/pull/155 Co-authored-by: swiftnav-svc-jenkins <[email protected]> --- Decouple unb3m model from gps_time_t * from gps_time_t to doy * fix unit tests * unit test and format * doy is explicitly non-optional Co-authored-by: Ivan Smolyakov <[email protected]> Co-authored-by: Ivan Smolyakov <[email protected]> --- Add support for GPS L1CQ in health check - [ ] Remove assert when code not recognised and add support for GPS L1CQ code Co-authored-by: Antriksh Srivastava <[email protected]> Co-authored-by: antrikshsrivastava <[email protected]> --- Auto submodule update: cmake - Add zstd finder file Automated PR by Jenkins. If CI has passed successfully, merge away! **cmake** 38e6b7a8 -> 48d4af0f - 48d4af0f : Add zstd finder file (swift-nav/cmake - be886cac : Update CODEOWNERS (swift-nav/cmake - 040253ff : Lint include guards copyright (swift-nav/cmake - 5df87a24 : add CODEOWNERS (swift-nav/cmake Co-authored-by: swiftnav-svc-jenkins <[email protected]> --- Update the expiration date to end of June 2024 The IETF leap seconds file appears to not have been updated very quickly, so we've now hit this expiration date without a new IETF file to reference. But fear not! The IETF doesn't decide when leap seconds are, the IERS does and they very reliably release their "Bulletin C" announcing the presence or absence of a leap seconds 6 months later. They also provide a NTP leap seconds file, so I've updated the leap seconds script to use that instead of the file from the IETF. TL;DR Update the leap second expiration. Co-authored-by: Joseph Angelo <[email protected]> --- Fix sonarcloud analysis warning Co-authored-by: Arnaud Mallen <[email protected]> --- Fix potential out of bounds array access when converting constellation enum to string `constellation_to_string` uses a lookup table to convert an enum value to a string. No validation is performed on the input value which can lead to out of bounds array access. This is actually already happening in some unit tests elsewhere in Swift code but by pure chance is not causing problems at the moment. Remove use of the lookup table and use a switch statement where all possible values are handled. The lookup table is still used elsewhere so can't be removed immediately Co-authored-by: Matt Woodward <[email protected]> --- Improvements to libswiftnav to support gnss-converters refactoring 1. Only set clock_drift_var if a velocity solution is estimated 2. Partial revert of fa4a2296d5ce5e6b9e26121409ed31eb8aabd4f5 to restore correct_iono_tropo.h and correct_iono_tropo.c 3. Add tests for correct_iono_tropo 4. Add get_bds_orbit_type() and get_bds_generation() functions Co-authored-by: dgburr <[email protected]> --- Bump cmake to be consistent with gnss-converters Co-authored-by: dgburr <[email protected]> --- Increased code coverage of libswiftnav - added test cases written in **googletest** for the increased code coverage - updated CMakeLists.txt to include googletest - *implemented unit tests for libswiftnav files* Co-authored-by: Ashish Singh <[email protected]> Co-authored-by: Matt Woodward <[email protected]> Co-authored-by: Ashish Singh <[email protected]> --- Remove compile time selection of geoid model, make both available at runtime The geoid model is controlled at compile time by a cmake option. The default is the model with 1 degree resolution but can be changed to 15 minute resolution by setting a cmake option. This method is abused in gnss-converters in a way which results in pollution of the global compile flags in certain situations. Rather undesierable Alter this repo so that both geoid models are compiled and available in the compiled output. `get_geoid_offset()` always uses the 1 degree resolution model (the default) 2 new functions `get_geoid_offset_1_degree` and `get_geoid_offset_15_minute` do exactly as their name suggests and can be used by consumers of the library if they need a specific version. Technically `get_geoid_offset_1_degree` isn't need since `get_geoid_offset` is just a wrapper, but it's there for completeness sake This will increase the size of a shared object and static archive which is a regression from the status quo. However, since consumers can choose to call into only 1 of the models then the size of the final binary will not increase when using static archives (the linker will remove any uncalled functions/data from the final executable) The code changes here are pretty simple, the geoid offset functions in `geoid_model.c` needed to change a little to be a bit more generic. Also they have to operate on a pointer rather than multidimentional array now but the accesses are few and easy to verify. Implementation of the models are performed in 2 new files with appropriate names The biggest changes are in the test suite which previously was including `geoid_model.c` twice in different namespaces while manipulating `#define` to control which model gets compiled. All of that messiness can be removed now, some of the testing helper functions just needed to be generalise a little bit and the test cases can call in to the new functions directly. Co-authored-by: Matt Woodward <[email protected]> --- Auto submodule update: cmake - ASIO C++ and ASIO Grpc libraries Automated PR by Jenkins. If CI has passed successfully, merge away! **cmake** 954e6ceb -> f5113f7d - f5113f7d : ASIO C++ and ASIO Grpc libraries (swift-nav/cmake Co-authored-by: swiftnav-svc-jenkins <[email protected]> --- Add CI stage to run tests under ASAN and UBSAN Similar to other PRs in this series. Add bazel config to build with ASAN, UBSAN, TSAN, MSAN Add CI stages to run tests with ASAN and UBSAN. Other sanitizer don't need to be run in CI due to the nature of code in this repository, but are left in config for consistency with other repos and so they can be run manually if required Some minor fixes to code to address issues detected by the sanitisers. Co-authored-by: Matt Woodward <[email protected]> --- Add ephemeris_validity_window type and get function * Adds a new ephemeris_validity_window type which contains the beginning and end of an ephemeris validity window. * Adds unittests based on the constellation of the ephemeris. The intention of this change is to allow us to check how far outside of the validity window a reference gps time is and decide whether or not to prune ephemeris. Co-authored-by: John-Michael Burke <[email protected]> --- Restrict SWIFT_ATTR_NO_SANITIZE_ENUM to clang only Co-authored-by: Matt Woodward <[email protected]> --- Auto submodule update: cmake - ASIO gRPC boost container fix Automated PR by Jenkins. If CI has passed successfully, merge away! **cmake** f5113f7d -> 68306be8 - 68306be8 : ASIO gRPC boost container fix (swift-nav/cmake - 117b3f73 : enable c++20 (swift-nav/cmake - 436d339a : Handle new suitesparse version (swift-nav/cmake Co-authored-by: swiftnav-svc-jenkins <[email protected]> --- Update leap seconds for 2024 Co-authored-by: Rodrigo Reichert <[email protected]> --- Update bazel image Update the bazel build docker image to use the new [bazel-remote](https://github.com/buchgr/bazel-remote) cache solution. **NOTE**: doing away with Dockerfiles as Isaac mentioned that it adds extra build time for no benefit for us. We should be using docker image directly. Co-authored-by: Rodrigo Reichert <[email protected]> --- Auto submodule update: cmake - orion cmake configuration fails when CMAKE_C_COMPILED_ID is not set Automated PR by Jenkins. If CI has passed successfully, merge away! **cmake** 68306be8 -> 5b65c03c - 65c9a396 : Update compiler options to support IAR (swift-nav/cmake Co-authored-by: Arnaud Mallen <[email protected]> Co-authored-by: swiftnav-svc-jenkins <[email protected]> --- CI Pipeline Update Co-authored-by: Arnaud Mallen <[email protected]> --- Auto submodule update: cmake - Add codeowners to guideline relevant files Automated PR by Jenkins. If CI has passed successfully, merge away! **cmake** 5b65c03c -> 30226aa8 - 30226aa8 : Add codeowners to guideline relevant files (swift-nav/cmake - 87ff9dfa : Revert "CMake patches for QNX Support " (swift-nav/cmake - 5d9f739e : CMake patches for QNX Support (swift-nav/cmake - fa934097 : Static bundles for the IAR toolchain[DRAFT] (swift-nav/cmake Co-authored-by: swiftnav-svc-jenkins <[email protected]> --- Update leap seconds 2025 Co-authored-by: Ivan Smolyakov <[email protected]> --- Update leap seconds file for January 2025 IERS has made their [leap second non-announcement](https://datacenter.iers.org/data/16/bulletinc-069.txt) for end of June, this PR should keep us from having issues for several more months. Co-authored-by: Joseph Angelo <[email protected]> --- Move the dependabot config file to the proper location Co-authored-by: Joseph Angelo <[email protected]> --- Add definitions for KASS Co-authored-by: dgburr <[email protected]> --- Auto submodule update: cmake - Fix importing of latest protobuf version Automated PR by Jenkins. If CI has passed successfully, merge away! **cmake** 30226aa8 -> 8920f2a3 - 8920f2a3 : Fix importing of latest protobuf version (swift-nav/cmake Co-authored-by: swiftnav-svc-jenkins <[email protected]> --- Update CMake minimum required version to 3.13 Update CMake version to newer version Co-authored-by: Adharsh Babu <[email protected]> --- Auto submodule update: cmake - Update protobuf to v25.1 Automated PR by Jenkins. If CI has passed successfully, merge away! **cmake** 8920f2a3 -> 361035b6 - 361035b6 : Update protobuf to v25.1 (swift-nav/cmake - 5bf22f7d : Update CMake minimum required version to 3.13 (swift-nav/cmake Co-authored-by: swiftnav-svc-jenkins <[email protected]> --- Bump jinja2 from 3.0.3 to 3.1.6 in /scripts Bumps [jinja2](https://github.com/pallets/jinja) from 3.0.3 to 3.1.6. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pallets/jinja/releases">jinja2's releases</a>.</em></p> <blockquote> <h2>3.1.6</h2> <p>This is the Jinja 3.1.6 security release, which fixes security issues but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.</p> <p>PyPI: <a href="https://pypi.org/project/Jinja2/3.1.6/">https://pypi.org/project/Jinja2/3.1.6/</a> Changes: <a href="https://jinja.palletsprojects.com/en/stable/changes/#-1-6">https://jinja.palletsprojects.com/en/stable/changes/#-1-6</a></p> <ul> <li>The <code>|attr</code> filter does not bypass the environment's attribute lookup, allowing the sandbox to apply its checks. <a href="https://github.com/pallets/jinja/security/advisories/GHSA-cpwx-pq7">https://github.com/pallets/jinja/security/advisories/GHSA-cpwx-pq7</a></li> </ul> <h2>3.1.5</h2> <p>This is the Jinja 3.1.5 security fix release, which fixes security issues and bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.</p> <p>PyPI: <a href="https://pypi.org/project/Jinja2/3.1.5/">https://pypi.org/project/Jinja2/3.1.5/</a> Changes: <a href="https://jinja.palletsprojects.com/changes/#-1-5">https://jinja.palletsprojects.com/changes/#-1-5</a> Milestone: <a href="https://github.com/pallets/jinja/milestone/16?closed=1">https://github.com/pallets/jinja/milestone/16?closed=1</a></p> <ul> <li>The sandboxed environment handles indirect calls to <code>str.format</code>, such as by passing a stored reference to a filter that calls its argument. <a href="https://github.com/pallets/jinja/security/advisories/GHSA-q7h">GHSA-q7h</a></li> <li>Escape template name before formatting it into error messages, to avoid issues with names that contain f-string syntax. <a href="https://redirect.github.com/pallets/jinja/issues/1792"></a>, <a href="https://github.com/pallets/jinja/security/advisories/GHSA-">GHSA-</a></li> <li>Sandbox does not allow <code>clear</code> and <code>pop</code> on known mutable sequence types. <a href="https://redirect.github.com/pallets/jinja/issues/2032"></a></li> <li>Calling sync <code>render</code> for an async template uses <code>asyncio.run</code>. <a href="https://redirect.github.com/pallets/jinja/issues/1952"></a></li> <li>Avoid unclosed <code>auto_aiter</code> warnings. <a href="https://redirect.github.com/pallets/jinja/issues/1960"></a></li> <li>Return an <code>aclose</code>-able <code>AsyncGenerator</code> from <code>Template.generate_async</code>. <a href="https://redirect.github.com/pallets/jinja/issues/1960"></a></li> <li>Avoid leaving <code>root_render_func()</code> unclosed in <code>Template.generate_async</code>. <a href="https://redirect.github.com/pallets/jinja/issues/1960"></a></li> <li>Avoid leaving async generators unclosed in blocks, includes and extends. <a href="https://redirect.github.com/pallets/jinja/issues/1960"></a></li> <li>The runtime uses the correct <code>concat</code> function for the current environment when calling block references. <a href="https://redirect.github.com/pallets/jinja/issues/1701"></a></li> <li>Make <code>|unique</code> async-aware, allowing it to be used after another async-aware filter. <a href="https://redirect.github.com/pallets/jinja/issues/1781"></a></li> <li><code>|int</code> filter handles <code>OverflowError</code> from scientific notation. <a href="https://redirect.github.com/pallets/jinja/issues/1921"></a></li> <li>Make compiling deterministic for tuple unpacking in a <code>{% set ... %}</code> call. <a href="https://redirect.github.com/pallets/jinja/issues/2021"></a></li> <li>Fix dunder protocol (<code>copy</code>/<code>pickle</code>/etc) interaction with <code>Undefined</code> objects. <a href="https://redirect.github.com/pallets/jinja/issues/2025"></a></li> <li>Fix <code>copy</code>/<code>pickle</code> support for the internal <code>missing</code> object. <a href="https://redirect.github.com/pallets/jinja/issues/2027"></a></li> <li><code>Environment.overlay(enable_async)</code> is applied correctly. <a href="https://redirect.github.com/pallets/jinja/issues/2061"></a></li> <li>The error message from <code>FileSystemLoader</code> includes the paths that were searched. <a href="https://redirect.github.com/pallets/jinja/issues/1661"></a></li> <li><code>PackageLoader</code> shows a clearer error message when the package does not contain the templates directory. <a href="https://redirect.github.com/pallets/jinja/issues/1705"></a></li> <li>Improve annotations for methods returning copies. <a href="https://redirect.github.com/pallets/jinja/issues/1880"></a></li> <li><code>urlize</code> does not add <code>mailto:</code> to values like <code>@A@b</code>. <a href="https://redirect.github.com/pallets/jinja/issues/1870"></a></li> <li>Tests decorated with <code>@pass_context</code> can be used with the <code>|select</code> filter. <a href="https://redirect.github.com/pallets/jinja/issues/1624"></a></li> <li>Using <code>set</code> for multiple assignment (<code>a, b = 1, 2</code>) does not fail when the target is a namespace attribute. <a href="https://redirect.github.com/pallets/jinja/issues/1413"></a></li> <li>Using <code>set</code> in all branches of <code>{% if %}{% elif %}{% else %}</code> blocks does not cause the variable to be considered initially undefined. <a href="https://redirect.github.com/pallets/jinja/issues/1253"></a></li> </ul> <h2>3.1.4</h2> <p>This is the Jinja 3.1.4 security release, which fixes security issues and bugs but does not otherwise change behavior and should not result in breaking changes.</p> <p>PyPI: <a href="https://pypi.org/project/Jinja2/3.1.4/">https://pypi.org/project/Jinja2/3.1.4/</a> Changes: <a href="https://jinja.palletsprojects.com/en/3.1.x/changes/#-1-4">https://jinja.palletsprojects.com/en/3.1.x/changes/#-1-4</a></p> <ul> <li>The <code>xmlattr</code> filter does not allow keys with <code>/</code> solidus, <code>&gt;</code> greater-than sign, or <code>=</code> equals sign, in addition to disallowing spaces. Regardless of any validation done by Jinja, user input should never be used as keys to this filter, or must be separately validated first. GHSA-mfj</li> </ul> <h2>3.1.3</h2> <p>This is a fix release for the 3.1.x feature branch.</p> <ul> <li>Fix for <a href="https://github.com/pallets/jinja/security/advisories/GHSA-h5c8-rqwp-cp95">GHSA-h5c8-rqwp-cp95</a>. You are affected if you are using <code>xmlattr</code> and passing user input as attribute keys.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pallets/jinja/blob/main/CHANGES.rst">jinja2's changelog</a>.</em></p> <blockquote> <h2>Version 3.1.6</h2> <p>Released 2025-03-05</p> <ul> <li>The <code>|attr</code> filter does not bypass the environment's attribute lookup, allowing the sandbox to apply its checks. :ghsa:<code>cpwx-pq7</code></li> </ul> <h2>Version 3.1.5</h2> <p>Released 2024-12-21</p> <ul> <li>The sandboxed environment handles indirect calls to <code>str.format</code>, such as by passing a stored reference to a filter that calls its argument. :ghsa:<code>q7h</code></li> <li>Escape template name before formatting it into error messages, to avoid issues with names that contain f-string syntax. :issue:<code>1792</code>, :ghsa:<code></code></li> <li>Sandbox does not allow <code>clear</code> and <code>pop</code> on known mutable sequence types. :issue:<code>2032</code></li> <li>Calling sync <code>render</code> for an async template uses <code>asyncio.run</code>. :pr:<code>1952</code></li> <li>Avoid unclosed <code>auto_aiter</code> warnings. :pr:<code>1960</code></li> <li>Return an <code>aclose</code>-able <code>AsyncGenerator</code> from <code>Template.generate_async</code>. :pr:<code>1960</code></li> <li>Avoid leaving <code>root_render_func()</code> unclosed in <code>Template.generate_async</code>. :pr:<code>1960</code></li> <li>Avoid leaving async generators unclosed in blocks, includes and extends. :pr:<code>1960</code></li> <li>The runtime uses the correct <code>concat</code> function for the current environment when calling block references. :issue:<code>1701</code></li> <li>Make <code>|unique</code> async-aware, allowing it to be used after another async-aware filter. :issue:<code>1781</code></li> <li><code>|int</code> filter handles <code>OverflowError</code> from scientific notation. :issue:<code>1921</code></li> <li>Make compiling deterministic for tuple unpacking in a <code>{% set ... %}</code> call. :issue:<code>2021</code></li> <li>Fix dunder protocol (<code>copy</code>/<code>pickle</code>/etc) interaction with <code>Undefined</code> objects. :issue:<code>2025</code></li> <li>Fix <code>copy</code>/<code>pickle</code> support for the internal <code>missing</code> object. :issue:<code>2027</code></li> <li><code>Environment.overlay(enable_async)</code> is applied correctly. :pr:<code>2061</code></li> <li>The error message from <code>FileSystemLoader</code> includes the paths that were searched. :issue:<code>1661</code></li> <li><code>PackageLoader</code> shows a clearer error message when the package does not contain the templates directory. :issue:<code>1705</code></li> <li>Improve annotations for methods returning copies. :pr:<code>1880</code></li> <li><code>urlize</code> does not add <code>mailto:</code> to values like <code>@A@b</code>. :pr:<code>1870</code></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pallets/jinja/commit/15206881c006c79667fe5154fe80c01c65410679"><code>1520688</code></a> release version 3.1.6</li> <li><a href="https://github.com/pallets/jinja/commit/90457bbf33b8662926ae65cdde4c4c32e756e403"><code>90457bb</code></a> Merge commit from fork</li> <li><a href="https://github.com/pallets/jinja/commit/065334d1ee5b7210e1a0a93c37238c86858f2af7"><code>065334d</code></a> attr filter uses env.getattr</li> <li><a href="https://github.com/pallets/jinja/commit/033c20015c7ca899ab52eb921bb0f08e6d3dd145"><code>033c200</code></a> start version 3.1.6</li> <li><a href="https://github.com/pallets/jinja/commit/bc68d4efa99c5f77334f0e519628558059ae8c35"><code>bc68d4e</code></a> use global contributing guide (<a href="https://redirect.github.com/pallets/jinja/issues/2070"></a>)</li> <li><a href="https://github.com/pallets/jinja/commit/247de5e0c5062a792eb378e50e13e692885ee486"><code>247de5e</code></a> use global contributing guide</li> <li><a href="https://github.com/pallets/jinja/commit/ab8218c7a1b66b62e0ad6b941bd514e3a64a358f"><code>ab8218c</code></a> use project advisory link instead of global</li> <li><a href="https://github.com/pallets/jinja/commit/b4ffc8ff299dfd360064bea4cd2f862364601ad2"><code>b4ffc8f</code></a> release version 3.1.5 (<a href="https://redirect.github.com/pallets/jinja/issues/2066"></a>)</li> <li><a href="https://github.com/pallets/jinja/commit/877f6e51be8e1765b06d911cfaa9033775f051d1"><code>877f6e5</code></a> release version 3.1.5</li> <li><a href="https://github.com/pallets/jinja/commit/8d588592653b052f957b720e1fc93196e06f207f"><code>8d58859</code></a> remove test pypi</li> <li>Additional commits viewable in <a href="https://github.com/pallets/jinja/compare/3.0.3...3.1.6">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jinja2&package-manager=pip&previous-version=3.0.3&new-version=3.1.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/swift-nav/libswiftnav-private/network/alerts). </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Auto submodule update: cmake - Add option for suppression file in valgrind memcheck Automated PR by Jenkins. If CI has passed successfully, merge away! **cmake** 361035b6 -> 61cdba17 - 61cdba17 : Add option for suppression file in valgrind memcheck (swift-nav/cmake Co-authored-by: swiftnav-svc-jenkins <[email protected]> --- Update deprecated windows build image Co-authored-by: Sebastian Müller <[email protected]> --- Implement new decimal year functions - [x] Move `decimal_years_to_gps_time` to `libswiftnav->gnss_time`. - [x] Move `gps_time_to_decimal_years` to `libswiftnav->gnss_time`. - [x] Move `decimal_year_to_mjd` to `libswiftnav->gnss_time`. - Nothing. - Nothing. Co-authored-by: Alejandro Duarte <[email protected]> --- Use docker compose instead Co-authored-by: Alejandro Duarte <[email protected]> --- Update leap seconds file for July 2025 Update per IERS bulletin C released last week: https://datacenter.iers.org/data/html/.html Co-authored-by: Joseph Angelo <[email protected]> --- Co-authored-by: Isaac Torres <[email protected]> Co-authored-by: Alejandro Duarte <[email protected]> Co-authored-by: Sebastian Müller <[email protected]> Co-authored-by: Adharsh Babu <[email protected]> Co-authored-by: dgburr <[email protected]> Co-authored-by: Ivan Smolyakov <[email protected]> Co-authored-by: Arnaud Mallen <[email protected]> Co-authored-by: Rodrigo Reichert <[email protected]> Co-authored-by: Matt Woodward <[email protected]> Co-authored-by: John-Michael Burke <[email protected]> Co-authored-by: Ashish Singh <[email protected]> Co-authored-by: antrikshsrivastava <[email protected]> Co-authored-by: Marco Mendonca <[email protected]> Co-authored-by: Leith Bade <[email protected]> Co-authored-by: Krzysztof Naglik <[email protected]> Co-authored-by: Jason Mobarak <[email protected]> Co-authored-by: Lucas Le <[email protected]> Co-authored-by: Wiktor Więcław <[email protected]> Co-authored-by: Altti Jokinen <[email protected]>
1 parent f329a40 commit 54b2ac9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+6594
-6735
lines changed

.bazelrc

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,101 @@
1+
# Causes the build to default to the custom toolchain
2+
build --incompatible_enable_cc_toolchain_resolution
3+
4+
# Overrides our custom toolchain and uses the system
5+
build:system --noincompatible_enable_cc_toolchain_resolution
6+
build:system --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN="0"
7+
build:system --platform_suffix=system
8+
19
build:clang-format-check --aspects @rules_swiftnav//clang_format:clang_format_check.bzl%clang_format_check_aspect
210
build:clang-format-check --@rules_swiftnav//clang_format:clang_format_config=//:clang_format_config
311
build:clang-format-check --output_groups=report
412

513
build:clang-tidy --aspects @rules_swiftnav//clang_tidy:clang_tidy.bzl%clang_tidy_aspect
614
build:clang-tidy --output_groups=report
15+
16+
# Shared sanitizer configuration
17+
common:sanitize -c dbg
18+
common:sanitize --cxxopt=-g3
19+
common:sanitize --copt=-g3
20+
common:sanitize --linkopt=-g3
21+
common:sanitize --cxxopt=-fno-omit-frame-pointer
22+
common:sanitize --copt=-fno-omit-frame-pointer
23+
common:sanitize --linkopt=-fno-omit-frame-pointer
24+
common:sanitize --@rules_swiftnav//cc:enable_symbolizer=true
25+
26+
# Sanitizer overhead can cause some functions to become so large that
27+
# the compiler falls back to a linear register allocator. This
28+
# shouldn't cause a sanitizer build to fail.
29+
common:sanitize --cxxopt=-Wno-error=disabled-optimization
30+
common:sanitize --copt=-Wno-error=disabled-optimization
31+
common:sanitize --linkopt=-Wno-error=disabled-optimization
32+
# https://github.com/bazelbuild/bazel/issues/12797#issuecomment-980641064
33+
common:sanitize --linkopt='-fsanitize-link-c++-runtime'
34+
common:sanitize --cxxopt=-fPIC
35+
common:sanitize --copt=-fPIC
36+
common:sanitize --linkopt=-fPIC
37+
38+
# Address sanitizer
39+
common:asan --config=sanitize
40+
common:asan --cxxopt=-fsanitize=address
41+
common:asan --copt=-fsanitize=address
42+
common:asan --linkopt=-fsanitize=address
43+
common:asan --cxxopt=-fno-optimize-sibling-calls
44+
common:asan --copt=-fno-optimize-sibling-calls
45+
common:asan --linkopt=-fno-optimize-sibling-calls
46+
common:asan --platform_suffix=asan
47+
48+
# Undefined behavior sanitizer
49+
common:ubsan --config=sanitize
50+
common:ubsan --cxxopt=-fsanitize=undefined
51+
common:ubsan --copt=-fsanitize=undefined
52+
common:ubsan --linkopt=-fsanitize=undefined
53+
common:ubsan --cxxopt=-fno-sanitize-recover=all
54+
common:ubsan --copt=-fno-sanitize-recover=all
55+
common:ubsan --linkopt=-fno-sanitize-recover=all
56+
common:ubsan --cxxopt=-fsanitize=local-bounds
57+
common:ubsan --copt=-fsanitize=local-bounds
58+
common:ubsan --linkopt=-fsanitize=local-bounds
59+
common:ubsan --@rules_swiftnav//cc:enable_rtti=true
60+
# Unfortunately the current build setup doesn't seem to provide stack
61+
# frame names using clang++ and llvm-symbolizer. (This was also the
62+
# case in cmake, but the default of g++ there _did_ provide frame
63+
# names in backtraces.)
64+
test:ubsan --action_env="UBSAN_OPTIONS=print_stacktrace=1"
65+
run:ubsan --action_env="UBSAN_OPTIONS=print_stacktrace=1"
66+
# vptr sanitizer is horribly broken to the point of throwing false positives at a
67+
# rate that suppressions or an ignore list are impractical.
68+
common:ubsan --cxxopt=-fno-sanitize=vptr
69+
common:ubsan --linkopt=-fno-sanitize=vptr
70+
common:ubsan --platform_suffix=ubsan
71+
72+
# Dynamic memory sanitizer
73+
#
74+
# Warning: takes an incredible amount of space! Try testing only one
75+
# target at a time.
76+
common:msan --config=sanitize
77+
common:msan --cxxopt=-fsanitize=memory
78+
common:msan --copt=-fsanitize=memory
79+
common:msan --linkopt=-fsanitize=memory
80+
common:msan --cxxopt=-fsanitize-memory-track-origins=2
81+
common:msan --copt=-fsanitize-memory-track-origins=2
82+
common:msan --linkopt=-fsanitize-memory-track-origins=2
83+
common:msan --cxxopt=-fsanitize-memory-use-after-dtor
84+
common:msan --copt=-fsanitize-memory-use-after-dtor
85+
common:msan --linkopt=-fsanitize-memory-use-after-dtor
86+
common:msan --platform_suffix=msan
87+
88+
# > Currently, ThreadSanitizer symbolizes its output using an external
89+
# > addr2line process (this will be fixed in future).
90+
#
91+
# https://clang.llvm.org/docs/ThreadSanitizer.html#usage
92+
common:tsan --config=sanitize
93+
common:tsan --cxxopt=-fsanitize=thread
94+
common:tsan --copt=-fsanitize=thread
95+
common:tsan --linkopt=-fsanitize=thread
96+
common:tsan --platform_suffix=tsan
97+
98+
# Helpful aliases
99+
common:asan_ubsan --config=asan
100+
common:asan_ubsan --config=ubsan
101+
common:ubsan_asan --config=asan_ubsan

.github/dependabot.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: github-actions
4+
directory: "/"
5+
schedule:
6+
interval: weekly

.github/workflows/auto-cancellation.yaml

Lines changed: 0 additions & 11 deletions
This file was deleted.

.github/workflows/ci.yaml

Lines changed: 80 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,31 @@ on:
44
pull_request:
55
push:
66
branches:
7-
- 'master'
8-
- 'starling-v*-release'
9-
- 'v*-release'
7+
- "master"
8+
- "starling-v*-release"
9+
- "v*-release"
1010
tags:
11-
- 'v*'
12-
- 'starling-v*'
11+
- "v*"
12+
- "starling-v*"
1313

14-
jobs:
14+
concurrency:
15+
group: ${{ github.workflow }}-${{ github.ref }}
16+
cancel-in-progress: true
17+
18+
permissions:
19+
contents: write
20+
pull-requests: write
1521

22+
jobs:
1623
ubuntu-codecov:
1724
runs-on: ubuntu-latest
18-
container: ubuntu:18.04
25+
container: "ubuntu:24.04"
1926

2027
steps:
28+
- name: Setup container
29+
run: |
30+
apt-get update
31+
apt-get install -y gpg wget curl software-properties-common unzip git cmake build-essential clang llvm
2132
2233
- name: Setup container
2334
run: |
@@ -32,7 +43,7 @@ jobs:
3243
apt-get install -y git cmake build-essential clang llvm
3344
3445
- name: Checkout source
35-
uses: actions/checkout@v2
46+
uses: actions/checkout@v4.1.7
3647
with:
3748
fetch-depth: 0
3849
submodules: recursive
@@ -46,10 +57,10 @@ jobs:
4657
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4758
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
4859
SONAR_ORGANIZATION: swift-nav
49-
SONAR_PROJECT_KEY: swift-nav_libswiftnav-private
60+
SONAR_PROJECT_KEY: swift-nav_libswiftnav
5061
SONAR_PROJECT_NAME: libswiftnav-private
5162
SONAR_HOST_URL: https://sonarcloud.io
52-
SONAR_SCANNER_VERSION: 4.2.0.1873
63+
SONAR_SCANNER_VERSION: 5.0.1.3006
5364

5465
run: |
5566
bash ./ci-build.sh
@@ -58,16 +69,18 @@ jobs:
5869
strategy:
5970
matrix:
6071
include:
61-
- {env: "MSVC", arch: "Win32"}
62-
- {env: "MSVC", arch: "x64"}
63-
- {env: "MinGW"}
72+
- { env: "MSVC", arch: "Win32" }
73+
- { env: "MSVC", arch: "x64" }
74+
- { env: "MinGW" }
6475

65-
runs-on: windows-2019
76+
runs-on: windows-latest
6677

6778
steps:
79+
- name: Configure git
80+
run: git config --global http.postBuffer 1048576000
6881

6982
- name: Checkout source
70-
uses: actions/checkout@v2
83+
uses: actions/checkout@v3
7184
with:
7285
submodules: recursive
7386
ssh-key: ${{ secrets.SSH_KEY }}
@@ -92,7 +105,7 @@ jobs:
92105
- name: Run build (MSVC)
93106
if: matrix.env == 'MSVC'
94107
env:
95-
CMAKE_GENERATOR: "Visual Studio 16 2019"
108+
CMAKE_GENERATOR: "Visual Studio 17 2022"
96109
run: |
97110
cmake -G "$env:CMAKE_GENERATOR" -A ${{ matrix.arch }} -S . -B build;
98111
cmake --build build --config Release;
@@ -112,20 +125,46 @@ jobs:
112125
strategy:
113126
matrix:
114127
include:
115-
- {cc: "gcc-6", cxx: "g++-6", test_suite: "unit",
116-
package: "gcc-6 g++-6", runs_on: "ubuntu-latest", container: "ubuntu:18.04"}
117-
- {cc: "clang-6.0", cxx: "clang++-6.0", test_suite: "lint",
118-
package: "clang-6.0 libc++-dev libc++abi-dev clang-format-6.0 clang-tidy-6.0",
119-
runs_on: "ubuntu-latest", container: "ubuntu:18.04"}
120-
- {cc: "gcc-11", cxx: "g++-11", test_suite: "unit",
121-
package: "gcc-11 g++-11", runs_on: "ubuntu-latest", container: "ubuntu:18.04"}
122-
- {cc: "clang", cxx: "clang++", test_suite: "unit",
123-
runs_on: "macos-11", container: ~}
124-
128+
- {
129+
cc: "gcc-10",
130+
cxx: "g++-10",
131+
test_suite: "unit",
132+
package: "gcc-10 g++-10",
133+
runs_on: "ubuntu-latest",
134+
container: "ubuntu:24.04",
135+
}
136+
- {
137+
cc: "clang-14",
138+
cxx: "clang++-14",
139+
test_suite: "lint",
140+
package: "clang-14 libc++-dev libc++abi-dev clang-format-14 clang-tidy-14",
141+
runs_on: "ubuntu-latest",
142+
container: "ubuntu:24.04",
143+
}
144+
- {
145+
cc: "gcc-14",
146+
cxx: "g++-14",
147+
test_suite: "unit",
148+
package: "gcc-14 g++-14",
149+
runs_on: "ubuntu-latest",
150+
container: "ubuntu:24.04",
151+
}
152+
- {
153+
cc: "clang",
154+
cxx: "clang++",
155+
test_suite: "unit",
156+
runs_on: "macos-latest",
157+
container: ~,
158+
}
125159
runs-on: ${{ matrix.runs_on }}
126160
container: ${{ matrix.container }}
127161

128162
steps:
163+
- name: Setup container
164+
if: matrix.container == 'ubuntu:24.04'
165+
run: |
166+
apt-get update
167+
apt-get install -y gpg wget curl software-properties-common zip libeigen3-dev libserialport-dev git cmake build-essential ${{ matrix.package }}
129168
130169
- name: Setup container
131170
if: matrix.container == 'ubuntu:18.04'
@@ -142,7 +181,7 @@ jobs:
142181
apt-get install -y libeigen3-dev libserialport-dev git cmake build-essential ${{ matrix.package }}
143182
144183
- name: Checkout source
145-
uses: actions/checkout@v2
184+
uses: actions/checkout@v4.1.7
146185
with:
147186
submodules: recursive
148187
ssh-key: ${{ secrets.SSH_KEY }}
@@ -155,3 +194,17 @@ jobs:
155194
TESTENV: c
156195
run: |
157196
bash ./ci-build.sh
197+
198+
dependabot:
199+
name: "Dependabot"
200+
needs: [unix]
201+
runs-on: ubuntu-latest
202+
if: ${{ github.actor == 'dependabot[bot]' && github.event_name == 'pull_request'}} # Detect that the PR author is dependabot
203+
steps:
204+
- name: Enable auto-merge for Dependabot PRs
205+
run: |
206+
gh pr review --approve "$PR_URL"
207+
gh pr merge --auto --squash "$PR_URL"
208+
env:
209+
PR_URL: ${{github.event.pull_request.html_url}}
210+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

.gitmodules

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[submodule "cmake/common"]
22
path = cmake/common
33
url = https://github.com/swift-nav/cmake.git
4-
[submodule "third_party/check"]
5-
path = third_party/check
6-
url = https://github.com/swift-nav/check.git
4+
[submodule "third_party/googletest"]
5+
path = third_party/googletest
6+
url = git@github.com:google/googletest.git

0 commit comments

Comments
 (0)