Skip to content

Commit

Permalink
Merge pull request #206 from precice/i170-update-docker-spack-deps
Browse files Browse the repository at this point in the history
Fix and update spack testing, update `package.py`, rectify checksum of `v2.5.0.1`
  • Loading branch information
BenjaminRodenberg authored Jul 9, 2024
2 parents 14f1e01 + a5563aa commit cdced72
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 44 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/build-env.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
- name: Set up Docker
uses: docker/setup-buildx-action@v1
- name: Login to registry
uses: docker/login-action@v1
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
Expand All @@ -24,5 +24,5 @@ jobs:
with:
push: true
context: .
file: spack/ci-spack-pyprecice-deps-2204.dockerfile
tags: precice/ci-spack-pyprecice-deps-2204
file: spack/ci-spack-pyprecice-deps-2404.dockerfile
tags: precice/ci-spack-pyprecice-deps-2404
70 changes: 35 additions & 35 deletions .github/workflows/build-spack.yml
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
# name: Build Spack
# on:
# push:
# branches:
# - "*"
# pull_request:
# branches:
# - "*"
# schedule:
# - cron: '0 4 * * 1' # Schedule it every Sunday
#
# jobs:
# build_spack:
# name: build_spack
# runs-on: ubuntu-latest
# timeout-minutes: 15
# container: precice/ci-spack-pyprecice-deps-2204
# defaults:
# run:
# shell: "bash --login -eo pipefail {0}"
# steps:
# - name: Checkout Repository
# uses: actions/checkout@v2
# - name: Move Package Script
# run: |
# cp -r spack/repo/packages/py-pyprecice/ /py-pyprecice-repo/packages/
# - name: Try to build py-pyprecice with spack and test it
# run: |
# . /opt/spack/share/spack/setup-env.sh
# spack env activate ci && spack arch
# spack remove py-pyprecice
# spack add pyprecice.test.py-pyprecice@develop && spack develop pyprecice.test.py-pyprecice@develop
# spack install && spack find
# spack load py-pyprecice
# BINDINGS_VERSION=$(python3 -c "import precice; print(precice.__version__)") && echo "Installed version of bindings is ${BINDINGS_VERSION}"
name: Build Spack
on:
push:
branches:
- "*"
pull_request:
branches:
- "*"
schedule:
- cron: '0 4 * * 1' # Schedule it every Sunday

jobs:
build_spack:
name: build_spack
runs-on: ubuntu-latest
timeout-minutes: 15
container: precice/ci-spack-pyprecice-deps-2404
defaults:
run:
shell: "bash --login -eo pipefail {0}"
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Move Package Script
run: |
cp -r spack/repo/packages/py-pyprecice/ /py-pyprecice-repo/packages/
- name: Try to build py-pyprecice@develop with spack and test it
run: |
. /opt/spack/share/spack/setup-env.sh
spack env activate ci && spack arch
spack remove py-pyprecice
spack add pyprecice.test.py-pyprecice@develop && spack develop pyprecice.test.py-pyprecice@develop
spack install && spack find
spack load py-pyprecice
BINDINGS_VERSION=$(python3 -c "import precice; print(precice.__version__)") && echo "Installed version of bindings is ${BINDINGS_VERSION}"
6 changes: 3 additions & 3 deletions spack/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

The Spack package `py-pyprecice` provides the python bindings via Spack and was submitted via [pull request 19558](https://github.com/spack/spack/pull/19558) in the Spack repository. This folder contains the Spack package script that can be used for testing whether the Spack installation works.

## Docker image `precice/ci-spack-pyprecice-deps-2204`
## Docker image `precice/ci-spack-pyprecice-deps-2404`

The workflow `build-spack-pyprecice-deps` in `.github/workflows/build-env.yml` creates the image `precice/ci-spack-pyprecice-deps-2204`. This image contains all dependencies of `py-pyprecice@develop`.
The workflow `build-spack-pyprecice-deps` in `.github/workflows/build-env.yml` creates the image `precice/ci-spack-pyprecice-deps-2404`. This image contains all dependencies of `py-pyprecice@develop`.

The workflow `build_spack` in `.github/workflows/build-spack.yml` uses the image `precice/ci-spack-pyprecice-deps-2204` to reduce build time. The workflow uses the `package.py` from this repository to build the latest version of the bindings and run a small test on this version.
The workflow `build_spack` in `.github/workflows/build-spack.yml` uses the image `precice/ci-spack-pyprecice-deps-2404` to reduce build time. The workflow uses the `package.py` from this repository to build the latest version of the bindings and run a small test on this version.

## When a new Spack release is necessary

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Build stage with Spack pre-installed and ready to be used
FROM spack/ubuntu-jammy:latest
FROM spack/ubuntu-noble:latest

# Mount the current sources into the build container
# and build the default environment
Expand Down
11 changes: 9 additions & 2 deletions spack/repo/packages/py-pyprecice/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,18 @@ class PyPyprecice(PythonPackage):

homepage = "https://precice.org"
git = "https://github.com/precice/python-bindings.git"
url = "https://github.com/precice/python-bindings/archive/v2.4.0.0.tar.gz"
url = "https://github.com/precice/python-bindings/archive/v3.1.1.tar.gz"
maintainers("ajaust", "BenjaminRodenberg", "IshaanDesai")

# Always prefer final version of release candidate
version("develop", branch="develop")
version("3.1.1", sha256="50a0f1cbdb8fc362c22d316151c0e757958ff136a094e63b9b82d045d01d19c7")
version("3.1.0", sha256="8d9bd9e28859001ab503a1e2f90e54b3c000079f04c14dc7c0c04c61c5666641")
version("3.0.0.0", sha256="7e2c4b106a231b0df2a430d86d4a7b295f85adbe3478c425f863d1a4bebee9f7")
version("2.5.0.4", sha256="7f9449573eb52ce48ca3f0ab35529ea0064942487842515ae0a2c9299aa0f0db")
version("2.5.0.3", sha256="b983229b9fdf6bd4605ae8710985eb681025f6fb28ad8d7736cdf92593eef6df")
version("2.5.0.2", sha256="6d7b78da830db6c5133b44617196ee90be8c7d6c8e14c8994a4800b3d4856416")
version("2.5.0.1", sha256="e2602f828d4f907ea93e34f7d4adb8db086044a75a446592a4099423d56ed62c")
version("2.5.0.1", sha256="d7c666e6ebff9e007c3703d8e3c3fcdf0f45289e36c2c17223b3aedc3259ab6c")
version("2.5.0.0", sha256="9f55a22594bb602cde8a5987217728569f16d9576ea53ed00497e9046a2e1794")
version("2.4.0.0", sha256="e80d16417b8ce1fdac80c988cb18ae1e16f785c5eb1035934d8b37ac18945242")
version("2.3.0.1", sha256="ed4e48729b662680beaa4ee2a9aff724a79e760534c6c58181be739988da2789")
Expand All @@ -37,6 +42,8 @@ class PyPyprecice(PythonPackage):

for ver in [
"develop",
"3.1", # only consider major.minor from 3.1.0. See https://github.com/precice/python-bindings/pull/199
"3.0.0",
"2.5.0",
"2.4.0",
"2.3.0",
Expand Down

0 comments on commit cdced72

Please sign in to comment.