@@ -2,18 +2,85 @@ name: C/C++ CI
22
33on :
44 push :
5- branches : [ master ]
6- pull_request :
7- branches : [ master ]
5+ branches :
6+ - master
87
98jobs :
10- build :
11-
9+ build-linux :
1210 runs-on : ubuntu-latest
13-
1411 steps :
1512 - uses : actions/checkout@v2
16- - name : init
17- run : mkdir -p build && popd build && cmake .. && popd
18- - name : compile
19- run : ./compile
13+ - name : build
14+ run : |
15+ sudo npm install -g bats
16+ mkdir -p build && pushd build && cmake .. && popd
17+ ./compile.sh
18+ zip --junk-paths duplo-linux build/duplo
19+ - name : upload linux artifact
20+ uses : actions/upload-artifact@v1
21+ with :
22+ name : uploads
23+ path : duplo-linux.zip
24+ build-macos :
25+ runs-on : macos-latest
26+ steps :
27+ - uses : actions/checkout@v2
28+ - name : build
29+ run : |
30+ brew unlink bats && brew install bats-core
31+ mkdir -p build && pushd build && cmake .. && popd
32+ ./compile.sh
33+ zip --junk-paths duplo-macos build/duplo
34+ - name : upload macos artifact
35+ uses : actions/upload-artifact@v1
36+ with :
37+ name : uploads
38+ path : duplo-macos.zip
39+ upload-release :
40+ runs-on : ubuntu-latest
41+ needs : [build-linux, build-macos]
42+ steps :
43+ - uses : actions/checkout@master
44+ with :
45+ fetch-depth : ' 0'
46+ - name : Bump version and push tag
47+ id : tag
48+ uses :
anothrNick/[email protected] 49+ env :
50+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
51+ WITH_V : true
52+ DEFAULT_BUMP : patch
53+ - name : create release
54+ id : create_release
55+ uses : actions/create-release@master
56+ env :
57+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
58+ with :
59+ tag_name : ${{ steps.tag.outputs.new_tag }}
60+ release_name : Release ${{ steps.tag.outputs.new_tag }}
61+ draft : false
62+ prerelease : false
63+ - name : download artifacts
64+ uses : actions/download-artifact@v1
65+ with :
66+ name : uploads
67+ - name : upload macos
68+ id : upload-macos
69+ 70+ env :
71+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
72+ with :
73+ upload_url : ${{ steps.create_release.outputs.upload_url }}
74+ asset_path : ./uploads/duplo-macos.zip
75+ asset_name : duplo-macos.zip
76+ asset_content_type : application/zip
77+ - name : upload linux
78+ id : upload-linux
79+ 80+ env :
81+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
82+ with :
83+ upload_url : ${{ steps.create_release.outputs.upload_url }}
84+ asset_path : ./uploads/duplo-linux.zip
85+ asset_name : duplo-linux.zip
86+ asset_content_type : application/zip
0 commit comments