Nightly process improvements.

- Use cabal for windows.
- Use most recent cabal/ghc.
- Udd sha1 to executable name.
This commit is contained in:
John MacFarlane 2020-09-22 09:41:40 -07:00
parent 5f33df322c
commit e2e6dbc3a6

View file

@ -12,25 +12,19 @@ jobs:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
export PATH=/opt/cabal/3.2/bin:/opt/ghc/8.8.3/bin:$PATH
ls /opt/cabal/*/bin
ls /opt/ghc/*/bin
ghc --version
cabal --version
cabal v2-update
cabal v2-build --dependencies-only all
- name: Build
run: |
export PATH=/opt/cabal/3.2/bin:/opt/ghc/8.8.3/bin:$PATH
cabal v2-install all
strip $HOME/.cabal/bin/pandoc
cabal v2-install --install-method=copy --installdir=. all
strip pandoc
- name: Install artifact
run: |
export ARTIFACTS=nightly-linux/pandoc-nightly-linux-$(date +%Y-%m-%d)
mkdir -p ${ARTIFACTS}
cp $HOME/.cabal/bin/pandoc ${ARTIFACTS}/
cp COPYRIGHT ${ARTIFACTS}/
echo "Built from ${GITHUB_SHA}" > ${ARTIFACTS}/README.nightly.txt
cp pandoc ${ARTIFACTS}/pandoc-nightly-${GITHUB_SHA}
- uses: actions/upload-artifact@master
with:
name: nightly-linux
@ -42,25 +36,20 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Install stack
shell: cmd
run: |
choco install haskell-stack
- name: Install dependencies
run: |
stack update
stack build --dependencies-only pandoc
ghc --version
cabal --version
cabal v2-update
cabal v2-build --dependencies-only all
- name: Build artifacts
shell: cmd
run: |
cabal v2-install --install-method=copy --installdir=. all
for /f %%a in ('powershell -Command "Get-Date -format yyyy-MM-dd"') do set THEDATE=%%a
set ARTIFACTS=%CD%\nightly-windows\pandoc-nightly-windows-%THEDATE%
mkdir %ARTIFACTS%
stack build pandoc
forfiles /P .\.stack-work\install /M pandoc*.exe /S /C "cmd /C copy @path %%ARTIFACTS%%"
copy COPYRIGHT %ARTIFACTS%
ren %ARTIFACTS%\COPYRIGHT COPYRIGHT.txt
echo Built from %GITHUB_SHA% > %ARTIFACTS%\README.nightly.txt
copy pandoc.exe %ARTIFACTS%\pandoc-nightly-%GITHUB_SHA%.exe
- uses: actions/upload-artifact@master
with:
name: nightly-windows
@ -72,23 +61,21 @@ jobs:
steps:
- uses: actions/checkout@v2
- 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
- name: Build artifacts
ghc --version
cabal --version
cabal v2-update
cabal v2-build --dependencies-only all
- name: Build
run: |
export ARTIFACTS=nightly-macos/pandoc-nightly-macos-$(date +%Y-%m-%d)
cabal v2-install --install-method=copy --installdir=. all
strip pandoc
- name: Install artifact
run: |
export ARTIFACTS=nightly-linux/pandoc-nightly-linux-$(date +%Y-%m-%d)
mkdir -p ${ARTIFACTS}
./stack build pandoc
for f in $(find .stack-work/install -name 'pandoc*' -perm +001 -type f); do cp $f ${ARTIFACTS}/; done
mv ${ARTIFACTS}/pandoc ${ARTIFACTS}/pandoc
cp COPYRIGHT ${ARTIFACTS}/
echo "Built from ${GITHUB_SHA}" > ${ARTIFACTS}/README.nightly.txt
cp pandoc ${ARTIFACTS}/pandoc-nightly-${GITHUB_SHA}
- uses: actions/upload-artifact@master
with:
name: nightly-macos