1+ name : Build/release
2+
3+ on :
4+ push :
5+ tags :
6+ - ' v*'
7+
8+ jobs :
9+ Make_GitHub_Release :
10+ name : Create Release
11+ runs-on : ubuntu-latest
12+ outputs :
13+ version : ${{ steps.step_version.outputs.version }}
14+ steps :
15+ - name : Check out Git repository
16+ uses : actions/checkout@v2
17+
18+ - name : Install Node.js, NPM and Yarn
19+ uses : actions/setup-node@v1
20+ with :
21+ node-version : 14
22+
23+ - name : Read package.json
24+ uses : tyankatsu0105/read-package-version-actions@v1
25+ id : package_version
26+
27+ - name : Create Release
28+ id : create_release
29+ run : |
30+ gh release create "${{ env.VERSION }}" -n "${{ env.MESSAGE }}" -t "${{ env.NAME }}" -p
31+ env :
32+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
33+ VERSION : " v${{ steps.package_version.outputs.version }}"
34+ MESSAGE : " Release v${{ steps.package_version.outputs.version }}"
35+ NAME : " Release v${{ steps.package_version.outputs.version }}"
36+
37+ - id : step_version
38+ run : echo "::set-output name=version::${{ steps.package_version.outputs.version }}"
39+
40+ release :
41+ needs : Make_GitHub_Release
42+ name : Build And Upload Release
43+ runs-on : ${{ matrix.os }}
44+ strategy :
45+ matrix :
46+ include :
47+ - os : ubuntu-latest
48+ artifact_name : " appsus-nft-art-generator-${{ needs.Make_GitHub_Release.outputs.version }}.AppImage"
49+ asset_name : " appsus-nft-art-generator-${{ needs.Make_GitHub_Release.outputs.version }}.AppImage"
50+ asset_content_type : application/zip
51+ - os : windows-latest
52+ # by electron-builder |
53+ artifact_name : " appsus-nft-art-generator ${{ needs.Make_GitHub_Release.outputs.version }}.exe"
54+ asset_name : " appsus-nft-art-generator ${{ needs.Make_GitHub_Release.outputs.version }}.exe"
55+ asset_content_type : application/exe
56+ - os : macos-latest
57+ artifact_name : " appsus-nft-art-generator-${{ needs.Make_GitHub_Release.outputs.version }}.dmg"
58+ asset_name : " appsus-nft-art-generator-${{ needs.Make_GitHub_Release.outputs.version }}.dmg"
59+ asset_content_type : application/x-apple-diskimage
60+
61+ steps :
62+ - name : Check out Git repository
63+ uses : actions/checkout@v2
64+
65+ - name : Install Node.js, NPM and Yarn
66+ uses : actions/setup-node@v1
67+ with :
68+ node-version : 14
69+
70+ - name : Read package.json
71+ uses : tyankatsu0105/read-package-version-actions@v1
72+ id : package_version
73+
74+ - name : Context
75+ env :
76+ RUNNER_CONTEXT : ${{ toJson( needs.Make_GitHub_Release ) }}
77+ run : |
78+ echo "$RUNNER_CONTEXT"
79+ echo "Version is ${{ needs.Make_GitHub_Release.outputs.version }}"
80+ - run : npm install
81+ - run : npm run postinstall
82+ - run : npm run electron:build
83+ env :
84+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
85+
86+ - name : Upload Release Asset
87+ id : upload_release_asset
88+ run : |
89+ gh release upload "v${{ steps.package_version.outputs.version }}" "${{ env.FILES }}"
90+ env :
91+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
92+ FILES : " ./release/${{ matrix.artifact_name }}"
93+ NODE_OPTIONS : " --max-old-space-size=4096"
0 commit comments