2020 RUN_ID : ${{ github.run_id }}
2121
2222jobs :
23-
23+
2424 build-linux :
2525 runs-on : ubuntu-latest
2626 env :
4646 path : ${{ env.PROJECT_NAME }}-${{ env.PLATFORM }}-${{ env.VERSION }}.zip
4747 key : ${{ github.run_id }}-${{ github.run_number }}_${{ env.PROJECT_NAME }}-${{ env.PLATFORM }}-${{ env.VERSION }}.zip
4848
49+ build-mac :
50+ runs-on : macos-latest
51+ env :
52+ PLATFORM : mac
53+ name : ' Build Mac'
54+ steps :
55+ - name : Checkout repository
56+ uses : actions/checkout@v2.3.4
57+ - name : Load SmalltalkCI environment
58+ uses : hpi-swa/setup-smalltalkCI@1.2.1
59+ id : smalltalkci
60+ with :
61+ smalltalk-version : Pharo64-9.0
62+ - name : Prepare image and test
63+ run : smalltalkci -s ${{ steps.smalltalkci.outputs.smalltalk-version }}
64+ shell : bash
65+ timeout-minutes : 10
66+ - name : Create zip
67+ run : chmod u+x .github/scripts/build-mac.sh; ./.github/scripts/build-mac.sh
68+ - name : Cache zip
69+ uses : actions/cache@v2.1.4
70+ with :
71+ path : ${{ env.PROJECT_NAME }}-${{ env.PLATFORM }}-${{ env.VERSION }}.zip
72+ key : ${{ github.run_id }}-${{ github.run_number }}_${{ env.PROJECT_NAME }}-${{ env.PLATFORM }}-${{ env.VERSION }}.zip
73+
4974 build-win :
5075 runs-on : windows-latest
5176 env :
@@ -88,6 +113,23 @@ jobs:
88113 if : steps.get-zip.outputs.cache-hit != 'true'
89114 run : exit 1
90115
116+ check-mac-cache :
117+ needs : build-mac
118+ runs-on : macos-latest
119+ name : ' Check Mac zip is created'
120+ env :
121+ PLATFORM : mac
122+ steps :
123+ - name : Get zip from cache
124+ id : get-zip
125+ uses : actions/cache@v2.1.4
126+ with :
127+ path : ${{ env.PROJECT_NAME }}-${{ env.PLATFORM }}-${{ env.VERSION }}.zip
128+ key : ${{ github.run_id }}-${{ github.run_number }}_${{ env.PROJECT_NAME }}-${{ env.PLATFORM }}-${{ env.VERSION }}.zip
129+ - name : Fail on cache miss
130+ if : steps.get-zip.outputs.cache-hit != 'true'
131+ run : exit 1
132+
91133 check-win-cache :
92134 needs : build-win
93135 runs-on : windows-latest
@@ -106,7 +148,7 @@ jobs:
106148 run : exit 1
107149
108150 create-release :
109- needs : [check-linux-cache, check-win-cache]
151+ needs : [check-linux-cache, check-mac-cache, check- win-cache]
110152 runs-on : ubuntu-latest
111153 name : ' Re-create release'
112154 steps :
@@ -147,6 +189,35 @@ jobs:
147189 asset_name : ${{ env.PROJECT_NAME }}-${{ env.PLATFORM }}-${{ env.VERSION }}.zip
148190 asset_content_type : application/zip
149191
192+ upload-mac-zip :
193+ needs : create-release
194+ runs-on : macos-latest
195+ name : ' Upload Mac zip'
196+ env :
197+ PLATFORM : mac
198+ steps :
199+ - name : Get zip from cache
200+ id : get-zip
201+ uses : actions/cache@v2.1.4
202+ with :
203+ path : ${{ env.PROJECT_NAME }}-${{ env.PLATFORM }}-${{ env.VERSION }}.zip
204+ key : ${{ github.run_id }}-${{ github.run_number }}_${{ env.PROJECT_NAME }}-${{ env.PLATFORM }}-${{ env.VERSION }}.zip
205+ - name : Get Release by Tag
206+ id : get_release_by_tag
207+ uses : jonfriesen/get-release-by-tag@v0.0.11
208+ env :
209+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
210+ with :
211+ tag_name : nightly
212+ - name : Upload zip
213+ id : upload-zip
214+ uses : actions/upload-release-asset@v1.0.2
215+ with :
216+ upload_url : ${{ steps.get_release_by_tag.outputs.upload_url }}
217+ asset_path : ./${{ env.PROJECT_NAME }}-${{ env.PLATFORM }}-${{ env.VERSION }}.zip
218+ asset_name : ${{ env.PROJECT_NAME }}-${{ env.PLATFORM }}-${{ env.VERSION }}.zip
219+ asset_content_type : application/zip
220+
150221 upload-win-zip :
151222 needs : create-release
152223 runs-on : windows-latest
@@ -177,6 +248,7 @@ jobs:
177248 asset_content_type : application/zip
178249
179250 create-dependent-matrix :
251+ needs : [create-release]
180252 runs-on : ubuntu-latest
181253 name : ' Find dependent repositories'
182254 if : ${{ github.event_name == 'push' || contains(github.event.inputs.build-dependent || false, 'true') }}
@@ -193,7 +265,7 @@ jobs:
193265 run : echo "::set-output name=matrix::`cat ./.github/dependent-repositories.txt | tr -d " \t\n\r"`"
194266
195267 build-dependent :
196- needs : [check-linux-cache, check-win-cache, create-dependent-matrix]
268+ needs : [create-dependent-matrix]
197269 runs-on : ubuntu-latest
198270 name : ' Build dependent'
199271 if : ${{ contains(needs.create-dependent-matrix.outputs.matrix, '/') }}
0 commit comments