77 - ' [0-9]+.[0-9]+.[0-9]+'
88
99jobs :
10+ release :
11+ name : Create Release
12+ runs-on : ubuntu-latest
13+
14+ outputs :
15+ version : ${{ steps.vars.outputs.version }}
16+ upload_url : ${{ steps.release.outputs.upload_url }}
17+
18+ steps :
19+ - name : Release vars
20+ id : vars
21+ run : |
22+ version=${GITHUB_REF#refs/tags/}
23+ echo ::set-output name=version::${version}
24+
25+ - name : Create GitHub release
26+ id : release
27+ uses : actions/create-release@v1
28+ env :
29+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
30+ with :
31+ tag_name : ${{ steps.vars.outputs.version }}
32+ release_name : ${{ steps.vars.outputs.version }}
33+
1034 build :
35+ name : Build Binary
36+ runs-on : ${{ matrix.os }}
37+
38+ needs : [release]
39+
1140 strategy :
1241 matrix :
1342 include :
1746
1847 - build : linux-arm
1948 os : ubuntu-latest
20- target : arm-unknown-linux-gnueabihf
49+ target : arm-unknown-linux-musleabihf
2150
2251 - build : macos
2352 os : macos-latest
2756 os : windows-2019
2857 target : x86_64-pc-windows-msvc
2958
30- runs-on : ${{ matrix.os }}
31-
3259 steps :
3360 - uses : actions/checkout@v2
3461
5178
5279 - name : Build release binary
5380 run : |
54- cross build --verbose --release --target ${{ matrix.target }}
81+ cross build --release --target ${{ matrix.target }}
82+ ls -R
5583
5684 - name : Strip release binary (linux and macos)
5785 if : matrix.build == 'linux' || matrix.build == 'macos'
@@ -61,29 +89,30 @@ jobs:
6189 if : matrix.build == 'linux-arm'
6290 run : |
6391 docker run --rm \
64- -v "$PWD/target:/target:Z" \
65- rustembedded/cross:arm-unknown-linux-gnueabihf \
66- arm-linux-gnueabihf -strip \
67- /target/arm-unknown-linux-gnueabihf /release/rg
92+ -v "${ PWD} /target:/target:Z" \
93+ rustembedded/cross:arm-unknown-linux-musleabihf \
94+ arm-linux-musleabihf -strip \
95+ /target/arm-unknown-linux-musleabihf /release/y2j
6896
6997 - name : Release vars
7098 id : vars
99+ shell : bash
71100 run : |
72- version=${GITHUB_REF#refs/tags/}
73- echo ::set-output name=VERSION::${version}
74- echo ::set-output name=FILE_NAME::y2j-${version}-${{ matrix.target }}
75-
76- - name : Rename release binary
77- run : |
78- cp "target/${{ matrix.target }}/release/y2j" ${{ steps.vars.FILE_NAME }}
79-
80- - uses : actions/upload-artifact@v2
101+ version=${{needs.release.outputs.version}}
102+ if [[ "${{ matrix.os }}" == "windows-2019" ]]; then
103+ suffix='.exe'
104+ else
105+ suffix=''
106+ fi
107+ echo ::set-output name=RELEASE_BINARY::target/${{ matrix.target }}/release/y2j${suffix}
108+ echo ::set-output name=ARTIFACT_NAME::y2j-${version}-${{ matrix.target }}${suffix}
109+
110+ - name : Upload release binary
111+ uses : actions/upload-release-asset@v1
112+ env :
113+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
81114 with :
82- path : ${{ steps.vars.FILE_NAME }}
83-
84- release :
85- runs-on : ubuntu-latest
86-
87- steps :
88- - uses : actions/download-artifact@v2
89- - run : ls -l
115+ upload_url : ${{ needs.release.outputs.upload_url }}
116+ asset_path : ${{ steps.vars.outputs.RELEASE_BINARY }}
117+ asset_name : ${{ steps.vars.outputs.ARTIFACT_NAME }}
118+ asset_content_type : application/octet-stream
0 commit comments