88jobs :
99
1010 tag :
11- name : Tag
11+ name : Create Release
1212 runs-on : ubuntu-latest
1313 steps :
1414
2323 - name : Generate list of changes
2424 run : scripts/generate_release_notes.sh > .release.md
2525
26- - name : Generate build files
27- uses : thatisuday/go-cross-build@v1
28- with :
29- platforms : ' linux/amd64, darwin/amd64, windows/amd64'
30- name : ' codeowners'
31- compress : ' true'
32- dest : ' dist'
33- package : ' cmd/codeowners'
34-
3526 - name : Create Github Release
3627 uses : actions/create-release@v1
3728 id : create-release
@@ -42,32 +33,40 @@ jobs:
4233 release_name : ${{ github.ref }}
4334 body_path : ./.release.md
4435
45- - name : Upload Release Asset (darwin-amd64)
46- uses : actions/upload-release-asset@v1
47- env :
48- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
49- with :
50- upload_url : ${{ steps.create-release.outputs.upload_url }}
51- asset_path : ./dist/codeowners-darwin-amd64.tar.gz
52- asset_name : codeowners-darwin-amd64.tar.gz
53- asset_content_type : application/gzip
36+ - name : Export Upload URL
37+ run : echo "::set-output name=upload_url::${{ steps.create-release.outputs.upload_url }}"
5438
55- - name : Upload Release Asset (linux-amd64)
56- uses : actions/upload-release-asset@v1
57- env :
58- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
39+ upload :
40+ name : Upload Release Artefacts
41+ needs : tag
42+ strategy :
43+ matrix :
44+ os :
45+ - linux
46+ - darwin
47+ - windows
48+ arch :
49+ - amd64
50+ - 386
51+ steps :
52+ - name : Check out code
53+ uses : actions/checkout@v2
54+
55+ - name : Generate build files
56+ uses : thatisuday/go-cross-build@v1
5957 with :
60- upload_url : ${{ steps.create-release.outputs.upload_url }}
61- asset_path : ./dist/codeowners-linux-amd64.tar.gz
62- asset_name : codeowners-linux-amd64.tar.gz
63- asset_content_type : application/gzip
58+ platforms : ${{ matrix.os }}/${{ matrix.arch }}
59+ name : ' codeowners'
60+ compress : ' true'
61+ dest : ' dist'
62+ package : ' cmd/codeowners'
6463
65- - name : Upload Release Asset (windows-amd64)
64+ - name : Upload Release Asset
6665 uses : actions/upload-release-asset@v1
6766 env :
6867 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
6968 with :
70- upload_url : ${{ steps.create-release .outputs.upload_url }}
71- asset_path : ./dist/codeowners-windows-amd64 .tar.gz
72- asset_name : codeowners-windows-amd64 .tar.gz
69+ upload_url : ${{ needs.tag .outputs.upload_url }}
70+ asset_path : ./dist/codeowners-${{ matrix.os }}-${{ matrix.arch }} .tar.gz
71+ asset_name : codeowners-${{ matrix.os }}-${{ matrix.arch }} .tar.gz
7372 asset_content_type : application/gzip
0 commit comments