diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 62ffaf2..52b3f0f 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -24,7 +24,6 @@ env: jobs: build: - runs-on: ubuntu-latest permissions: contents: read @@ -41,20 +40,18 @@ jobs: # https://github.com/sigstore/cosign-installer - name: Install cosign if: github.event_name != 'pull_request' - uses: sigstore/cosign-installer@7e0881f8fe90b25e305bbf0309761e9314607e25 + uses: sigstore/cosign-installer@v3.7.0 with: - cosign-release: 'v1.9.0' - + cosign-release: "v2.4.1" - # Workaround: https://github.com/docker/build-push-action/issues/461 - name: Setup Docker buildx - uses: docker/setup-buildx-action@79abd3f86f79a9d68a23c75a09a9a85889262adf + uses: docker/setup-buildx-action@v3.7.1 # Login against a Docker registry except on PR # https://github.com/docker/login-action - name: Log into registry ${{ env.REGISTRY }} if: github.event_name != 'pull_request' - uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c + uses: docker/login-action@v3.3.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -64,7 +61,7 @@ jobs: # https://github.com/docker/metadata-action - name: Extract Docker metadata id: meta - uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 + uses: docker/metadata-action@v5.5.1 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} @@ -72,7 +69,7 @@ jobs: # https://github.com/docker/build-push-action - name: Build and push Docker image id: build-and-push - uses: docker/build-push-action@ac9327eae2b366085ac7f6a2d02df8aa8ead720a + uses: docker/build-push-action@v6.9.0 with: context: . push: ${{ github.event_name != 'pull_request' }} @@ -90,4 +87,4 @@ jobs: COSIGN_EXPERIMENTAL: "true" # This step uses the identity token to provision an ephemeral certificate # against the sigstore community Fulcio instance. - run: echo "${{ steps.meta.outputs.tags }}" | xargs -I {} cosign sign {}@${{ steps.build-and-push.outputs.digest }} + run: echo "${{ steps.meta.outputs.tags }}" | xargs -I {} cosign sign --yes {}@${{ steps.build-and-push.outputs.digest }} diff --git a/.github/workflows/pack.yml b/.github/workflows/pack.yml index bf83473..4da953e 100644 --- a/.github/workflows/pack.yml +++ b/.github/workflows/pack.yml @@ -15,7 +15,7 @@ jobs: linux: runs-on: ubuntu-22.04 container: - image: rust:1.63.0 + image: rust:1.82.0 steps: - uses: actions/checkout@v1 @@ -63,8 +63,8 @@ jobs: # Create oci-archive - name: Get MKL using NuGet run: | - nuget install intelmkl.devel.cluster.win-x64 -Version 2022.0.3.171 - nuget install intelmkl.static.cluster.win-x64 -Version 2022.0.3.171 + nuget install intelmkl.devel.cluster.win-x64 -Version 2025.0.0.928 + nuget install intelmkl.static.cluster.win-x64 -Version 2025.0.0.928 - uses: actions-rs/cargo@v1 with: command: run diff --git a/Dockerfile b/Dockerfile index 3925010..1462891 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM rust:1.72.0 +FROM rust:1.82.0 # Setup Intel-MKL WORKDIR /mkl @@ -8,7 +8,7 @@ RUN apt update \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* -COPY install-mkl.sh silent.cfg /mkl/ +COPY install-mkl.sh /mkl/ RUN /mkl/install-mkl.sh # Setup linker to find shared library @@ -16,8 +16,7 @@ COPY intel-mkl.conf /etc/ld.so.conf.d/ RUN ldconfig # Setup pkg-config -ENV PKG_CONFIG_PATH /opt/intel/mkl/bin/pkgconfig -RUN sed -i "s/MKLROOT/prefix/g" ${PKG_CONFIG_PATH}/*.pc +ENV PKG_CONFIG_PATH /opt/intel/mkl/latest/lib/pkgconfig WORKDIR /src RUN chmod -R a+w /src diff --git a/README.md b/README.md index 479385e..7bde8b1 100644 --- a/README.md +++ b/README.md @@ -10,14 +10,14 @@ Usage - With docker: ``` - docker pull ghcr.io/rust-math/rust-mkl:1.62.1-2020.1 + docker pull ghcr.io/rust-math/rust-mkl:1.82.0-2025.0 ``` - In GitHub Actions: ``` runs-on: ubuntu-latest container: - image: ghcr.io/rust-math/rust-mkl:1.62.1-2020.1 + image: ghcr.io/rust-math/rust-mkl:1.82.0-2025.0 ``` See [`jobs..container`](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idcontainer) section of the workflow syntax. diff --git a/install-mkl.sh b/install-mkl.sh index feff136..e1816bc 100755 --- a/install-mkl.sh +++ b/install-mkl.sh @@ -3,12 +3,9 @@ set -eux SCRIPT_DIR=$(cd $(dirname $0); pwd) -VERSION_YEAR=2020 -VERSION_UPDATE=1 -VERSION_REV=217 -PREFIX=l_mkl_${VERSION_YEAR}.${VERSION_UPDATE}.${VERSION_REV} +VERSION="2025.0.0.940" +PREFIX=intel-onemkl-${VERSION}_offline -curl -sfLO http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16533/${PREFIX}.tgz -tar xf ${PREFIX}.tgz -cd ${PREFIX} -./install.sh -s ${SCRIPT_DIR}/silent.cfg +curl -sfLO http://registrationcenter-download.intel.com/akdlm/IRC_NAS/79153e0f-74d7-45af-b8c2-258941adf58a/${PREFIX}.sh +chmod +x ${PREFIX}.sh +./${PREFIX}.sh -a -s --eula accept --ignore-errors --install-dir /opt/intel diff --git a/silent.cfg b/silent.cfg deleted file mode 100644 index afec7a4..0000000 --- a/silent.cfg +++ /dev/null @@ -1,34 +0,0 @@ -# Patterns used to check silent configuration file -# -# anythingpat - any string -# filepat - the file location pattern (/file/location/to/license.lic) -# lspat - the license server address pattern (0123@hostname) -# snpat - the serial number pattern (ABCD-01234567) -# comppat - the component abbreviation (intel-component-0123.4-567__arch), use installer command line option to get it - -# Accept EULA, valid values are: {accept, decline} -ACCEPT_EULA=accept - -# Optional error behavior, valid values are: {yes, no} -CONTINUE_WITH_OPTIONAL_ERROR=yes - -# Install location, valid values are: {/opt/intel, filepat} -PSET_INSTALL_DIR=/opt/intel - -# Continue with overwrite of existing installation directory, valid values are: {yes, no} -CONTINUE_WITH_INSTALLDIR_OVERWRITE=yes - -# List of components to install (use semicolon to separate the components), valid values are: {ALL, DEFAULTS, comppat} -COMPONENTS=DEFAULTS - -# Installation mode, valid values are: {install, repair, uninstall} -PSET_MODE=install - -# Path to the cluster description file, valid values are: {filepat} -#CLUSTER_INSTALL_MACHINES_FILE=filepat - -# Perform validation of digital signatures of RPM files, valid values are: {yes, no} -SIGNING_ENABLED=yes - -# Select target architecture of your applications, valid values are: {IA32, INTEL64, ALL} -ARCH_SELECTED=INTEL64