55 branches :
66 - main
77 - release-process
8-
8+
9+ env :
10+ WINDOWS_RELEASE_TAG : windows-x64-opensemba-tessellator-draft
11+ LINUX_RELEASE_TAG : linux-opensemba-tessellator-draft
12+ WINDOWS_FILENAME : " opensemba-tessellator-windows-x64.tar.gz"
13+ LINUX_FILENAME : " opensemba-tessellator-linux.tar.gz"
14+
915concurrency :
1016 group : ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
1117 cancel-in-progress : true
1218
1319jobs :
14- builds-and-tests :
20+ build-temporary-releases :
1521 strategy :
1622 matrix :
1723 preset : [
@@ -68,38 +74,80 @@ jobs:
6874 if : matrix.preset.name=='gnu'
6975 run : build/bin/tessellator_tests
7076
71- - name : Get current date
72- id : date
73- run : echo "::set-output name=date::$(date +'%Y-%m-%d')"
74-
7577 - name : Create linux .tar file
7678 if : matrix.preset.name=='gnu'
7779 run : |
78- cd build/bin && tar --exclude="*test*" -czvf opensemba-tessellator-${{matrix.preset.filename}}.tar.gz *
80+ cd build/bin
81+ tar --exclude="*test*" -czvf ${{ env.LINUX_FILENAME }} *
7982
8083 - name : Create windows .tar file
8184 if : matrix.preset.name=='msbuild'
8285 run : |
83- cd build/bin/${{matrix.build-type}} && tar --exclude="*test*" -czvf opensemba-tessellator-${{matrix.preset.filename}}.tar.gz *
86+ cd build/bin/${{matrix.build-type}}
87+ tar --exclude="*test*" --exclude="*.gz" -czvf ${{ env.WINDOWS_FILENAME }} *
8488
85- - name : Generating linux release
89+ - name : Generating linux pre- release
8690 if : matrix.preset.name=='gnu'
8791 uses : " marvinpinto/action-automatic-releases@latest"
8892 with :
8993 repo_token : " ${{ secrets.GITHUB_TOKEN }}"
90- automatic_release_tag : " ${{ steps.date.outputs.date }}-${{matrix.preset.filename}}-opensemba-tessellator "
91- prerelease : True
92- title : " ${{ steps.date.outputs.date }} ${{ matrix.preset.filename}} OpenSemba Tessellator release"
94+ automatic_release_tag : " ${{ env.LINUX_RELEASE_TAG }}"
95+ draft : True
96+ title : " ${{matrix.preset.filename}} OpenSemba Tessellator draft release"
9397 files : |
94- build/bin/opensemba-tessellator- ${{matrix.preset.filename}}.tar.gz
98+ build/bin/${{ env.LINUX_FILENAME }}
9599
96- - name : Generating windows release
100+ - name : Generating windows pre- release
97101 if : matrix.preset.name=='msbuild'
98102 uses : " marvinpinto/action-automatic-releases@latest"
99103 with :
100104 repo_token : " ${{ secrets.GITHUB_TOKEN }}"
101- automatic_release_tag : " ${{ steps.date.outputs.date }}-${{matrix.preset.filename}}-opensemba-tessellator "
102- prerelease : True
103- title : " ${{ steps.date.outputs.date }} ${{ matrix.preset.filename}} OpenSemba Tessellator release"
105+ automatic_release_tag : " ${{ env.WINDOWS_RELEASE_TAG }}"
106+ draft : True
107+ title : " ${{matrix.preset.filename}} OpenSemba Tessellator draft release"
104108 files : |
105- build/bin/${{matrix.build-type}}/opensemba-tessellator-${{matrix.preset.filename}}.tar.gz
109+ build/bin/${{matrix.build-type}}/${{ env.WINDOWS_FILENAME }}
110+
111+ make-release :
112+ name : combine releases
113+ runs-on : ubuntu-latest
114+ needs : build-temporary-releases
115+
116+ steps :
117+ - name : download windows tar file
118+ uses : robinraju/release-downloader@v1
119+ with :
120+ repository : OpenSEMBA/tessellator
121+ tag : ${{env.WINDOWS_RELEASE_TAG}}
122+ fileName : ${{env.WINDOWS_FILENAME}}
123+
124+ - name : download linux tar file
125+ uses : robinraju/release-downloader@v1
126+ with :
127+ repository : OpenSEMBA/tessellator
128+ tag : ${{env.LINUX_RELEASE_TAG}}
129+ fileName : ${{env.LINUX_FILENAME}}
130+
131+ - name : Get current date
132+ id : date
133+ run : echo "::set-output name=date::$(date +'%Y-%m-%d')"
134+
135+ - name : Generating release
136+ uses : " marvinpinto/action-automatic-releases@latest"
137+ with :
138+ repo_token : " ${{ secrets.GITHUB_TOKEN }}"
139+ automatic_release_tag : " ${{ steps.date.outputs.date }}-opensemba-tessellator"
140+ draft : True
141+ title : " ${{matrix.preset.filename}} OpenSemba Tessellator release"
142+ files : |
143+ ${{env.WINDOWS_FILENAME}}
144+ ${{env.LINUX_FILENAME}}
145+
146+ - name : Clean old pre-release
147+ uses :
" sgpublic/[email protected] " 148+ with :
149+ draft-drop : true
150+ draft-keep-count : -1
151+ draft-drop-tag : true
152+ env :
153+ GITHUB_TOKEN : " ${{ secrets.GITHUB_TOKEN }}"
0 commit comments