b3fdfb912c
Otherwise we seem to get a full copy of the file!
127 lines
4.5 KiB
YAML
127 lines
4.5 KiB
YAML
name: Release candidate
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- 'rc/**'
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
linux:
|
|
|
|
runs-on: ubuntu-latest
|
|
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-11
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Build executable
|
|
run: |
|
|
stack --no-terminal setup
|
|
stack --no-terminal update
|
|
stack --no-terminal install --ghc-options='-j4 +RTS -A256m -RTS -split-sections'
|
|
|
|
- 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
|
|
cp man/pandoc-server.1 ${DEST}/share/man/man1/pandoc-server.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
|