Wiki

Clone wiki

sagittarius-scheme / Release process

How to release:

The current release process is pretty much easy (may not look professional but hey!)

Steps:

  1. Run the sagittarius-release.sh
  2. Create Windows installers with the source directory created above step. (both 32 and 64 bits)
  3. Write release notes on bitbucket.org wiki
  4. Upload the tarball and installers
  5. Update documents on GitHub

As an extra step, we also build the tarball on a couple of Linux environments if possible.

sagittarius-release.sh

#!/bin/sh

SRC_DIR=sagittarius.dist
WORK_DIR=build
#
if [ -d "$SRC_DIR" ]; then
    rm -rf $SRC_DIR
fi

git clone https://bitbucket.org/ktakashi/sagittarius-scheme.git $SRC_DIR
cd $SRC_DIR
./dist.sh gen
cd ../

if [ -d "$WORK_DIR" ]; then
    rm -rf $WORK_DIR
fi

mkdir $WORK_DIR
cd $WORK_DIR
cmake ../$SRC_DIR
make
make doc
make online-doc
make test
make install -j 8
../$SRC_DIR/dist.sh dist ../$SRC_DIR

For Windows, we can use this (suppose we already generated the stub/precompiled files)

@echo off

set SRC_DIR=%1
echo Source directory %SRC_DIR%
if not exist "%SRC_DIR%" (
  echo "%SRC_DIR% not found"
  goto exit
)

for /f "usebackq delims=#" %%a in (`"%programfiles(x86)%\Microsoft Visual Studio\Installer\vswhere" -latest -property installationPath`) do set VsDevCmd_Path=%%a\VC\Auxiliary\Build\vcvars32.bat

if [%2] equ [x64] (
  call "%VsDevCmd_Path%" x86_amd64
  set ARCH=x64
) else (
  call "%VsDevCmd_Path%"
  set ARCH=x86
)

rem set VSCMD_DEBUG=
set VsDevCmd_Path=

set WORK_DIR="win_%ARCH%"
md %WORK_DIR%
cd %WORK_DIR%

cmake %SRC_DIR% -G"NMake Makefiles" -Denable_threads=ON -Denable_parallel_mark=ON

nmake
nmake test

"%programfiles(x86)%\Inno Setup 6\iscc.exe" /Qp win\innosetup.iss
cd ..

:exit

Updated