77jobs :
88 build-linux :
99 runs-on : ubuntu-18.04
10- container : ${{ matrix.config.container }}
1110 strategy :
1211 matrix :
13- config :
14- - {container: "geodesolutions/ubuntu", system: ubuntu}
15- - {container: "geodesolutions/centos", system: rhel}
12+ system : [ubuntu, darwin, win64]
13+ python : [3.6, 3.7, 3.8]
14+ exclude :
15+ - system : win64
16+ python : 3.8
17+ include :
18+ - system : rhel
19+ python : 2.7
1620
1721 steps :
1822 - uses : actions/checkout@v1
1923 - name : Cache node modules
20242125 with :
2226 path : node_modules
23- key : node-${{ matrix.config.system }}-${{ hashFiles('package-lock.json') }}
27+ key : node-${{ hashFiles('package-lock.json') }}
2428 - name : Generate package
2529 id : package
2630 run : |
2731 version="${GITHUB_REF##*/*/}"
2832 echo ::set-output name=version::$version
2933 npm install
30- npm run build -- $version ${{ matrix.config .system }}
34+ npm run build -- $version ${{ matrix.python }}-${{ matrix .system }}
3135 env :
3236 TOKEN : ${{ secrets.TOKEN }}
3337 - name : Upload
3438 uses : softprops/action-gh-release@v1
3539 with :
36- files : " GeodePackage-${{ steps.package.outputs.version }}-${{ matrix.config. system }}.zip"
40+ files : " GeodePackage-${{ steps.package.outputs.version }}-${{ matrix.system }}.zip"
3741 env :
3842 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
3943 - name : Notify slack
4448 env :
4549 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
4650 SLACK_WEBHOOK_URL : ${{ secrets.SLACK_WEBHOOK_URL }}
47-
48- build-mac :
49- runs-on : macos-latest
50-
51- steps :
52- - uses : actions/checkout@v1
53- - name : Cache node modules
54- 55- with :
56- path : node_modules
57- key : node-darwin-${{ hashFiles('package-lock.json') }}
58- - name : Generate package
59- id : package
60- run : |
61- version="${GITHUB_REF##*/*/}"
62- echo ::set-output name=version::$version
63- npm install
64- npm run build -- $version darwin
65- env :
66- TOKEN : ${{ secrets.TOKEN }}
67- - name : Upload
68- uses : softprops/action-gh-release@v1
69- with :
70- files : " GeodePackage-${{ steps.package.outputs.version }}-darwin.zip"
71- env :
72- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
73- - name : Notify slack
74- if : failure() && github.ref == 'refs/heads/master'
75- uses : 8398a7/action-slack@v2
76- with :
77- status : failure
78- env :
79- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
80- SLACK_WEBHOOK_URL : ${{ secrets.SLACK_WEBHOOK_URL }}
81-
82- build-windows :
83- runs-on : windows-2016
84-
85- steps :
86- - uses : actions/checkout@v1
87- - name : Cache node modules
88- 89- with :
90- path : node_modules
91- key : node-win64-${{ hashFiles('package-lock.json') }}
92- - name : Generate package
93- id : package
94- run : |
95- $version = ${env:GITHUB_REF} -replace 'refs\/tags\/', ''
96- echo "::set-output name=version::$version"
97- npm install
98- npm run build -- $version win64
99- env :
100- TOKEN : ${{ secrets.TOKEN }}
101- - name : Upload
102- uses : softprops/action-gh-release@v1
103- with :
104- files : " GeodePackage-${{ steps.package.outputs.version }}-win64.zip"
105- env :
106- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
107- - name : Notify slack
108- if : failure() && github.ref == 'refs/heads/master'
109- uses : 8398a7/action-slack@v2
110- with :
111- status : failure
112- env :
113- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
114- SLACK_WEBHOOK_URL : ${{ secrets.SLACK_WEBHOOK_URL }}
115-
0 commit comments