name: Release on: push: # Sequence of patterns matched against refs/tags tags: - 'v*' # Push events to matching v*, i.e. v1.0, v2023.11.15 jobs: build-linux-x64: name: blas / lapack -- Linux (x86_64) -- Release ${{ github.ref_name }} runs-on: ubuntu-latest steps: - name: Checkout lapack uses: actions/checkout@v4 - name: Install Julia uses: julia-actions/setup-julia@v2 with: version: "1.7" arch: x64 - name: Set the environment variables BINARYBUILDER_AUTOMATIC_APPLE, BLAS_LAPACK_RELEASE, BLAS_LAPACK_COMMIT shell: bash run: | echo "BINARYBUILDER_AUTOMATIC_APPLE=true" >> $GITHUB_ENV echo "BLAS_LAPACK_RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV echo "BLAS_LAPACK_COMMIT=${{ github.sha }}" >> $GITHUB_ENV echo "BLAS_LAPACK_URL=https://github.com/${{ github.repository }}.git" >> $GITHUB_ENV - name: Cross-compilation of blas / lapack -- x86_64-linux-gnu-libgfortran5 run: | julia --color=no -e 'using Pkg; Pkg.add("BinaryBuilder")' julia --color=no .github/julia/build_tarballs.jl x86_64-linux-gnu-libgfortran5 --verbose - name: Archive artifact run: julia --color=no .github/julia/generate_binaries.jl - name: Upload artifact uses: actions/upload-artifact@v4 with: name: blas_lapack_binaries.${{ github.ref_name }}.x86_64-linux-gnu-libgfortran5.tar.gz path: ./blas_lapack_binaries.${{ github.ref_name }}.x86_64-linux-gnu-libgfortran5.tar.gz build-linux-aarch64: name: blas / lapack -- Linux (aarch64) -- Release ${{ github.ref_name }} runs-on: ubuntu-latest steps: - name: Checkout lapack uses: actions/checkout@v4 - name: Install Julia uses: julia-actions/setup-julia@v2 with: version: "1.7" arch: x64 - name: Set the environment variables BINARYBUILDER_AUTOMATIC_APPLE, BLAS_LAPACK_RELEASE, BLAS_LAPACK_COMMIT shell: bash run: | echo "BINARYBUILDER_AUTOMATIC_APPLE=true" >> $GITHUB_ENV echo "BLAS_LAPACK_RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV echo "BLAS_LAPACK_COMMIT=${{ github.sha }}" >> $GITHUB_ENV echo "BLAS_LAPACK_URL=https://github.com/${{ github.repository }}.git" >> $GITHUB_ENV - name: Cross-compilation of blas / lapack -- aarch64-linux-gnu-libgfortran5 run: | julia --color=no -e 'using Pkg; Pkg.add("BinaryBuilder")' julia --color=no .github/julia/build_tarballs.jl aarch64-linux-gnu-libgfortran5 --verbose - name: Archive artifact run: julia --color=no .github/julia/generate_binaries.jl - name: Upload artifact uses: actions/upload-artifact@v4 with: name: blas_lapack_binaries.${{ github.ref_name }}.aarch64-linux-gnu-libgfortran5.tar.gz path: ./blas_lapack_binaries.${{ github.ref_name }}.aarch64-linux-gnu-libgfortran5.tar.gz build-windows-x64: name: blas / lapack -- Windows (x86_64) -- Release ${{ github.ref_name }} runs-on: ubuntu-latest steps: - name: Checkout lapack uses: actions/checkout@v4 - name: Install Julia uses: julia-actions/setup-julia@v2 with: version: "1.7" arch: x64 - name: Set the environment variables BINARYBUILDER_AUTOMATIC_APPLE, BLAS_LAPACK_RELEASE, BLAS_LAPACK_COMMIT shell: bash run: | echo "BINARYBUILDER_AUTOMATIC_APPLE=true" >> $GITHUB_ENV echo "BLAS_LAPACK_RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV echo "BLAS_LAPACK_COMMIT=${{ github.sha }}" >> $GITHUB_ENV echo "BLAS_LAPACK_URL=https://github.com/${{ github.repository }}.git" >> $GITHUB_ENV - name: Cross-compilation of blas / lapack -- x86_64-w64-mingw32-libgfortran5 run: | julia --color=no -e 'using Pkg; Pkg.add("BinaryBuilder")' julia --color=no .github/julia/build_tarballs.jl x86_64-w64-mingw32-libgfortran5 --verbose - name: Archive artifact run: julia --color=no .github/julia/generate_binaries.jl - name: Upload artifact uses: actions/upload-artifact@v4 with: name: blas_lapack_binaries.${{ github.ref_name }}.x86_64-w64-mingw32-libgfortran5.zip path: ./blas_lapack_binaries.${{ github.ref_name }}.x86_64-w64-mingw32-libgfortran5.zip build-mac-x64: name: blas / lapack -- macOS (x86_64) -- Release ${{ github.ref_name }} runs-on: ubuntu-latest steps: - name: Checkout lapack uses: actions/checkout@v4 - name: Install Julia uses: julia-actions/setup-julia@v2 with: version: "1.7" arch: x64 - name: Set the environment variables BINARYBUILDER_AUTOMATIC_APPLE, BLAS_LAPACK_RELEASE, BLAS_LAPACK_COMMIT shell: bash run: | echo "BINARYBUILDER_AUTOMATIC_APPLE=true" >> $GITHUB_ENV echo "BLAS_LAPACK_RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV echo "BLAS_LAPACK_COMMIT=${{ github.sha }}" >> $GITHUB_ENV echo "BLAS_LAPACK_URL=https://github.com/${{ github.repository }}.git" >> $GITHUB_ENV - name: Cross-compilation of blas / lapack -- x86_64-apple-darwin-libgfortran5 run: | julia --color=no -e 'using Pkg; Pkg.add("BinaryBuilder")' julia --color=no .github/julia/build_tarballs.jl x86_64-apple-darwin-libgfortran5 --verbose - name: Archive artifact run: julia --color=no .github/julia/generate_binaries.jl - name: Upload artifact uses: actions/upload-artifact@v4 with: name: blas_lapack_binaries.${{ github.ref_name }}.x86_64-apple-darwin-libgfortran5.tar.gz path: ./blas_lapack_binaries.${{ github.ref_name }}.x86_64-apple-darwin-libgfortran5.tar.gz build-mac-aarch64: name: blas / lapack -- macOS (aarch64) -- Release ${{ github.ref_name }} runs-on: ubuntu-latest steps: - name: Checkout lapack uses: actions/checkout@v4 - name: Install Julia uses: julia-actions/setup-julia@v2 with: version: "1.7" arch: x64 - name: Set the environment variables BINARYBUILDER_AUTOMATIC_APPLE, BLAS_LAPACK_RELEASE, BLAS_LAPACK_COMMIT shell: bash run: | echo "BINARYBUILDER_AUTOMATIC_APPLE=true" >> $GITHUB_ENV echo "BLAS_LAPACK_RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV echo "BLAS_LAPACK_COMMIT=${{ github.sha }}" >> $GITHUB_ENV echo "BLAS_LAPACK_URL=https://github.com/${{ github.repository }}.git" >> $GITHUB_ENV - name: Cross-compilation of blas / lapack -- aarch64-apple-darwin-libgfortran5 run: | julia --color=no -e 'using Pkg; Pkg.add("BinaryBuilder")' julia --color=no .github/julia/build_tarballs.jl aarch64-apple-darwin-libgfortran5 --verbose - name: Archive artifact run: julia --color=no .github/julia/generate_binaries.jl - name: Upload artifact uses: actions/upload-artifact@v4 with: name: blas_lapack_binaries.${{ github.ref_name }}.aarch64-apple-darwin-libgfortran5.tar.gz path: ./blas_lapack_binaries.${{ github.ref_name }}.aarch64-apple-darwin-libgfortran5.tar.gz release: name: Create Release and Upload Binaries needs: [build-windows-x64, build-linux-x64, build-linux-aarch64, build-mac-x64, build-mac-aarch64] runs-on: ubuntu-latest steps: - name: Checkout lapack uses: actions/checkout@v4 - name: Download artifacts uses: actions/download-artifact@v4 with: path: . - name: Create GitHub Release run: | gh release create ${{ github.ref_name }} \ --title "${{ github.ref_name }}" \ --notes "" \ --verify-tag env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload Linux (x86_64) artifact run: | gh release upload ${{ github.ref_name }} \ blas_lapack_binaries.${{ github.ref_name }}.x86_64-linux-gnu-libgfortran5.tar.gz/blas_lapack_binaries.${{ github.ref_name }}.x86_64-linux-gnu-libgfortran5.tar.gz#blas_lapack.${{ github.ref_name }}.linux.x86_64.tar.gz env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload Linux (aarch64) artifact run: | gh release upload ${{ github.ref_name }} \ blas_lapack_binaries.${{ github.ref_name }}.aarch64-linux-gnu-libgfortran5.tar.gz/blas_lapack_binaries.${{ github.ref_name }}.aarch64-linux-gnu-libgfortran5.tar.gz#blas_lapack.${{ github.ref_name }}.linux.aarch64.tar.gz env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload Mac (x86_64) artifact run: | gh release upload ${{ github.ref_name }} \ blas_lapack_binaries.${{ github.ref_name }}.x86_64-apple-darwin-libgfortran5.tar.gz/blas_lapack_binaries.${{ github.ref_name }}.x86_64-apple-darwin-libgfortran5.tar.gz#blas_lapack.${{ github.ref_name }}.mac.x86_64.tar.gz env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload Mac (aarch64) artifact run: | gh release upload ${{ github.ref_name }} \ blas_lapack_binaries.${{ github.ref_name }}.aarch64-apple-darwin-libgfortran5.tar.gz/blas_lapack_binaries.${{ github.ref_name }}.aarch64-apple-darwin-libgfortran5.tar.gz#blas_lapack.${{ github.ref_name }}.mac.aarch64.tar.gz env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload Windows (x86_64) artifact run: | gh release upload ${{ github.ref_name }} \ blas_lapack_binaries.${{ github.ref_name }}.x86_64-w64-mingw32-libgfortran5.zip/blas_lapack_binaries.${{ github.ref_name }}.x86_64-w64-mingw32-libgfortran5.zip#blas_lapack.${{ github.ref_name }}.windows.x86_64.zip env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}