Skip to content

Commit

Permalink
Merge branch 'release/v13.6.0' into stable
Browse files Browse the repository at this point in the history
  • Loading branch information
gloppyuser committed Nov 3, 2022
2 parents e29355b + 1405ccf commit 07da8f9
Show file tree
Hide file tree
Showing 545 changed files with 952 additions and 2,016,480 deletions.
148 changes: 35 additions & 113 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,20 @@ static_analysis:
# Allow failures here to prevent blocking the rest of the pipeline.
allow_failure: true

submodule_check:
stage: check
needs: []
extends: .normal_job
tags:
- docker-executor
variables:
GIT_SUBMODULE_UPDATE_FLAGS: --remote
only:
- main
image: $DOCKER_REGISTRY/sgl/debian-10:pkgbuild
script:
- (! git status --porcelain | grep 'M data')

# sgl_lint will verify that source files have proper copyright.
sgllint_lint:
stage: check
Expand Down Expand Up @@ -384,25 +398,6 @@ conda_op2_build:
PKG_TYPE: "pkg_max"
extends: .build_conda

rhel7_build:
stage: build
needs: []
extends: .normal_job
tags:
- docker-executor
image: $DOCKER_REGISTRY/sgl/centos-7:pkgbuild
script:
# Install dependencies from latest CI first.
- bash rpm_files/install_required_deps_rpm.sh package_redhat pkg_min
- mkdir -p build
- cd build
- export gnsstk=`pwd`/install
- cmake -DCMAKE_INSTALL_PREFIX=install -DBUILD_EXT=ON -DTEST_SWITCH=ON -DPYTHON_EXECUTABLE=/usr/bin/python3 ../
- make all -j 4
artifacts:
paths:
- build/

rhel8_build:
stage: build
needs: []
Expand Down Expand Up @@ -670,24 +665,6 @@ deb11_op2_test:
dependencies:
- deb11_op2_build

rhel7_test:
stage: test
needs: [rhel7_build]
extends: .normal_job
tags:
- docker-executor
image: $DOCKER_REGISTRY/sgl/centos-7:pkgbuild
script:
- bash rpm_files/install_required_deps_rpm.sh package_redhat pkg_min
- cd build
- ctest -j 4
artifacts:
when: on_failure
paths:
- build/Testing/Temporary/
dependencies:
- rhel7_build

rhel8_test:
stage: test
needs: [rhel8_build]
Expand Down Expand Up @@ -898,25 +875,6 @@ deb11_user_install:
dependencies:
- deb11_build

rhel7_user_install:
stage: install
needs: [rhel7_build]
extends: .normal_job
tags:
- docker-executor
image: $DOCKER_REGISTRY/sgl/centos-7:pkgbuild
script:
- bash rpm_files/install_required_deps_rpm.sh package_redhat pkg_min
- cd build
- export gnsstk=`pwd`/install
- cmake -DCMAKE_INSTALL_PREFIX=$gnsstk -DPYTHON_EXECUTABLE=/usr/bin/python3 ../
- make install -j 4
artifacts:
paths:
- build/install
dependencies:
- rhel7_build

rhel8_user_install:
stage: install
needs: [rhel8_build]
Expand Down Expand Up @@ -1040,23 +998,6 @@ deb11_system_install:
dependencies:
- deb11_build


rhel7_system_install:
stage: install
needs: [rhel7_build]
extends: .normal_job
tags:
- docker-executor
image: $DOCKER_REGISTRY/sgl/centos-7:pkgbuild
script:
- bash rpm_files/install_required_deps_rpm.sh package_redhat pkg_min
- cd build
- export gnsstk=/usr/local
- cmake -DCMAKE_INSTALL_PREFIX=$gnsstk -DPYTHON_EXECUTABLE=/usr/bin/python3 ../
- sudo make install -j 4
dependencies:
- rhel7_build

