pandoc/.github/workflows/release-candidate.yml
dependabot[bot] c34340aaaf
Bump actions/checkout from 2 to 3 (#7986)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-24 17:51:31 -07:00

126 lines
4.4 KiB
YAML

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