Skip to content

Commit

Permalink
Merge pull request #113 from i3drobotics/feature/v1.3.5
Browse files Browse the repository at this point in the history
v1.3.5
  • Loading branch information
benknight135 committed Nov 30, 2021
2 parents ab0f55a + 2c82f63 commit 3c17298
Show file tree
Hide file tree
Showing 13 changed files with 138 additions and 37 deletions.
24 changes: 24 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,30 @@ jobs:
# Checkout submodules (required for fever module used in app update system)
- name: Checkout submodules
run: git submodule update --init --recursive

# Get project version
- name: Get project version
shell: bash
run: |
PROJ_VER=$(cat version.txt)
echo "SVTK_VERSION=$PROJ_VER" >> $GITHUB_ENV
# Get latest released version
- uses: oprypin/find-latest-tag@v1
with:
repository: i3drobotics/stereo-vision-toolkit # The repository to scan.
releases-only: true # All relevant tags have a GitHub release for them.
id: latest-svtk # The step ID to refer to later.
- name: Get latest released version
shell: bash
run: |
LATEST_SVTK_VERSION=${{steps.latest-svtk.outputs.tag}}
LATEST_SVTK_VERSION=${LATEST_SVTK_VERSION:1}
echo "LATEST_SVTK_VERSION=$LATEST_SVTK_VERSION" >> $GITHUB_ENV
# Check build version is greater than latest released version
- name: Version check
shell: bash
run: ./scripts/version-check.sh $SVTK_VERSION $LATEST_SVTK_VERSION

# Setup build environment
- name: Install Qt
uses: jurplel/install-qt-action@v2
Expand Down
24 changes: 24 additions & 0 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,30 @@ jobs:
# Checkout submodules (required for fever module used in app update system)
- name: Checkout submodules
run: git submodule update --init --recursive

# Get project version
- name: Get project version
shell: bash
run: |
PROJ_VER=$(cat version.txt)
echo "SVTK_VERSION=$PROJ_VER" >> $GITHUB_ENV
# Get latest released version
- uses: oprypin/find-latest-tag@v1
with:
repository: i3drobotics/stereo-vision-toolkit # The repository to scan.
releases-only: true # All relevant tags have a GitHub release for them.
id: latest-svtk # The step ID to refer to later.
- name: Get latest released version
shell: bash
run: |
LATEST_SVTK_VERSION=${{steps.latest-svtk.outputs.tag}}
LATEST_SVTK_VERSION=${LATEST_SVTK_VERSION:1}
echo "LATEST_SVTK_VERSION=$LATEST_SVTK_VERSION" >> $GITHUB_ENV
# Check build version is greater than latest released version
- name: Version check
shell: bash
run: ./scripts/version-check.sh $SVTK_VERSION $LATEST_SVTK_VERSION

# Setup build environment
- name: Install Qt
uses: jurplel/install-qt-action@v2
Expand Down
10 changes: 5 additions & 5 deletions Appcast.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<rss
version="1.3.4"
version="1.3.5"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle"
xmlns:fervor="https://github.com/pypt/fervor"
Expand All @@ -14,8 +14,8 @@
<atom:link href="https://github.com/i3drobotics/stereo-vision-toolkit/releases/latest/download/Appcast.xml" rel="self" type="application/rss+xml" />

<item>
<title>Version 1.3.4</title>
<pubDate>Mon, 29 November 2021 13:15 +0000</pubDate>
<title>Version 1.3.5</title>
<pubDate>Mon, 29 November 2021 17:15 +0000</pubDate>
<guid isPermaLink="true">https://github.com/i3drobotics/stereo-vision-toolkit/releases/latest/download/ReleaseNotes.html</guid>

<!-- One of those (<link> is preferred by Fervor, <sparkle:releaseNotesLink> is used by Sparkle) -->
Expand All @@ -28,8 +28,8 @@

