name: Release candidate on: push: branches: - 'rc/**' jobs: linux: runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v1 - name: Create linux package run: | make debpkg mkdir linux-release-candidate cp linux/artifacts/*.deb linux-release-candidate/ cp linux/artifacts/*.tar.gz linux-release-candidate/ - uses: actions/upload-artifact@v2 with: name: linux-release-candidate path: linux-release-candidate windows: runs-on: windows-2019 strategy: fail-fast: true matrix: versions: - osarch: "windows-x86_64" arch: "x64" choco_opts: "" stack_opts: "-j1" # - osarch: "windows-i386" # arch: "x86" # choco_opts: "--x86 --version 2.1.3.20190715" # stack_opts: "-j1 --flag hslua:lua_32bits" # # we use stack 2.1.3 because 2.3.1 doesn't support i386 steps: - uses: actions/checkout@v1 - name: Install stack shell: cmd run: | choco install haskell-stack ${{ matrix.versions.choco_opts }} - name: Install dependencies run: | stack update stack build ${{ matrix.versions.stack_opts }} --dependencies-only pandoc pandoc-citeproc - name: Create windows package shell: cmd run: | for /f %%a in ('powershell -Command "Get-Date -format yyyy-MM-dd"') do set THEDATE=%%a stack build ${{ matrix.versions.stack_opts }} pandoc pandoc-citeproc for /f "tokens=1-2 delims= " %%a in ('stack exec pandoc -- --version') do ( @set VERSION=%%b goto :next ) :next if "%VERSION%" == "" ( echo Error: could not determine version number. exit /b 1 ) echo Detected version %VERSION% @set WINDOWS=%CD%\windows @set RELEASE=%WINDOWS%\pandoc-%VERSION% mkdir %RELEASE% forfiles /P .\.stack-work\install /M pandoc*.exe /S /C "cmd /C echo @path && echo %%WINDOWS%% && copy @path %%RELEASE%%" stack exec pandoc -- -s --toc MANUAL.txt -o %RELEASE%\MANUAL.html stack exec pandoc -- -s COPYING.md -t rtf -o %RELEASE%\COPYING.rtf copy %RELEASE%\COPYING.rtf %WINDOWS% copy COPYRIGHT %RELEASE%\COPYRIGHT.txt cd windows echo Creating msi... dir @set WIXBIN="c:\Program Files (x86)\WiX Toolset v3.11\bin" @set WORKDIR=%CD% echo Running candle... %WIXBIN%\candle -arch ${{ matrix.versions.arch }} -dVERSION=%VERSION% -dBINPATH=%RELEASE% *.wxs -out wixobj\ if %errorlevel% neq 0 exit /b %errorlevel% echo Running light... %WIXBIN%\light -sw1076 -ext WixUIExtension -ext WixUtilExtension -cultures:en-us -loc Pandoc-en-us.wxl -out %WORKDIR%\pandoc-%VERSION%-${{ matrix.versions.osarch }}-UNSIGNED.msi wixobj\*.wixobj 7z a "pandoc-%VERSION%-${{ matrix.versions.osarch }}.zip" pandoc-%VERSION% cd .. mkdir windows-release-candidate copy windows\pandoc-%VERSION%-${{ matrix.versions.osarch }}-UNSIGNED.msi windows-release-candidate copy windows\pandoc-%VERSION%-${{ matrix.versions.osarch }}.zip windows-release-candidate copy windows\Makefile windows-release-candidate - uses: actions/upload-artifact@v2 with: name: windows-release-candidate path: windows-release-candidate # We now build for macos on travis-ci.com # macos: # runs-on: macOS-10.15 # steps: # - uses: actions/checkout@v1 # - name: Install stack # run: | # curl -L https://get.haskellstack.org/stable/osx-x86_64.tar.gz -o stack.tar.gz # tar xzvf stack.tar.gz --strip-components=1 'stack*/stack' # - name: Install dependencies # run: | # ./stack update # ./stack build --dependencies-only pandoc pandoc-citeproc # - name: Create macOS package # run: | # export VERSION=$(grep '^[Vv]ersion:' pandoc.cabal | awk '{print $$2;}') # export BASEDIR=$(pwd) # export ARTIFACTS=${BASEDIR}/macos-release-candidate # export RESOURCES=${ARTIFACTS}/Resources # export ROOT=${ARTIFACTS}/pandoc # export DEST=${ROOT}/usr/local # export ME=$(whoami) # export BASE=pandoc-$VERSION # mkdir -p ${ARTIFACTS} # mkdir -p ${RESOURCES} # mkdir -p ${DEST}/bin # mkdir -p ${DEST}/share/man/man1 # ./stack build pandoc pandoc-citeproc # for f in $(find .stack-work/install -name 'pandoc*' -perm +001 -type f); do cp $f ${DEST}/bin/; done # strip ${DEST}/bin/pandoc # strip ${DEST}/bin/pandoc-citeproc # cp man/pandoc.1 ${DEST}/share/man/man1/pandoc.1 # ${DEST}/bin/pandoc-citeproc --man > \ # $DEST/share/man/man1/pandoc-citeproc.1 # ${DEST}/bin/pandoc -t html5 -s COPYING.md -Vpagetitle=License \ # -o ${RESOURCES}/license.html # chown -R $ME:staff ${ROOT} # sed -e "s/PANDOCVERSION/${VERSION}/" macos/distribution.xml.in > ${ARTIFACTS}/distribution.xml # cp macos/Makefile ${ARTIFACTS}/ # echo ${VERSION} > ${ARTIFACTS}/version.txt # - uses: actions/upload-artifact@v2 # with: # name: macos-release-candidate # path: macos-release-candidate