rhel8_system_install:
stage: install
needs: [rhel8_build]
Expand Down Expand Up @@ -1086,10 +1027,16 @@ package_debian_9:
- docker-executor
image: $DOCKER_REGISTRY/sgl/debian-9:pkgbuild
script:
# kludge for dpkg
- rm -f .gitmodules
# Install dependencies from latest CI first.
- bash debian/install_required_deps_debian.sh package_debian_9 pkg_min
# Remove any directories left over from the above script.
- rm -rf packages
# Mark the debian log so that this package is a backport.
# Use the most recent Maintainer as current maintainer.
- export DEBEMAIL=$(dpkg-parsechangelog -S Maintainer)
- dch --bpo "No Changes"
- dpkg-buildpackage -us -uc -d --changes-option="-DDistribution=stretch-sgl"
- mkdir debs
- mv ../*.deb debs
Expand All @@ -1112,6 +1059,8 @@ package_debian_10:
- docker-executor
image: $DOCKER_REGISTRY/sgl/debian-10:pkgbuild
script:
# kludge for dpkg
- rm -f .gitmodules
# Install dependencies from latest CI first.
- bash debian/install_required_deps_debian.sh package_debian_10 pkg_min
# Remove any directories left over from the above script.
Expand Down Expand Up @@ -1142,6 +1091,8 @@ package_debian_11:
- docker-executor
image: $DOCKER_REGISTRY/sgl/debian-11:pkgbuild
script:
# kludge for dpkg
- rm -f .gitmodules
# Install dependencies from latest CI first.
- bash debian/install_required_deps_debian.sh package_debian_11 pkg_min
# Remove any directories left over from the above script.
Expand Down Expand Up @@ -1189,25 +1140,6 @@ package_conda:
- conda-bld/linux-64/
dependencies: []

package_redhat:
stage: package
needs: []
extends: .normal_job
tags:
- docker-executor
image: $DOCKER_REGISTRY/sgl/centos-7:pkgbuild
script:
- bash rpm_files/install_required_deps_rpm.sh package_redhat pkg_min
- bash rpm_files/setup_dirs.sh
- git archive --prefix gnsstk-apps-master/ -o rpm_files/SOURCES/gnsstk-apps-master.tar.gz HEAD
- pushd rpm_files
- rpmbuild --define "_topdir ${PWD}" --define "debug_package %{nil}" -ba SPECS/gnsstk-apps.spec
artifacts:
paths:
- rpm_files/RPMS/x86_64/gnsstk-*
- rpm_files/SRPMS/gnsstk-*
dependencies: []

package_redhat_8:
stage: package
needs: []
Expand Down Expand Up @@ -1376,22 +1308,6 @@ deb11_deploy:
dependencies:
- package_debian_11

rhel7_deploy:
stage: deploy
needs: [package_redhat]
extends: .package_deploy
tags:
- docker-executor
image: $DOCKER_REGISTRY/sgl/centos-7:pkgbuild
script:
# Install dependencies from latest CI first.
- bash rpm_files/install_required_deps_rpm.sh package_redhat pkg_min
- cd rpm_files/RPMS/x86_64/
- sudo yum install gnsstk-*.rpm -y
- timeconvert
dependencies:
- package_redhat

rhel8_deploy:
stage: deploy
needs: [package_redhat_8]
Expand All @@ -1415,10 +1331,16 @@ push_artifacts:
variables:
- $BLD_ONLY_VS2019 == "True"
variables:
# CONDA_PACKAGES: "conda-bld/linux-64/*.tar.bz2"
DEB_9_PACKAGES: "debs/*-1_amd64.deb"
DEB_9_PACKAGES: "debs/*bpo9*.deb"
DEB_10_PACKAGES: "debs/*bpo10*.deb"
DEB_11_PACKAGES: "debs/*bpo11*.deb"
#RPM_PACKAGES: "rpm_files/RPMS/x86_64/*.rpm"
needs: [package_conda, package_debian_9, package_debian_10, package_debian_11, package_redhat, package_redhat_8]
dependencies: [package_conda, package_debian_9, package_debian_10, package_debian_11, package_redhat, package_redhat_8]
needs: [package_conda, package_debian_9, package_debian_10, package_debian_11, package_redhat_8]
dependencies: [package_conda, package_debian_9, package_debian_10, package_debian_11, package_redhat_8]

push_artifacts_windows:
extends:
- .push_selected_artifacts
- .vs2019_job
stage: push
needs: [package_windows_vs2019]
dependencies: [package_windows_vs2019]
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "data"]
path = data
url = ../gnsstk-data.git
branch = main
6 changes: 3 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
# Is dependend on by $NAVSAT_TOOLS/build.sh
#============================================================

cmake_minimum_required( VERSION 2.8.4 )
cmake_policy( VERSION 2.8.4 )
cmake_minimum_required( VERSION 3.7.2 )
cmake_policy( VERSION 3.7.2 )

project( NAVSAT_TOOLS )
set( NAVSAT_TOOLS_VERSION_MAJOR "13" )
set( NAVSAT_TOOLS_VERSION_MINOR "5" )
set( NAVSAT_TOOLS_VERSION_MINOR "6" )
set( NAVSAT_TOOLS_VERSION_PATCH "0" )
set( NAVSAT_TOOLS_VERSION "${NAVSAT_TOOLS_VERSION_MAJOR}.${NAVSAT_TOOLS_VERSION_MINOR}.${NAVSAT_TOOLS_VERSION_PATCH}" )
set( CPACK_PACKAGE_VERSION_MAJOR ${NAVSAT_TOOLS_VERSION_MAJOR} )
Expand Down
19 changes: 19 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
# Version 13.6.0 Monday October 31, 2022

Modifications by Author
-----------------------
Dan Wright <[email protected]> (1):
Changed minimum cmake version

David Barber <[email protected]> (1):
fix pipeline push artifacts

John Knutson <[email protected]> (5):
Change throw() to noexcept
Split test data into a separate repo
navdump enhancements in support of GLONASS work
Merge the contents of the old UsingWhereSat.md file with the WhereSat...
Fix ddbase tests to not output to the same file



# Version 13.5.0 Thursday August 25, 2022

Modifications by Author
Expand Down
3 changes: 1 addition & 2 deletions Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ PROJECT_NAME = "GPS ToolKit Software Library"
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = 13.5.0
PROJECT_NUMBER = 13.6.0

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down Expand Up @@ -819,7 +819,6 @@ INPUT = MAINPAGE.txt \
INSTALL.md \
INTRO.txt \
HOWTO.txt \
core/apps/visibility/UsingWhereSat.md \
ref/doxygen/ \
core/apps \
ext/apps
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,9 @@ The most recent version of the GNSSTk source code can be found here:
* http://www.gnsstk.org
* https://github.com/SGL-UT/GNSSTk

Note: As of the October 2022 release, submodules are being used for
test data. Refer to TESTING.md for details.

The tools used for the build and install frameworks are cross-platform, including CMake

Automated build and install is supported on POSIX platforms with the
Expand Down
25 changes: 16 additions & 9 deletions RELNOTES.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,28 @@
GNSSTk-APPs 13.5.0 Release Notes
GNSSTk-APPs 13.6.0 Release Notes
========================

* This release includes the following:
* Updating `WhereSat` to add almanac support.
* Updating `sats.csv` to match finalized format
* Adding navdump enhancements in support of GLONASS work.
* Adding Merge UsingWhereSat.md into the WhereSat.cpp doxygen documentation.
* Splitting test data into a separate repo with submodule configuration.
* Additionally, it contains build tests and CI updates.

Updates since v13.4.2
Updates since v13.5.0
---------------------

**Build System and Test Suite**
* Fix rineditnav tests so they don't clobber each other's output for random failures.
* Fix ddbase tests that were writing to the same output file
* Update Changed the minimum cmake version

**Gitlab CI**
* Add sonar scan job to pipeline
* Update replaced sgl_ci docker images with sgl equivalent
* Fix pipeline push artifacts

**Library Changes**
* Update WhereSat to add almanac support
* Update sats.csv to match finalized format
* Add navdump support for internal time system conversion
* Add navdump support for more precise time stamps
* Add navdump detail to xvt output
* Add navdump option to request XVTs using a text file
* Add navdump option for printing satellite positions in geodetic coordinates
* Add Merge UsingWhereSat.md into the WhereSat.cpp doxygen documentation.
* Update Split test data into a separate repo with submodule configuration
* Update exception specifications from throw() to noexcept
52 changes: 52 additions & 0 deletions TESTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,58 @@ Any expected result data should be placed in the gnsstk/data/expected/ directory
Also, any further sub-organization of the testing data is left to the developer's discretion, but make sure that the name of the grouped content is clear. For example, if testing an app called foo required one of each of the Rinex filetypes for a single day, all of the data could be grouped into a directory named for the day.


Submodules
----------

As of the October 2022 release, the test data for gnsstk-apps is kept in an
independent repository and managed via submodules.

If you wish to run the unit tests, new clones can be created
with the --recurse-submodules option, e.g.

git clone --recurse-submodules $GITSERVER/gnsstk-apps.git

For existing clones, you can set up the submodules using:

git fetch
git submodule update --init


Changes to the code repositories work the same as always. If you need
to make changes to the test data repo, you should also make sure that
the source repos have a consistent link to that changed repo.

During development, you can use commands like the following to make
temporary changes which will be reflected in the CI pipeline
(replacing "feature/tks-XXX" with the branch name you want to use for
the data repo changes):

~/src/gnsstk-apps$ cd data
~/src/gnsstk-apps/data$ git checkout -b "feature/tks-XXX" main
*edit, change, etc.*
~/src/gnsstk-apps/data$ git commit -am "Made some changes"
~/src/gnsstk-apps/data$ git push -u origin "feature/tks-XXX"
~/src/gnsstk-apps/data$ cd ..
~/src/gnsstk-apps$ git commit -am "Made some changes"
~/src/gnsstk-apps$ git push

*NOTE: this will push a commit that contains a change of the submodule
commit reference to the above branch*

When the CI pipeline for the code repository (gnsstk-apps) succeeds, you
can merge the changes to the *data* repository (gnsstk-data). After
those changes are merged, you will need to update the code submodule
commit reference:

~/src/gnsstk-apps$ git submodule update --recursive --remote
~/src/gnsstk-apps$ git commit -am "Updated test data submodule reference"
~/src/gnsstk-apps$ git push

The CI pipeline should complete successfully. Repeat this in other
repositories that use the gnsstk-data repo as a submodule (e.g
gnsstk).



Examples
--------
Expand Down
Loading

0 comments on commit 07da8f9

Please sign in to comment.