<!-- Windows version. -->
<enclosure
url="https://github.com/i3drobotics/stereo-vision-toolkit/releases/latest/download/StereoVisionToolkit-1.3.4-Win64.exe"
fervor:version="1.3.4"
url="https://github.com/i3drobotics/stereo-vision-toolkit/releases/latest/download/StereoVisionToolkit-1.3.5-Win64.exe"
fervor:version="1.3.5"
fervor:platform="Q_OS_WIN32"
length="884596358"
type="application/octet-stream" />
Expand Down
20 changes: 8 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,15 +85,11 @@ There is an issue where QT doesn't use the generic vc redist package and instead
Arduino code for controlling Phobos cameras is provided in src/camera/camera_control.
This is for the serial communication between the arduino and this toolkit. See [issue](https://github.com/i3drobotics/stereo-vision-toolkit/issues/54) for more information.

### Procedure for new main release
1. Update version number manually in version.txt and in ReleaseNotesDev.html. Then run update_appcast.bat to update the appcast (**DO NOT PUSH THESE CHANGES YET**). Use a or b in version number to denote alpha and beta releases. (e.g. v1.3.1a.19).
2. Update ReleaseNotes.html with improvements, bug fixes, and known issues.
3. Build new version (Make sure to use the build arguments: 'CONFIG+=WITH_I3DRSGM')
4. Create installer using inno setup (right click 'installer.iss' and click 'compile')
6. Update Appcast.xml enclosure length with the file size of the installer
5. On [GitHub](https://github.com/i3drobotics/stereo-vision-toolkit/releases) create new release
a. Tag should match version number of toolkit (e.g. v1.3.1) and target 'main' branch.
b. Title should have the program name and version (e.g. 'Stereo Vision Toolkit v1.3.1')
d. Description should list improvements, bug fixes, and known issues (which should match release notes).
e. Upload stereo toolkit installer
6. Once installer is uploaded to release, push the repository file changes, check the changes have been pushed to the GitHub repository and then publish the release. It is important to do this quickly and in the correct order to make sure the updater remains valid.
### Procedure for new release
1. To make changes create a branch of the main repository with the name SVTK-XXX where XXX is the issue number of the task you are working on. If you are working on a code changing task (e.g. a task that will need building / testing of code) then you should create a feature branch e.g. feature/SVTK-XXX so that it is picked up by the automatic build process.
2. Make your changes to the new branch.
2. Update version number in version.txt. Then run update_version.bat to update the version number across repo.
3. Update ReleaseNotes.html with improvements, bug fixes, and known issues.
4. Update the changelog.txt file with the changes the changes you have made and the associated GitHub issue number.
6. Create a pull request on GitHub for merging your branch to the main branch.
7. Once the code has been tested and approved, merge the branch to the main branch. This will automatically create a new release.
2 changes: 1 addition & 1 deletion ReleaseNotes.html
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Stereo Vision Toolkit

Changes:
- Deployment process improvements
- Removed development releases. Single main release is now sole release version to reduce complexity.

Known issues:
- Requires manual restart after installation.
Expand Down
7 changes: 7 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
# Stereo Vision Toolkit Changelog
Each change is tied to a GitHub issue see [issues](https://github.com/i3drobotics/stereo-vision-toolkit/issues) for details

# v1.3.5
## New Features
- Add SHOW_CONSOLE build option for debugging release build [#107](https://github.com/i3drobotics/stereo-vision-toolkit/issues/107)
- Add version check to workflows [#111](https://github.com/i3drobotics/stereo-vision-toolkit/issues/111)
## Update
- Remove DEV_BRANCH from build options due to no longer being used [#107](https://github.com/i3drobotics/stereo-vision-toolkit/issues/107)

# v1.3.4
## Updates
- Improve GitHub review and build process [#97](https://github.com/i3drobotics/stereo-vision-toolkit/issues/97) [#99](https://github.com/i3drobotics/stereo-vision-toolkit/issues/99)
Expand Down
4 changes: 2 additions & 2 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
<body>
<h1>Industrial 3D Robotics</h1>
<h2>Stereo Vision Toolkit</h2>
<h3>Latest release: 1.3.4</h3>
<button onclick="location.href='https://github.com/i3drobotics/stereo-vision-toolkit/releases/latest/download/StereoVisionToolkit-1.3.4-Win64.exe'" type="button">
<h3>Latest release: 1.3.5</h3>
<button onclick="location.href='https://github.com/i3drobotics/stereo-vision-toolkit/releases/latest/download/StereoVisionToolkit-1.3.5-Win64.exe'" type="button">
Download</button>
<button onclick="location.href='app/UserGuide.pdf'" type="button">
User Guide</button>
Expand Down
2 changes: 1 addition & 1 deletion release.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Stereo Vision Toolkit

Changes:
- Deployment process improvements
- Removed development releases. Single main release is now sole release version to reduce complexity.

Known issues:
- Requires manual restart after installation.
Expand Down
4 changes: 2 additions & 2 deletions scripts/build.bat
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ call "%visual_studio_path%\VC\Auxiliary\Build\vcvars64.bat"
mkdir build
cd build
:: release build
qmake.exe "CONFIG+=qtquickcompiler CONFIG+=DEV_BRANCH CONFIG+=WITH_I3DRSGM" ..\stereo_vision_toolkit.pro -spec win32-msvc
qmake.exe "CONFIG+=qtquickcompiler CONFIG+=WITH_I3DRSGM" ..\stereo_vision_toolkit.pro -spec win32-msvc
%qt_creator_path%\jom.exe
:: debug build
qmake.exe "CONFIG+=debug CONFIG+=qml_debug CONFIG+=qtquickcompiler CONFIG+=DEV_BRANCH CONFIG+=WITH_I3DRSGM" ..\stereo_vision_toolkit.pro -spec win32-msvc
qmake.exe "CONFIG+=debug CONFIG+=qml_debug CONFIG+=qtquickcompiler" ..\stereo_vision_toolkit.pro -spec win32-msvc
%qt_creator_path%\jom.exe

:: reset working directory
Expand Down
59 changes: 59 additions & 0 deletions scripts/version-check.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#!/bin/bash

BUILD_VERSION=$1
LATEST_VERSION=$2

# modified from: https://stackoverflow.com/a/4025065

# compare version strings
vercomp () {
if [[ $1 == $2 ]]
then
return 0
fi
local IFS=.
local i ver1=($1) ver2=($2)
# fill empty fields in ver1 with zeros
for ((i=${#ver1[@]}; i<${#ver2[@]}; i++))
do
ver1[i]=0
done
for ((i=0; i<${#ver1[@]}; i++))
do
if [[ -z ${ver2[i]} ]]
then
# fill empty fields in ver2 with zeros
ver2[i]=0
fi
if ((10#${ver1[i]} > 10#${ver2[i]}))
then
return 1
fi
if ((10#${ver1[i]} < 10#${ver2[i]}))
then
return 2
fi
done
return 0
}

# check arg1 version is greater than arg2 version
vergt () {
vercomp $1 $2
res=$?
# case $? in
# 0) op='=';;
# 1) op='>';;
# 2) op='<';;
# esac
if [[ $res != 1 ]]
then
echo "ERROR: Build Version must be greater than currently released version."
else
echo "Build version is valid."
fi
}

echo "BUILD_VERSION: $BUILD_VERSION"
echo "LATEST_VERSION: $LATEST_VERSION"
vergt $BUILD_VERSION $LATEST_VERSION
2 changes: 1 addition & 1 deletion src/svtkwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@ void SVTKWindow::checkUpdates(){

// Set the Fervor appcast url
//TODO fix developer version update system
FvUpdater::sharedUpdater()->SetFeedURL("https://raw.githubusercontent.com/i3drobotics/stereo-vision-toolkit/main/Appcast.xml");
FvUpdater::sharedUpdater()->SetFeedURL("https://github.com/i3drobotics/stereo-vision-toolkit/releases/latest/download/Appcast.xml");

// Print current version to debug
qDebug() << FV_APP_NAME << FV_APP_VERSION;
Expand Down
15 changes: 3 additions & 12 deletions stereo_vision_toolkit.pro
Original file line number Diff line number Diff line change
Expand Up @@ -32,18 +32,9 @@ CONFIG += doc
CONFIG -= debug_and_release
CONFIG -= debug_and_release_target

# Define if doing development build
# !! ONLY USE WHEN ON DEVELOPMENT BRANCH !!
# !! MAKE SURE TO REMOVE THIS BUILD OPTION WHEN DOING RELEASE !!
DEV_BRANCH {
message("Development build")
message("!! MAKE SURE TO REMOVE [CONFIG+=DEV_BRANCH] BUILD OPTION WHEN DOING MAIN RELEASE !!")
DEFINES += DEV_BRANCH

CONFIG(debug, debug|release) { #debug
}else { # release
CONFIG += console
}
# Option to build with console window
SHOW_CONSOLE {
CONFIG += console
}

# Setup FERVOR defines
Expand Down
2 changes: 1 addition & 1 deletion version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.3.4
1.3.5

0 comments on commit 3c17298

Please sign in to comment.