Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix and update spack testing, update package.py, rectify checksum of v2.5.0.1 #206

Merged
merged 10 commits into from
Jul 9, 2024
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")
Comment on lines -23 to +28
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a post tag bump (0d28cf0) matching that version. It is possible that the original checksum above was created before pushing 0d28cf0, but I cannot verify this.

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
Loading