Skip to content

Commit

Permalink
9.6.2 release candidate
Browse files Browse the repository at this point in the history
* More release notes
* Add more release instructions
* Add the new VisualSoar manual to the release
* Ignore generated files
  • Loading branch information
garfieldnate committed Sep 1, 2023
1 parent 41bea4b commit 10a70ce
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 8 deletions.
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
pdf/
.env
SoarShuffler/SoarRelease/
SoarShuffler/.env
pdf/SoarManual.pdf
5 changes: 3 additions & 2 deletions SoarShuffler/Soar_Projects_Filelist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ SoarSuite_$VERSION
$COMPILE_DIR/include=include
$COMPILE_DIR/tcl=bin/tcl
$COMPILE_DIR/settings.soar=bin
$SOAR_GROUP_REPOS_HOME/Release-Support/SoarShuffler/jars/VisualSoar.jar=bin
$SOAR_GROUP_REPOS_HOME/VisualSoar/VisualSoar.jar=bin
$SOAR_GROUP_REPOS_HOME/Agents/default=Agents/default
$SOAR_GROUP_REPOS_HOME/Release-Support/scripts/SoarCLI.$LAUNCH_EXTENSION=$ROOT
$SOAR_GROUP_REPOS_HOME/Soar/scripts/macOS_setup.command=$ROOT
Expand Down Expand Up @@ -327,7 +327,8 @@ SoarTutorial_$VERSION
$SOAR_GROUP_REPOS_HOME/Release-Support/SoarShuffler/jars/commons-logging-1.1.1.jar=bin/java
$SOAR_GROUP_REPOS_HOME/Release-Support/SoarShuffler/jars/log4j-1.2.15.jar=bin/java
$SOAR_GROUP_REPOS_HOME/Release-Support/SoarShuffler/jars/stopwatch-0.4-with-deps.jar=bin/java
$SOAR_GROUP_REPOS_HOME/Release-Support/SoarShuffler/jars/VisualSoar.jar=bin
$SOAR_GROUP_REPOS_HOME/VisualSoar/VisualSoar.jar=bin
$SOAR_GROUP_REPOS_HOME/VisualSoar/doc/usersman/VisualSoar_UsersManual.pdf=$ROOT
$COMPILE_DIR/settings.soar=bin
$SOAR_GROUP_REPOS_HOME/Release-Support/scripts/SoarCLI.$LAUNCH_EXTENSION=$ROOT
$SOAR_GROUP_REPOS_HOME/Release-Support/scripts/SoarJavaDebugger.$LAUNCH_EXTENSION=$ROOT
Expand Down
20 changes: 16 additions & 4 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,27 @@
## Current Release Process

* Update version numbers in Soar everywhere (see `example_version_bump.patch`). TODO: write some awk to do this automatically.

* Add a new release notes file under the `txt/` directory
* Clone all of SoarGroup's repos into a directory
* generate the manual via the makefile under `ManualSource`, or grab the built one from this repository's GH action workflow result. It should be placed in the `pdf` directory.
* Download the Windows, Mac (x86-64) and Linux builds of Soar from the desired GH action workflow result
* Build the mac_ARM64 version locally (hope you have an M1 or M2 computer :) GH doesn't offer CI for it yet)
* Fix the classpath in the manifest (https://github.com/SoarGroup/VisualSoar/issues/1) and build VisualSoar
* Convert VisualSoar's manual to pdf:
- `brew install basictex`
- open new shell
- `sudo tlmgr install soul`
- `cd VisualSoar/doc/usersman`
- `pandoc -o VisualSoar_UsersManual.pdf VisualSoar_UsersManual.docx`
* Gather the following jar's under SoarShuffler/jars:
- Eaters_TankSoar.jar
- VisualSoar.jar
- commons-logging-1.1.1.jar
- log4j-1.2.15.jar
- stopwatch-0.4-with-deps.jar

VisualSoar and Eaters_TankSoar must be built from their repositories (although I had to fix VisualSoar, see https://github.com/SoarGroup/VisualSoar/issues/1), and the others are in the `lib/` directory in the VisualSoar repository. Note that the log4j one is *not* affected by the famous security bug.

* Set your environment variables for SoarShuffler. Here's my .env for an example:
* Set your environment variables for SoarShuffler. Here's my .env for an example (you can source this automatically using tools like [dotenv](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/dotenv)):

```bash
export SOAR_RELEASE_VERSION=9.6.2
Expand All @@ -27,12 +32,19 @@ export SOAR_WIN_X86_64_COMPILED_DIR=~/Downloads/Soar_windows-x86-64_out
export SOAR_LINUX_X86_64_COMPILED_DIR=~/Downloads/Soar_linux-x86-64_out
export SOAR_MAC_X86_64_COMPILED_DIR=~/Downloads/Soar_mac-x86-64_out
export SOAR_MAC_ARM64_COMPILED_DIR=~/dev/workspaces/c_workspace/Soar/out
export SOAR_GROUP_REPOS_HOME=~/dev/workspaces/c_workspace/
export SOAR_GROUP_REPOS_HOME=~/dev/workspaces/release_soar_workspace
```

* Run SoarShuffle:

cd SoarShuffle
python3 soar_shuffler.py Soar_Projects_Filelist.txt

The script will tell you if it can't find any files that it needs. You'll probably need to run it a couple of times to hunt down all of the files you need. You'll probably want to `rm -rf SoarSuite` between runs, just to make sure you aren't keeping any old files in the release.

You'll get the release directories wherever you specified in the `SOAR_SHUFFLER_OUTPUT_DIR` env var.

* Finally, unzip the release directories in `SoarRelease/SoarSuite` and check that VisualSoar, the debugger, TankSoar, and SoarCLI all work with a simple double-click.
* Share the release with others and get feedback.
* Once you're happy with it, delete the directories you unzipped and, then zip up the `SoarRelease/SoarSuite` directory and upload it to the release on GitHub.
* Push a releases/$VERSION tag for Soar, and $VERSION tags for other Release-Support and VisualSoar.
16 changes: 16 additions & 0 deletions txt/Release_Notes_9.6.2.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,16 @@ Breaking Changes
=================
New Features
=================

() Lots of goodies for VisualSoar (thanks to amnuxoll)
- New user's manual (1.03)
- Support creating custom templates! See the manual for details.
- Parser now supports productions with multiple types
- Persist preferences for font size and divider location
- "Find all productions" search option
- New bottom status bar
- New template for compare operator

() More ergonomic RHS and client message handler registration
We add new overloads for AddRhsFunction and RegisterForClientMessageEvent utilizing
std::function to simplify usage in C++ clients. Clients using class methods for handlers
Expand All @@ -29,6 +39,7 @@ New Features
() Documentation in generated Python SML bindings
Doxygen comments from SML are now added as docstrings to the generated Python bindings
using SWIG's autodoc feature (thanks to Moritz Schmidt).

=================
Other Changes
=================
Expand All @@ -41,6 +52,11 @@ Other Changes
Ctrl-D, it no longer hangs when reading from a pipe, and it can be controlled with the
`expect` Unix utility.

() VisualSoar bug fixes (thanks to amnuxoll):
- Several issues with undo manager
- Highlighted text replace bug
- More Robust Handling of 'file already exists' error

() Infrastructure improvements
- `load library` demo has been folded into automated tests
- CI now runs Python SML tests
Expand Down

0 comments on commit 10a70ce

Please sign in to comment.