74 lines
2.2 KiB
YAML
74 lines
2.2 KiB
YAML
version: "2.1"
|
|
jobs:
|
|
build:
|
|
macos:
|
|
xcode: 11.1.0
|
|
environment:
|
|
HOMEBREW_NO_AUTO_UPDATE: 1
|
|
steps:
|
|
- checkout
|
|
- restore_cache:
|
|
# See https://circleci.com/docs/2.0/caching/
|
|
name: Restore Cached Dependencies
|
|
keys:
|
|
- stack-dependencies-{{ checksum "stack.yaml" }}
|
|
- run:
|
|
name: Install stack
|
|
command: |
|
|
brew install ghc
|
|
brew install haskell-stack
|
|
- run:
|
|
name: Resolve/Update Dependencies
|
|
command: stack --no-terminal setup
|
|
- run:
|
|
name: Run tests
|
|
command: stack --no-terminal test
|
|
- run:
|
|
name: Install executable
|
|
command: stack --no-terminal install
|
|
- run:
|
|
name: Create artifacts
|
|
command: |
|
|
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
|
|
zip -r macos-release-candidate.zip ${ARTIFACTS}
|
|
|
|
- save_cache:
|
|
name: Cache Dependencies
|
|
key: stack-dependencies-{{ checksum "stack.yaml" }}
|
|
paths:
|
|
- "/root/.stack"
|
|
- ".stack-work"
|
|
- "/usr/local/bin/stack"
|
|
|
|
- store_artifacts:
|
|
# https://circleci.com/docs/2.0/artifacts/
|
|
path: macos-release-candidate.zip
|
|
destination: macos-release-candidate.zip
|
|
|
|
workflows:
|
|
version: 2
|
|
release:
|
|
jobs:
|
|
- build:
|
|
filters:
|
|
branches:
|
|
only:
|
|
- /rc\/.*/
|