1+ name : Release
2+
3+ on :
4+ push :
5+ # Sequence of patterns matched against refs/tags
6+ tags :
7+ - ' v*' # Push events to matching v*, i.e. v1.0, v2023.11.15
8+
9+ jobs :
10+ build-linux-x64 :
11+ name : HiGHS -- Linux (x86_64) -- Release ${{ github.ref_name }}
12+ runs-on : ubuntu-latest
13+ steps :
14+ - name : Checkout Uno
15+ uses : actions/checkout@v4
16+
17+ - name : Install Julia
18+ uses : julia-actions/setup-julia@v2
19+ with :
20+ version : " 1.7"
21+ arch : x64
22+
23+ - name : Set the environment variables BINARYBUILDER_AUTOMATIC_APPLE, UNO_RELEASE, UNO_COMMIT
24+ shell : bash
25+ run : |
26+ echo "BINARYBUILDER_AUTOMATIC_APPLE=true" >> $GITHUB_ENV
27+ echo "UNO_RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV
28+ echo "UNO_COMMIT=${{ github.sha }}" >> $GITHUB_ENV
29+ echo "UNO_URL=https://github.com/${{ github.repository }}.git" >> $GITHUB_ENV
30+
31+ - name : Cross-compilation of HiGHS -- x86_64-linux-gnu-cxx11
32+ run : |
33+ julia --color=yes -e 'using Pkg; Pkg.add("BinaryBuilder")'
34+ julia --color=yes .github/julia/build_tarballs_release.jl x86_64-linux-gnu-cxx11 --verbose
35+
36+ - name : Archive artifact
37+ run : julia --color=yes .github/julia/generate_binaries.jl
38+
39+ - name : Upload artifact
40+ uses : actions/upload-artifact@v4
41+ with :
42+ name : Uno_binaries.${{ github.ref_name }}.x86_64-linux-gnu-cxx11.tar.gz
43+ path : ./Uno_binaries.${{ github.ref_name }}.x86_64-linux-gnu-cxx11.tar.gz
44+
45+ build-linux-aarch64 :
46+ name : HiGHS -- Linux (aarch64) -- Release ${{ github.ref_name }}
47+ runs-on : ubuntu-latest
48+ steps :
49+ - name : Checkout Uno
50+ uses : actions/checkout@v4
51+
52+ - name : Install Julia
53+ uses : julia-actions/setup-julia@v2
54+ with :
55+ version : " 1.7"
56+ arch : x64
57+
58+ - name : Set the environment variables BINARYBUILDER_AUTOMATIC_APPLE, UNO_RELEASE, UNO_COMMIT
59+ shell : bash
60+ run : |
61+ echo "BINARYBUILDER_AUTOMATIC_APPLE=true" >> $GITHUB_ENV
62+ echo "UNO_RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV
63+ echo "UNO_COMMIT=${{ github.sha }}" >> $GITHUB_ENV
64+ echo "UNO_URL=https://github.com/${{ github.repository }}.git" >> $GITHUB_ENV
65+
66+ - name : Cross-compilation of HiGHS -- aarch64-linux-gnu-cxx11
67+ run : |
68+ julia --color=yes -e 'using Pkg; Pkg.add("BinaryBuilder")'
69+ julia --color=yes .github/julia/build_tarballs_release.jl aarch64-linux-gnu-cxx11 --verbose
70+
71+ - name : Archive artifact
72+ run : julia --color=yes .github/julia/generate_binaries.jl
73+
74+ - name : Upload artifact
75+ uses : actions/upload-artifact@v4
76+ with :
77+ name : Uno_binaries.${{ github.ref_name }}.aarch64-linux-gnu-cxx11.tar.gz
78+ path : ./Uno_binaries.${{ github.ref_name }}.aarch64-linux-gnu-cxx11.tar.gz
79+
80+ build-windows-x64 :
81+ name : HiGHS -- Windows (x86_64) -- Release ${{ github.ref_name }}
82+ runs-on : ubuntu-latest
83+ steps :
84+ - name : Checkout Uno
85+ uses : actions/checkout@v4
86+
87+ - name : Install Julia
88+ uses : julia-actions/setup-julia@v2
89+ with :
90+ version : " 1.7"
91+ arch : x64
92+
93+ - name : Set the environment variables BINARYBUILDER_AUTOMATIC_APPLE, UNO_RELEASE, UNO_COMMIT
94+ shell : bash
95+ run : |
96+ echo "BINARYBUILDER_AUTOMATIC_APPLE=true" >> $GITHUB_ENV
97+ echo "UNO_RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV
98+ echo "UNO_COMMIT=${{ github.sha }}" >> $GITHUB_ENV
99+ echo "UNO_URL=https://github.com/${{ github.repository }}.git" >> $GITHUB_ENV
100+
101+ - name : Cross-compilation of HiGHS -- x86_64-w64-mingw32-cxx11
102+ run : |
103+ julia --color=yes -e 'using Pkg; Pkg.add("BinaryBuilder")'
104+ julia --color=yes .github/julia/build_tarballs_release.jl x86_64-w64-mingw32-cxx11 --verbose
105+ - name : Archive artifact
106+ run : julia --color=yes .github/julia/generate_binaries.jl
107+
108+ - name : Upload artifact
109+ uses : actions/upload-artifact@v4
110+ with :
111+ name : Uno_binaries.${{ github.ref_name }}.x86_64-w64-mingw32-cxx11.zip
112+ path : ./Uno_binaries.${{ github.ref_name }}.x86_64-w64-mingw32-cxx11.zip
113+
114+ build-mac-x64 :
115+ name : HiGHS -- macOS (x86_64) -- Release ${{ github.ref_name }}
116+ runs-on : ubuntu-latest
117+ steps :
118+ - name : Checkout Uno
119+ uses : actions/checkout@v4
120+
121+ - name : Install Julia
122+ uses : julia-actions/setup-julia@v2
123+ with :
124+ version : " 1.7"
125+ arch : x64
126+
127+ - name : Set the environment variables BINARYBUILDER_AUTOMATIC_APPLE, UNO_RELEASE, UNO_COMMIT
128+ shell : bash
129+ run : |
130+ echo "BINARYBUILDER_AUTOMATIC_APPLE=true" >> $GITHUB_ENV
131+ echo "UNO_RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV
132+ echo "UNO_COMMIT=${{ github.sha }}" >> $GITHUB_ENV
133+ echo "UNO_URL=https://github.com/${{ github.repository }}.git" >> $GITHUB_ENV
134+
135+ - name : Cross-compilation of HiGHS -- x86_64-apple-darwin-cxx11
136+ run : |
137+ julia --color=yes -e 'using Pkg; Pkg.add("BinaryBuilder")'
138+ julia --color=yes .github/julia/build_tarballs_release.jl x86_64-apple-darwin-cxx11 --verbose
139+
140+ - name : Archive artifact
141+ run : julia --color=yes .github/julia/generate_binaries.jl
142+
143+ - name : Upload artifact
144+ uses : actions/upload-artifact@v4
145+ with :
146+ name : Uno_binaries.${{ github.ref_name }}.x86_64-apple-darwin-cxx11.tar.gz
147+ path : ./Uno_binaries.${{ github.ref_name }}.x86_64-apple-darwin-cxx11.tar.gz
148+
149+ build-mac-aarch64 :
150+ name : HiGHS -- macOS (aarch64) -- Release ${{ github.ref_name }}
151+ runs-on : ubuntu-latest
152+ steps :
153+ - name : Checkout Uno
154+ uses : actions/checkout@v4
155+
156+ - name : Install Julia
157+ uses : julia-actions/setup-julia@v2
158+ with :
159+ version : " 1.7"
160+ arch : x64
161+
162+ - name : Set the environment variables BINARYBUILDER_AUTOMATIC_APPLE, UNO_RELEASE, UNO_COMMIT
163+ shell : bash
164+ run : |
165+ echo "BINARYBUILDER_AUTOMATIC_APPLE=true" >> $GITHUB_ENV
166+ echo "UNO_RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV
167+ echo "UNO_COMMIT=${{ github.sha }}" >> $GITHUB_ENV
168+ echo "UNO_URL=https://github.com/${{ github.repository }}.git" >> $GITHUB_ENV
169+
170+ - name : Cross-compilation of HiGHS -- aarch64-apple-darwin-cxx11
171+ run : |
172+ julia --color=yes -e 'using Pkg; Pkg.add("BinaryBuilder")'
173+ julia --color=yes .github/julia/build_tarballs_release.jl aarch64-apple-darwin-cxx11 --verbose
174+
175+ - name : Archive artifact
176+ run : julia --color=yes .github/julia/generate_binaries.jl
177+
178+ - name : Upload artifact
179+ uses : actions/upload-artifact@v4
180+ with :
181+ name : Uno_binaries.${{ github.ref_name }}.aarch64-apple-darwin-cxx11.tar.gz
182+ path : ./Uno_binaries.${{ github.ref_name }}.aarch64-apple-darwin-cxx11.tar.gz
183+
184+ release :
185+ name : Create Release and Upload Binaries
186+ needs : [build-windows-x64, build-linux-x64, build-linux-aarch64, build-mac-x64, build-mac-aarch64]
187+ runs-on : ubuntu-latest
188+ steps :
189+ - name : Checkout Uno
190+ uses : actions/checkout@v4
191+
192+ - name : Download artifacts
193+ uses : actions/download-artifact@v4
194+ with :
195+ path : .
196+
197+ - name : Create GitHub Release
198+ run : |
199+ gh release create ${{ github.ref_name }} \
200+ --title "${{ github.ref_name }}" \
201+ --notes "" \
202+ --verify-tag
203+ env :
204+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
205+
206+ - name : Upload Linux (x86_64) artifact
207+ run : |
208+ gh release upload ${{ github.ref_name }} \
209+ Uno_binaries.${{ github.ref_name }}.x86_64-linux-gnu-cxx11.tar.gz/Uno_binaries.${{ github.ref_name }}.x86_64-linux-gnu-cxx11.tar.gz#Uno.${{ github.ref_name }}.linux.x86_64.tar.gz
210+ env :
211+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
212+
213+ - name : Upload Linux (aarch64) artifact
214+ run : |
215+ gh release upload ${{ github.ref_name }} \
216+ Uno_binaries.${{ github.ref_name }}.aarch64-linux-gnu-cxx11.tar.gz/Uno_binaries.${{ github.ref_name }}.aarch64-linux-gnu-cxx11.tar.gz#Uno.${{ github.ref_name }}.linux.aarch64.tar.gz
217+ env :
218+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
219+
220+ - name : Upload Mac (x86_64) artifact
221+ run : |
222+ gh release upload ${{ github.ref_name }} \
223+ Uno_binaries.${{ github.ref_name }}.x86_64-apple-darwin-cxx11.tar.gz/Uno_binaries.${{ github.ref_name }}.x86_64-apple-darwin-cxx11.tar.gz#Uno.${{ github.ref_name }}.mac.x86_64.tar.gz
224+ env :
225+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
226+
227+ - name : Upload Mac (aarch64) artifact
228+ run : |
229+ gh release upload ${{ github.ref_name }} \
230+ Uno_binaries.${{ github.ref_name }}.aarch64-apple-darwin-cxx11.tar.gz/Uno_binaries.${{ github.ref_name }}.aarch64-apple-darwin-cxx11.tar.gz#Uno.${{ github.ref_name }}.mac.aarch64.tar.gz
231+ env :
232+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
233+
234+ - name : Upload Windows (x86_64) artifact
235+ run : |
236+ gh release upload ${{ github.ref_name }} \
237+ Uno_binaries.${{ github.ref_name }}.x86_64-w64-mingw32-cxx11.zip/Uno_binaries.${{ github.ref_name }}.x86_64-w64-mingw32-cxx11.zip#Uno.${{ github.ref_name }}.windows.x86_64.zip
238+ env :
239+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments