blob: 1d22fd5a7a61f09d4e1cdde4e1a4383e285bedd6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
name: Release candidate
on: workflow_dispatch
permissions:
contents: read
jobs:
windows:
runs-on: windows-2022
strategy:
fail-fast: true
matrix:
versions:
- osarch: "windows-x86_64"
arch: "x64"
cabal_opts: '-fembed_data_files -fserver -flua'
steps:
- uses: actions/checkout@v6
- name: Install ghc
run: |
ghcup install ghc --set 9.10
ghcup install cabal --set 3.14
- name: Install dependencies
run: |
cabal update
cabal build ${{ matrix.versions.cabal_opts }} --dependencies-only pandoc-cli
- name: Create windows package
shell: cmd
run: |
for /f %%a in ('powershell -Command "Get-Date -format yyyy-MM-dd"') do set THEDATE=%%a
cabal build ${{ matrix.versions.cabal_opts }} pandoc-cli
for /f "delims=" %%a in ('cabal list-bin ${{ matrix.versions.cabal_opts }} pandoc-cli') do set BINPATH=%%a
echo BINPATH is %BINPATH%
for /f "tokens=1-2 delims= " %%a in ('cabal run ${{ matrix.versions.cabal_opts }} pandoc-cli -- --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%
copy %BINPATH% %RELEASE%
%BINPATH% -s --toc MANUAL.txt -o %RELEASE%\MANUAL.html
%BINPATH% -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.14\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
- name: upload-unsigned-artifact
id: upload-unsigned-artifact
uses: actions/upload-artifact@v6
with:
name: windows-release-candidate-unsigned
path: windows-release-candidate-unsigned
- name: sign-artifact
id: sign-artifact
uses: signpath/github-action-submit-signing-request@v2
with:
api-token: '${{ secrets.SIGNPATH_API_TOKEN }}'
organization-id: 'd330f023-29aa-44e4-b90b-ae1c570f4a25'
project-slug: 'pandoc'
signing-policy-slug: 'test-signing'
github-artifact-id: '${{ steps.upload-unsigned-artifact.outputs.artifact-id }}'
wait-for-completion: true
output-artifact-directory: 'windows-release-candidate'
macos:
runs-on: macos-15-intel
steps:
- uses: actions/checkout@v6
- name: Install ghcup
run: |
brew install ghcup
- name: Install ghc and cabal
run: |
ghcup install ghc --set 9.10
ghcup install cabal --set 3.14
echo "$HOME/.ghcup/bin" >> "${GITHUB_PATH}"
- name: Create release
run: |
sh macos/make_macos_release.sh
- uses: actions/upload-artifact@v6
with:
name: macos-x86_64
path: macos-x86_64
# linux:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v6
# - 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@v6
# with:
# name: linux-release-candidate
# path: linux-release-candidate
|