diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index f2cf9b5..1abe3e5 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -49,6 +49,7 @@ jobs: cache-to: type=gha,mode=max outputs: | type=registry,push-by-digest=true,name-canonical=true + type=docker test: needs: build @@ -60,6 +61,7 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Login to GitHub Container Registry uses: docker/login-action@v3 with: @@ -67,11 +69,16 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Setup Python test environment - uses: mamba-org/setup-micromamba@v1 + - name: Set up Python + uses: actions/setup-python@v5 with: - environment-file: environment.yml - cache-environment: true + python-version: '3.12' + + - name: Install uv + run: curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.1.43/uv-installer.sh | sh + + - name: Install test requirements + run: uv pip install --system -r requirements.txt --no-deps - name: Run tests shell: bash -l {0} # required to activate the conda environment diff --git a/environment.yml b/environment.yml deleted file mode 100644 index 100d59b..0000000 --- a/environment.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -name: aiidalab-ispg-docker-stack -channels: - - conda-forge -dependencies: - - docker-compose=1.29.2 - - pip - - pytest=7.4.4 - - python=3.11 - - requests=2.31.0 - - pip: - - pytest-docker==2.0.1 diff --git a/requirements.in b/requirements.in new file mode 100644 index 0000000..53723c9 --- /dev/null +++ b/requirements.in @@ -0,0 +1,4 @@ +docker-compose~=1.29 +pytest~=7.4 +requests~=2.31 +pytest-docker~=2.0 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..54e271e --- /dev/null +++ b/requirements.txt @@ -0,0 +1,78 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile requirements.in +attrs==23.2.0 + # via + # jsonschema + # pytest-docker +bcrypt==4.1.3 + # via paramiko +certifi==2024.2.2 + # via requests +cffi==1.16.0 + # via + # cryptography + # pynacl +charset-normalizer==3.3.2 + # via requests +cryptography==42.0.7 + # via paramiko +distro==1.9.0 + # via docker-compose +docker==7.0.0 + # via docker-compose +docker-compose==1.29.2 + # via -r requirements.in +dockerpty==0.4.1 + # via docker-compose +docopt==0.6.2 + # via docker-compose +idna==3.7 + # via requests +iniconfig==2.0.0 + # via pytest +jsonschema==3.2.0 + # via docker-compose +packaging==24.0 + # via + # docker + # pytest +paramiko==3.4.0 + # via docker +pluggy==1.5.0 + # via pytest +pycparser==2.22 + # via cffi +pynacl==1.5.0 + # via paramiko +pyrsistent==0.20.0 + # via jsonschema +pytest==7.4.4 + # via + # -r requirements.in + # pytest-docker +pytest-docker==2.2.0 + # via -r requirements.in +python-dotenv==0.21.1 + # via docker-compose +pyyaml==5.4.1 + # via docker-compose +requests==2.31.0 + # via + # -r requirements.in + # docker + # docker-compose +setuptools==69.5.1 + # via jsonschema +six==1.16.0 + # via + # dockerpty + # jsonschema + # websocket-client +texttable==1.7.0 + # via docker-compose +urllib3==2.2.1 + # via + # docker + # requests +websocket-client==0.59.0 + # via docker-compose