aboutsummaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 23be533afbeb91757efccc15892965278ecbb70e (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
language: generic

jobs:
  include:
  - name: release-linux
    language: generic
    dist: bionic

    deploy:
      provider: releases
      edge: true
      token:
        secure: zRJV96jl3zchT88YAtT6irCXgm96qVcIokVmCHrzcAXsRHgTHQURKcdpPzFdZQnNkxwfS1akA3fW5icr+U6WZIxIe56sHYEaBg7VXR1RiGW/qNOAhSvbJGva75iUllTiELa2FL2gEb8bNhVOy3+bQr5Z7RMeHFiC4FFmbMvaQhd5ss3yR5+bqKufEuJPDpFap93XHUoczXH+lXp1v90Cia1gskHsSl+YgfGWQAc89yOxETwFOSqr3CScZGV6oJpGM2rsflN5arFS/8JqDwuemttfrt74wDdKR4Mk94tcqXqMrledUsXR1NEjWAEWW6QMj05ztZ76TkT2hKpG+WVmUTaJjNKS+RJnf4WKzv1vo2EHZuAuPvwR21NGVYTxvV4o3Zvs4YODGXiUxQgeF5LFA3jbZw9ODyloStUV7zIPqzL7qJEIehnMtkjo2JPav5ORz6B7GwVrDC4LJHn95on3/3Voo3mPeyepoz1gFoh3iovTKAc+IXQXGOhT7cATP9DAWLO/Epct7hWPCEflm+oSS4rNiVbMW/61O3yIpxgkJ/oTsixLk6LOhWNdr2hfP95nAtD+It7LSsJABmWJ0FVO9RtQC7fLmEPaoGdZIdeRk/0yig9vA78Y+q46B6LBalmZO+0V60rdLdrnggJsyt3DZKM/4Z+QUwe494NodE7hU9U=
      on:
        tags: true
      overwrite: true
      cleanup: false
      file: ldgallery-linux-amd64.tar.gz

    cache:
      directories:
      - viewer/node_modules
      - "$HOME/.stack"

    before_install:
    - nvm install 12.16.2
    - nvm use 12.16.2
    - mkdir -p ~/.local/bin
    - export PATH=$HOME/.local/bin:$PATH
    - travis_retry curl -L https://get.haskellstack.org/stable/linux-x86_64.tar.gz
      | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
    - sudo apt-get update -qq
    - sudo apt-get install -y pandoc

    install:
    - cd viewer
    - npm install
    - cd ..
    - cd compiler
    - stack setup --no-terminal
    - cd ..

    script:
    - mkdir dist
    - cd viewer
    - npm run lint
    - npm run build -- --dest ../dist/viewer
    - cd ..
    - cd compiler
    - stack build --no-terminal
    - stack install --local-bin-path ../dist/
    - cd ..
    - pandoc --standalone --to man ldgallery-quickstart.7.md --output dist/ldgallery-quickstart.7
    - pandoc --standalone --to man compiler/ldgallery.1.md --output dist/ldgallery.1
    - pandoc --standalone --to man viewer/ldgallery-viewer.7.md --output dist/ldgallery-viewer.7
    - cp changelog.md license.md dist/
    - tar -cvzf ldgallery-linux-amd64.tar.gz dist

  #=============================================================

  - name: release-win64
    if: tag IS present OR branch IN (master, staging)
    language: shell
    os: windows

    deploy:
      provider: releases
      edge: true
      token:
        secure: zRJV96jl3zchT88YAtT6irCXgm96qVcIokVmCHrzcAXsRHgTHQURKcdpPzFdZQnNkxwfS1akA3fW5icr+U6WZIxIe56sHYEaBg7VXR1RiGW/qNOAhSvbJGva75iUllTiELa2FL2gEb8bNhVOy3+bQr5Z7RMeHFiC4FFmbMvaQhd5ss3yR5+bqKufEuJPDpFap93XHUoczXH+lXp1v90Cia1gskHsSl+YgfGWQAc89yOxETwFOSqr3CScZGV6oJpGM2rsflN5arFS/8JqDwuemttfrt74wDdKR4Mk94tcqXqMrledUsXR1NEjWAEWW6QMj05ztZ76TkT2hKpG+WVmUTaJjNKS+RJnf4WKzv1vo2EHZuAuPvwR21NGVYTxvV4o3Zvs4YODGXiUxQgeF5LFA3jbZw9ODyloStUV7zIPqzL7qJEIehnMtkjo2JPav5ORz6B7GwVrDC4LJHn95on3/3Voo3mPeyepoz1gFoh3iovTKAc+IXQXGOhT7cATP9DAWLO/Epct7hWPCEflm+oSS4rNiVbMW/61O3yIpxgkJ/oTsixLk6LOhWNdr2hfP95nAtD+It7LSsJABmWJ0FVO9RtQC7fLmEPaoGdZIdeRk/0yig9vA78Y+q46B6LBalmZO+0V60rdLdrnggJsyt3DZKM/4Z+QUwe494NodE7hU9U=
      on:
        tags: true
      overwrite: true
      cleanup: false
      file: ldgallery-win64.zip

    cache:
      directories:
      - viewer/node_modules
      - "$HOME/.stack"

    env:
      - NVM_HOME="$ProgramData/nvm/"
      - NVM_SYMLINK="$ProgramData/nvm/nodejs/"
      - STACK_ROOT="$ProgramData/haskell/"

    before_install:
    - export "PATH=$NVM_HOME:$NVM_SYMLINK:$STACK_ROOT:$PATH"
    - echo $PATH
    - choco install nvm
    - nvm install 12.16.2
    - nvm use 12.16.2
    - choco install haskell-stack

    install:
    - cd viewer
    - npm install
    - cd ..
    - cd compiler
    - stack setup --no-terminal
    - cd ..

    script:
    - mkdir dist
    - cd viewer
    - npm run lint
    - npm run build -- --dest ../dist/viewer
    - cd ..
    - cd compiler
    - stack build --no-terminal
    - stack install --local-bin-path ../dist/
    - cd ..
    - mkdir dist/scripts
    - cp scripts/win_* dist/scripts/
    - cp ldgallery-quickstart.7.md dist/ldgallery-quickstart.7.md
    - cp viewer/ldgallery-viewer.7.md dist/ldgallery-viewer.7.md
    - cp compiler/ldgallery.1.md dist/ldgallery.1.md
    - cp changelog.md license.md dist/
    - curl --fail --output magick.zip -L https://imagemagick.org/download/binaries/ImageMagick-7.0.10-30-portable-Q16-x64.zip
    - 7z e magick.zip -odist/ magick.exe
    - 7z e magick.zip -so LICENSE.txt > dist/magick.license.txt
    - 7z e magick.zip -so NOTICE.txt > dist/magick.notice.txt
    - 7z e magick.zip -so README.txt > dist/magick.readme.txt
    - 7z a -r -tzip ldgallery-win64.zip ./dist/*