diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index dab1983c42..58d5e6829a 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -83,7 +83,7 @@ jobs: fetch-depth: 0 # load all commits - name: Initial repo config run: tools/initial-repo-config.sh - - name: Create installer + - name: Create release package and installer run: tools/create-installer.sh ${{ fromJSON('["", "dev"]')[ matrix.kind == 'dev' ] }} - name: Sign installer run: tools/sign-installer.sh -p '${{ secrets.GHA_MIES_CERTIFICATE_PIN }}' @@ -93,6 +93,7 @@ jobs: with: name: BuildInstaller-${{ matrix.kind }}-assets path: | + *.zip tools/installer/MIES-*.exe if-no-files-found: error diff --git a/Packages/doc/developers.rst b/Packages/doc/developers.rst index 46af49f9a7..45c73d06fd 100644 --- a/Packages/doc/developers.rst +++ b/Packages/doc/developers.rst @@ -1,15 +1,19 @@ Developer ========= +.. _getting MIES: + Getting MIES ------------ -Latest development version from main branch -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Cloning the MIES repository +~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ``git clone --recurse-submodules https://github.com/AllenInstitute/MIES`` -- ``./tools/initial-repo-config.sh`` (Requires a Git Bash shell, named - Git terminal in SourceTree) +- ``./tools/initial-repo-config.sh`` (Requires a Git Bash/Terminal) + +If you only want to **use** MIES and not **develop** it, you can also get the source +code via the `release package `__ as zip file. Building the documentation ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -77,12 +81,35 @@ Cutting a new release - Create a new release on github and check that the Github Actions job correctly uploads the artifacts +Creating a release package manually +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Open a git bash terminal by choosing Actions->"Open in terminal" in + SourceTree +- Checkout the release branch ``git checkout release/$myVersion`` +- If none exists create one with ``git checkout -b release/$myVersion`` +- Change to the ``tools`` directory in the worktree root folder +- Execute ``./create-release.sh`` +- The release package including the version information is then + available as zip file + Continuous integration server ----------------------------- Our `CI server `__, called Github Actions, provides the following services for MIES: +Automatic release package building +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- If a commit is added to the ``main`` or any ``release/*`` branch a CI + pipeline is started +- In this pipeline are some basic tests executed and a new installer is build. + The installer is uploaded to the corresponging release (``latest`` for + ``main``). +- If the commit is added to the ``main`` branch the CI will also create a new + version of the documentation and deploy it to Github Pages. + Compilation testing ~~~~~~~~~~~~~~~~~~~ diff --git a/Packages/doc/installation.rst b/Packages/doc/installation.rst index 7f266dd9eb..4cc05153bd 100644 --- a/Packages/doc/installation.rst +++ b/Packages/doc/installation.rst @@ -151,9 +151,9 @@ install via the Installer package. Windows (with hardware support) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Install the `Visual C++ Redistributable package` `__. - +- Install the `Visual C++ Redistributable package `__ - Quit Igor Pro +- Get the MIES source code, see :ref:`getting MIES` - Create the following shortcuts in ``C:\Users\$username\Documents\WaveMetrics\Igor Pro 9 User Files`` - In ``User Procedures`` a shortcut pointing to @@ -175,9 +175,9 @@ Windows (without hardware) In case you don't have the hardware connected/available which some XOPs require, you can also install MIES without any hardware related XOPs present. -Install the `Visual C++ Redistributable package` `__. - +- Install the `Visual C++ Redistributable package `__ - Quit Igor Pro +- Get the MIES source code, see :ref:`getting MIES` - Create the following shortcuts in ``C:\Users\$username\Documents\WaveMetrics\Igor Pro 9 User Files`` @@ -206,9 +206,7 @@ MacOSX (without hardware) Analysis support only. Data acquisition and NWBv2 export are not supported on MacOSx. - Quit Igor Pro -- Get the MIES source code, see - `here `__ - for instructions. +- Get the MIES source code, see :ref:`getting MIES` - Create the following symlinks in ``/Users/$username/Documents/WaveMetrics/Igor Pro 9 User Files`` @@ -226,3 +224,17 @@ Analysis support only. Data acquisition and NWBv2 export are not supported on Ma - In ``Igor Help Files`` a shortcut pointing to HelpFiles-IP9 - Start Igor Pro + +JSON Configuration folders +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +MIES supports JSON files for loading and storing panel configurations. Although it is +possible to load files from arbitrary paths manually, one can also put the +files into one of the following folders + +- ``Packages/Settings`` in the installation location + +- ``C:/ProgramData/AllenInstitute/MIES/Settings`` + +to execute all of them via :menuselection:`MIES Panels --> Automation --> Load standard configuration` +or by pressing :kbd:`CONTROL-1`. diff --git a/tools/upload-github-release-asset-helper.sh b/tools/upload-github-release-asset-helper.sh index 7cf0402de8..36fb863ba5 100755 --- a/tools/upload-github-release-asset-helper.sh +++ b/tools/upload-github-release-asset-helper.sh @@ -136,7 +136,7 @@ release_description=$(cat <