diff --git a/.github/workflows/docker-build-test-upload.yml b/.github/workflows/docker-build-test-upload.yml index 15ed6d04..68de9054 100644 --- a/.github/workflows/docker-build-test-upload.yml +++ b/.github/workflows/docker-build-test-upload.yml @@ -60,6 +60,7 @@ jobs: mkdir -p /tmp/aiidalab/ docker save ${{ env.OWNER }}/${{ inputs.image }} -o /tmp/aiidalab/${{ inputs.image }}-${{ inputs.architecture }}.tar shell: bash + if: always() - name: Upload image as artifact 💾 uses: actions/upload-artifact@v3 @@ -67,3 +68,4 @@ jobs: name: ${{ inputs.image }}-${{ inputs.architecture }} path: /tmp/aiidalab/${{ inputs.image }}-${{ inputs.architecture }}.tar retention-days: 3 + if: always() diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 1e710f5d..a7599294 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -122,6 +122,7 @@ jobs: needs: [arm64-base-with-services, arm64-lab] amd64-push-ghcr: + if: always() uses: ./.github/workflows/docker-push.yml strategy: matrix: @@ -136,6 +137,7 @@ jobs: needs: [amd64-base, amd64-base-with-services, amd64-lab, amd64-full-stack] arm64-push-ghcr: + if: always() uses: ./.github/workflows/docker-push.yml strategy: matrix: @@ -150,6 +152,7 @@ jobs: needs: [arm64-base, arm64-base-with-services, arm64-lab, arm64-full-stack] merge-tags-ghcr: + if: always() uses: ./.github/workflows/docker-merge-tags.yml strategy: matrix: diff --git a/build.json b/build.json index 582fd44b..ee04e8f6 100644 --- a/build.json +++ b/build.json @@ -7,10 +7,10 @@ "default": "15" }, "AIIDA_VERSION": { - "default": "2.3.1" + "default": "2.4.0" }, "AIIDALAB_VERSION": { - "default": "23.03.0" + "default": "23.03.2" }, "AIIDALAB_HOME_VERSION": { "default": "23.03.1" diff --git a/stack/base/Dockerfile b/stack/base/Dockerfile index 52f77503..e26421c2 100644 --- a/stack/base/Dockerfile +++ b/stack/base/Dockerfile @@ -16,19 +16,23 @@ WORKDIR /opt/ ARG AIIDA_VERSION +# Pin shared requirements in the base environemnt. +# The lower bound of aiida-core is set to the version of aiida-core to prevent +# lower aiida-core DB version installed and trigger database downgrade. +RUN echo "pip==23.3.1" > /opt/requirements.txt && \ + echo "aiida-core>=${AIIDA_VERSION},<3" >> /opt/requirements.txt + # Install the shared requirements. -COPY requirements.txt . RUN mamba install --yes \ aiida-core=${AIIDA_VERSION} \ mamba-bash-completion \ - --file requirements.txt \ + --file /opt/requirements.txt \ && mamba clean --all -f -y && \ fix-permissions "${CONDA_DIR}" && \ fix-permissions "/home/${NB_USER}" - # Pin shared requirements in the base environemnt. -RUN cat requirements.txt | xargs -I{} conda config --system --add pinned_packages {} +RUN cat /opt/requirements.txt | xargs -I{} conda config --system --add pinned_packages {} # Configure pip to use requirements file as constraints file. ENV PIP_CONSTRAINT=/opt/requirements.txt diff --git a/stack/base/requirements.txt b/stack/base/requirements.txt deleted file mode 100644 index 7db11bce..00000000 --- a/stack/base/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -aiida-core>=2.0.0,<3,!=2.3.0 -pip==23.0.1 diff --git a/tests/test-full-stack.py b/tests/test-full-stack.py index a0d7f828..55ad4a9c 100644 --- a/tests/test-full-stack.py +++ b/tests/test-full-stack.py @@ -5,7 +5,7 @@ def generate_aiidalab_install_output(aiidalab_exec, nb_user): def _generate_aiidalab_install_output(package_name): output = ( - aiidalab_exec(f"aiidalab install --yes {package_name}", user=nb_user) + aiidalab_exec(f"aiidalab install --yes --pre {package_name}", user=nb_user) .decode() .strip() )