name: Nightly on: schedule: - cron: '21 */6 * * *' jobs: linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Install recent cabal/ghc run: | sudo add-apt-repository ppa:hvr/ghc sudo apt-get update sudo apt-get install ghc-8.6.5 cabal-install-2.4 - name: Install dependencies run: | export PATH=/opt/cabal/bin:/opt/ghc/bin:$PATH cabal v2-update cabal v2-build --dependencies-only . pandoc-citeproc - name: Build run: | export PATH=/opt/cabal/bin:/opt/ghc/bin:$PATH cabal v2-install . pandoc-citeproc - name: Install artifact run: | export SUFFIX=nightly-$(date +%Y-%m-%d) export ARTIFACTS=nightly-linux mkdir -p ${ARTIFACTS} cp $HOME/.cabal/bin/pandoc ${ARTIFACTS}/pandoc-${SUFFIX} cp $HOME/.cabal/bin/pandoc-citeproc ${ARTIFACTS}/pandoc-citeproc-${SUFFIX} cp COPYRIGHT ${ARTIFACTS}/ echo "Built from ${GITHUB_SHA}" > ${ARTIFACTS}/README.nightly.txt - uses: actions/upload-artifact@master with: name: nightly-linux path: nightly-linux windows: runs-on: windows-latest steps: - uses: actions/checkout@v1 - name: Install stack shell: cmd run: | choco install haskell-stack - name: Install dependencies run: | stack update stack build --dependencies-only pandoc pandoc-citeproc - name: Build artifacts shell: cmd run: | for /f "tokens=2,3,4 usebackq delims=:/ " %a in ('%date%') do set OURDATE=%c-%a-%b export SUFFIX=nightly-%OURDATE% export ARTIFACTS=nightly-windows mkdir %ARTIFACTS% stack build pandoc pandoc-citeproc forfiles /P .\.stack-work\install /M pandoc*.exe /S /C "cmd /C copy @path %ARTIFACTS%" rename %ARTIFACTS%/pandoc %ARTIFACTS%/pandoc-%SUFFIX% rename %ARTIFACTS%/pandoc-citeproc %ARTIFACTS%/pandoc-citeproc-%SUFFIX% copy COPYRIGHT %ARTIFACTS%/COPYRIGHT.txt echo "Built from ${GITHUB_SHA}" > ${ARTIFACTS}/README.nightly.txt - uses: actions/upload-artifact@master with: name: nightly-windows path: nightly-windows macos: runs-on: macOS-latest steps: - uses: actions/checkout@v1 - 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 pandoc-citeproc - name: Build artifacts run: | export SUFFIX=nightly-$(date +%Y-%m-%d) export ARTIFACTS=nightly-macos mkdir -p ${ARTIFACTS} ./stack build pandoc pandoc-citeproc for f in $(find .stack-work/install -name 'pandoc-*' -executable -type f); do cp $f ${ARTIFACTS}/; done mv ${ARTIFACTS}/pandoc ${ARTIFACTS}/pandoc-${SUFFIX} mv ${ARTIFACTS}/pandoc-citeproc ${ARTIFACTS}/pandoc-citeproc-${SUFFIX} cp COPYRIGHT ${ARTIFACTS}/ echo "Built from ${GITHUB_SHA}" > ${ARTIFACTS}/README.nightly.txt - uses: actions/upload-artifact@master with: name: nightly-macos path: nightly-macos