diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2eba31457d6..9f5017c5d19 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,13 +13,19 @@ on: - 'master' env: GO111MODULE: on + MACOS_LATEST_PRODUCT_VERSION: 15 permissions: contents: read jobs: artifacts-darwin: name: Artifacts Darwin - runs-on: macos-12 + runs-on: ${{ matrix.runner }} + strategy: + fail-fast: false + matrix: + # When you update this list, make sure to update MACOS_LATEST_PRODUCT_VERSION too + runner: ["macos-13", "macos-14", "macos-15"] timeout-minutes: 20 steps: - name: "Show xcode and SDK version" @@ -35,11 +41,23 @@ jobs: with: go-version: 1.23.x - name: Make darwin artifacts - run: make artifacts-darwin + run: | + make artifacts-darwin + product_version="$(sw_vers --productVersion | cut -d. -f1)" + # Rename lima-VERSION-Darwin-arm64.tar.gz to lima-VERSION-Darwin-macOS15-arm64.tar.gz + for f in _artifacts/*; do + dst=${f/Darwin/Darwin-macOS${product_version}} + if [ ${product_version} = ${MACOS_LATEST_PRODUCT_VERSION} ]; then + # For the latest macOS release, preserve lima-VERSION-Darwin-arm64.tar.gz + cp -a "${f}" "${dst}" + else + mv "${f}" "${dst}" + fi + done - name: "Upload artifacts" uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 with: - name: artifacts-darwin + name: artifacts-darwin-${{ matrix.runner }} path: _artifacts/ release: # An old release of Ubuntu is chosen for glibc compatibility @@ -56,7 +74,8 @@ jobs: - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: - name: artifacts-darwin + pattern: artifacts-darwin-* + merge-multiple: true path: _artifacts/ - uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 with: