diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c911e61..e1c2ccd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,14 +50,20 @@ jobs: envs/env1.yaml envs/env2.yaml expected-failure: ["false"] + policy-file: ["policy.yaml"] include: - env-paths: | envs/failing-env1.yaml + policy-file: "policy.yaml" expected-failure: "true" - env-paths: | envs/env1.yaml envs/failing-env1.yaml + policy-file: "policy.yaml" expected-failure: "true" + - env-paths: "envs/env3.yaml" + policy-file: policy_no_extra_options.yaml + expected-failure: "false" steps: - name: clone the repository @@ -67,7 +73,7 @@ jobs: id: action-run continue-on-error: true with: - policy: policy.yaml + policy: ${{ matrix.policy-file }} environment-paths: ${{ matrix.env-paths }} today: 2024-12-20 - name: detect outcome diff --git a/envs/env3.yaml b/envs/env3.yaml new file mode 100644 index 0000000..cd9ceac --- /dev/null +++ b/envs/env3.yaml @@ -0,0 +1,5 @@ +channels: + - conda-forge +dependencies: + - python=3.10 + - numpy=1.24 diff --git a/minimum_versions.py b/minimum_versions.py index f2bdaa2..1133347 100644 --- a/minimum_versions.py +++ b/minimum_versions.py @@ -52,9 +52,6 @@ "required": [ "packages", "default", - "overrides", - "exclude", - "ignored_violations", ], }, }, @@ -167,11 +164,11 @@ def parse_policy(file): return Policy( channels=policy["channels"], platforms=policy["platforms"], - exclude=package_policy["exclude"], + exclude=package_policy.get("exclude", {}), package_months=package_policy["packages"], default_months=package_policy["default"], - ignored_violations=package_policy["ignored_violations"], - overrides=package_policy["overrides"], + ignored_violations=package_policy.get("ignored_violations", {}), + overrides=package_policy.get("overrides", {}), ) diff --git a/policy_no_extra_options.yaml b/policy_no_extra_options.yaml new file mode 100644 index 0000000..5c398aa --- /dev/null +++ b/policy_no_extra_options.yaml @@ -0,0 +1,11 @@ +channels: + - conda-forge +platforms: + - noarch + - linux-64 +policy: + # all packages in months + packages: + python: 30 + numpy: 18 + default: 12