name: Release candidate on: push: branches: - 'rc/**' permissions: contents: read jobs: linux: runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v3 - 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" stack_opts: "-j1" steps: - uses: actions/checkout@v3 - name: Install dependencies run: | stack update stack build ${{ matrix.versions.stack_opts }} --dependencies-only pandoc - 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 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 macos: runs-on: macOS-10.15 steps: - uses: actions/checkout@v3 - name: Build executable run: | stack --no-terminal setup stack --no-terminal update stack --no-terminal install - name: Create artifacts run: | export VERSION=$(grep '^[Vv]ersion:' pandoc.cabal | awk '{print $$2;}') export ARTIFACTS=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 cp ~/.local/bin/pandoc ${DEST}/bin/ strip ${DEST}/bin/pandoc cp man/pandoc.1 ${DEST}/share/man/man1/pandoc.1 ~/.local/bin/pandoc -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