Skip to content

Commit 94e563c

Browse files
committed
Release 4.10.0
No-Issue
1 parent 9a404b5 commit 94e563c

26 files changed

+97
-47
lines changed

Diff for: .bumpversion.cfg

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 4.10.0dev
2+
current_version = 4.10.0
33
commit = False
44
tag = False
55
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\.(?P<release>[a-z]+))?
@@ -17,5 +17,3 @@ values =
1717
[bumpversion:file:./galaxy_ng/app/__init__.py]
1818

1919
[bumpversion:file:./setup.py]
20-
21-
# [bumpversion:file:./docs/conf.py]

Diff for: CHANGES.md

+22
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,25 @@
1+
## 4.10.0 (2024-09-19) {: #4.10.0 }
2+
3+
#### Bugfixes
4+
5+
- Support SVG avatar image on namespaces
6+
[#2836](https://github.com/ansible/galaxy_ng/issues/2836)
7+
- Fixed issue where group members were also showing up as users in the Namespace owners list.
8+
[#3121](https://github.com/ansible/galaxy_ng/issues/3121)
9+
- Parameterize ansible-test importer resource requirements
10+
[#3190](https://github.com/ansible/galaxy_ng/issues/3190)
11+
12+
#### Improved Documentation
13+
14+
- echo "add skeleton for galaxy_collection docs"
15+
[#2420](https://github.com/ansible/galaxy_ng/issues/2420)
16+
17+
#### Misc
18+
19+
- [#2822](https://github.com/ansible/galaxy_ng/issues/2822), [#3036](https://github.com/ansible/galaxy_ng/issues/3036), [#3064](https://github.com/ansible/galaxy_ng/issues/3064), [#3358](https://github.com/ansible/galaxy_ng/issues/3358), [#18825](https://github.com/ansible/galaxy_ng/issues/18825)
20+
21+
---
22+
123
=========
224
Changelog
325
=========

Diff for: CHANGES/.TEMPLATE.md

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{# TOWNCRIER TEMPLATE #}
2+
{% for section, _ in sections.items() %}
3+
{%- set section_slug = "-" + section|replace(" ", "-")|replace("_", "-")|lower %}
4+
{%- if section %}
5+
6+
### {{section}} {: #{{versiondata.version}}{{section_slug}} }
7+
{% else %}
8+
{%- set section_slug = "" %}
9+
{% endif %}
10+
{% if sections[section] %}
11+
{% for category, val in definitions.items() if category in sections[section]%}
12+
13+
#### {{ definitions[category]['name'] }} {: #{{versiondata.version}}{{section_slug}}-{{category}} }
14+
15+
{% if definitions[category]['showcontent'] %}
16+
{% for text, values in sections[section][category].items() %}
17+
- {{ text }}
18+
{% if values %}
19+
{{ values|join(',\n ') }}
20+
{% endif %}
21+
{% endfor %}
22+
{% else %}
23+
- {{ sections[section][category]['']|join(', ') }}
24+
{% endif %}
25+
{% if sections[section][category]|length == 0 %}
26+
27+
No significant changes.
28+
{% else %}
29+
{% endif %}
30+
{% endfor %}
31+
{% else %}
32+
33+
No significant changes.
34+
{% endif %}
35+
{% endfor %}
36+
37+
---
38+
39+

Diff for: CHANGES/18825.misc

-1
This file was deleted.

Diff for: CHANGES/2420.doc

-1
This file was deleted.

Diff for: CHANGES/2822.misc

-1
This file was deleted.

Diff for: CHANGES/2836.bugfix

-1
This file was deleted.

Diff for: CHANGES/3036.misc

-1
This file was deleted.

Diff for: CHANGES/3064.misc

-1
This file was deleted.

Diff for: CHANGES/3121.bugfix

-1
This file was deleted.

Diff for: CHANGES/3190.bugfix

-1
This file was deleted.

Diff for: CHANGES/3358.misc

-1
This file was deleted.

Diff for: galaxy_ng/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33

44
sys.modules.setdefault("automated_logging", automated_logging)
55

6-
__version__ = "4.10.0dev"
6+
__version__ = "4.10.0"
77

88
default_app_config = "galaxy_ng.app.PulpGalaxyPluginAppConfig"

Diff for: galaxy_ng/app/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ class PulpGalaxyPluginAppConfig(PulpPluginAppConfig):
1010

1111
name = "galaxy_ng.app"
1212
label = "galaxy"
13-
version = "4.10.0dev"
13+
version = "4.10.0"
1414
python_package_name = "galaxy-ng"
1515

1616
def ready(self):

Diff for: galaxy_ng/tests/integration/aap/test_aap_user_migrations.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88

99
@pytest.mark.ldap
10-
@pytest.mark.min_hub_version("4.10dev")
10+
@pytest.mark.min_hub_version("4.10")
1111
def test_aap_renamed_ldap_user(
1212
ansible_config,
1313
settings,

Diff for: galaxy_ng/tests/integration/api/test_api_base.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from ..utils.iqe_utils import remove_from_cache
44

55

6-
@pytest.mark.min_hub_version("4.10dev")
6+
@pytest.mark.min_hub_version("4.10")
77
@pytest.mark.deployment_standalone
88
@pytest.mark.skip_in_gw
99
def test_galaxy_api_root_standalone_no_auth_access(galaxy_client):

Diff for: galaxy_ng/tests/integration/api/test_auth.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def test_token_auth(profile, galaxy_client, ansible_config):
2727
"""
2828
hub_version = get_hub_version(ansible_config)
2929
expected_status_code = 401
30-
if parse_version(hub_version) < parse_version('4.10.0dev'):
30+
if parse_version(hub_version) < parse_version('4.10.0'):
3131
expected_status_code = 403
3232

3333
gc = galaxy_client(profile)
@@ -49,7 +49,7 @@ def test_auth_admin(galaxy_client, ansible_config):
4949
"""Test whether admin can not access collections page using invalid token."""
5050
hub_version = get_hub_version(ansible_config)
5151
expected_status_code = 401
52-
if parse_version(hub_version) < parse_version('4.10.0dev'):
52+
if parse_version(hub_version) < parse_version('4.10.0'):
5353
expected_status_code = 403
5454

5555
gc = galaxy_client("admin")
@@ -67,7 +67,7 @@ def test_auth_exception(galaxy_client, ansible_config):
6767
"""Test whether an HTTP exception when using an invalid token."""
6868
hub_version = get_hub_version(ansible_config)
6969
expected_status_code = 401
70-
if parse_version(hub_version) < parse_version('4.10.0dev'):
70+
if parse_version(hub_version) < parse_version('4.10.0'):
7171
expected_status_code = 403
7272

7373
gc = galaxy_client("basic_user")

Diff for: galaxy_ng/tests/integration/api/test_hubjwt.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import pytest
22

33

4-
@pytest.mark.min_hub_version("4.10dev")
4+
@pytest.mark.min_hub_version("4.10")
55
@pytest.mark.skip(reason='TBD')
66
def test_hub_jwt_auth():
77
pass

Diff for: galaxy_ng/tests/integration/api/test_ui_paths.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -765,7 +765,7 @@ def test_api_ui_v1_collection_detail_view(ansible_config, published):
765765
# /api/automation-hub/_ui/v1/settings/
766766
@pytest.mark.deployment_standalone
767767
@pytest.mark.api_ui
768-
@pytest.mark.min_hub_version("4.10dev")
768+
@pytest.mark.min_hub_version("4.10")
769769
@pytest.mark.skip_in_gw
770770
def test_api_ui_v1_settings(ansible_config):
771771

Diff for: galaxy_ng/tests/integration/dab/test_dab_rbac.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ def test_dab_roledefs_match_pulp_roles(galaxy_client):
4242

4343

4444
@pytest.mark.deployment_standalone
45-
@pytest.mark.min_hub_version("4.10dev")
45+
@pytest.mark.min_hub_version("4.10")
4646
@pytest.mark.skipif(
4747
os.environ.get('JWT_PROXY') is not None,
4848
reason="Skipped because jwt proxy is in use"
@@ -141,7 +141,7 @@ def test_dab_rbac_repository_owner_by_user_or_team(
141141

142142

143143
@pytest.mark.deployment_standalone
144-
@pytest.mark.min_hub_version("4.10dev")
144+
@pytest.mark.min_hub_version("4.10")
145145
@pytest.mark.skipif(
146146
os.environ.get('JWT_PROXY') is not None,
147147
reason="Skipped because jwt proxy is in use"
@@ -292,7 +292,7 @@ def test_dab_rbac_namespace_owner_by_user_or_team(
292292
os.environ.get('JWT_PROXY') is not None,
293293
reason="Skipped because jwt proxy is in use"
294294
)
295-
@pytest.mark.min_hub_version("4.10dev")
295+
@pytest.mark.min_hub_version("4.10")
296296
def test_dab_user_platform_auditor_bidirectional_sync(
297297
settings,
298298
galaxy_client,
@@ -385,7 +385,7 @@ def test_dab_user_platform_auditor_bidirectional_sync(
385385

386386

387387
@pytest.mark.deployment_standalone
388-
@pytest.mark.min_hub_version("4.10dev")
388+
@pytest.mark.min_hub_version("4.10")
389389
def test_dab_team_platform_auditor_bidirectional_sync(
390390
settings,
391391
galaxy_client,
@@ -488,7 +488,7 @@ def test_dab_team_platform_auditor_bidirectional_sync(
488488

489489

490490
@pytest.mark.deployment_standalone
491-
@pytest.mark.min_hub_version("4.10dev")
491+
@pytest.mark.min_hub_version("4.10")
492492
def test_dab_user_assignment_filtering_as_user(
493493
settings,
494494
galaxy_client,
@@ -551,7 +551,7 @@ def test_dab_user_assignment_filtering_as_user(
551551

552552

553553
@pytest.mark.deployment_standalone
554-
@pytest.mark.min_hub_version("4.10dev")
554+
@pytest.mark.min_hub_version("4.10")
555555
@pytest.mark.skipif(
556556
os.environ.get('JWT_PROXY') is not None,
557557
reason="Skipped because jwt proxy is in use"

Diff for: galaxy_ng/tests/integration/dab/test_dab_rbac_contract.py

+10-10
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
# This tests the basic DAB RBAC contract using custom roles to do things.
1515
@pytest.mark.deployment_standalone
16-
@pytest.mark.min_hub_version("4.10dev")
16+
@pytest.mark.min_hub_version("4.10")
1717
def test_list_namespace_permissions(galaxy_client):
1818
gc = galaxy_client("admin")
1919
r = gc.get("_ui/v2/role_metadata/")
@@ -33,7 +33,7 @@ def test_list_namespace_permissions(galaxy_client):
3333

3434
# look for the content_type choices
3535
@pytest.mark.deployment_standalone
36-
@pytest.mark.min_hub_version("4.10dev")
36+
@pytest.mark.min_hub_version("4.10")
3737
def test_role_definition_options(galaxy_client):
3838
gc = galaxy_client("admin")
3939
# TODO: add support for options in GalaxyClient in galaxykit
@@ -203,7 +203,7 @@ def check_system_role_user_assignments(client: GalaxyClient, user: dict, role: d
203203

204204

205205
@pytest.mark.deployment_standalone
206-
@pytest.mark.min_hub_version("4.10dev")
206+
@pytest.mark.min_hub_version("4.10")
207207
@pytest.mark.parametrize("by_api", ["dab", "pulp"])
208208
def test_create_custom_namespace_system_admin_role(custom_role_factory, galaxy_client, by_api):
209209
if by_api == "dab":
@@ -226,7 +226,7 @@ def test_create_custom_namespace_system_admin_role(custom_role_factory, galaxy_c
226226

227227

228228
@pytest.mark.deployment_standalone
229-
@pytest.mark.min_hub_version("4.10dev")
229+
@pytest.mark.min_hub_version("4.10")
230230
def test_give_user_custom_role_system(settings, galaxy_client, custom_role_factory, namespace):
231231

232232
if settings.get('ALLOW_LOCAL_RESOURCE_MANAGEMENT', True) is not True:
@@ -295,7 +295,7 @@ def test_give_user_custom_role_system(settings, galaxy_client, custom_role_facto
295295

296296

297297
@pytest.mark.deployment_standalone
298-
@pytest.mark.min_hub_version("4.10dev")
298+
@pytest.mark.min_hub_version("4.10")
299299
def test_give_team_custom_role_system(
300300
settings,
301301
galaxy_client,
@@ -367,7 +367,7 @@ def test_give_team_custom_role_system(
367367

368368
# TODO: We need another version of it for a team
369369
@pytest.mark.deployment_standalone
370-
@pytest.mark.min_hub_version("4.10dev")
370+
@pytest.mark.min_hub_version("4.10")
371371
@pytest.mark.parametrize("by_role_api", ["dab", "pulp"])
372372
@pytest.mark.parametrize("by_assignment_api", ["dab", "pulp"])
373373
def test_give_user_custom_role_object(
@@ -457,7 +457,7 @@ def test_give_user_custom_role_object(
457457
assert_object_role_assignments(admin_client, user, namespace, 0)
458458

459459

460-
@pytest.mark.min_hub_version("4.10dev")
460+
@pytest.mark.min_hub_version("4.10")
461461
@pytest.mark.deployment_standalone
462462
def test_give_team_custom_role_object(
463463
settings,
@@ -545,7 +545,7 @@ def test_give_team_custom_role_object(
545545
assert ctx.value.response.status_code == HTTPStatus.FORBIDDEN
546546

547547

548-
@pytest.mark.min_hub_version("4.10dev")
548+
@pytest.mark.min_hub_version("4.10")
549549
def test_object_role_permission_validation(galaxy_client, custom_role_factory, namespace):
550550
gc = galaxy_client("admin")
551551

@@ -625,7 +625,7 @@ def assure_user_not_in_group():
625625
return (user, group)
626626

627627

628-
@pytest.mark.min_hub_version("4.10dev")
628+
@pytest.mark.min_hub_version("4.10")
629629
def test_group_sync_from_pulp_to_dab(galaxy_client, assert_user_in_group, user_and_group):
630630
gc = galaxy_client("admin")
631631
user, group = user_and_group
@@ -670,7 +670,7 @@ def test_team_member_sync_from_dab_to_pulp(galaxy_client, assert_user_in_group,
670670
assert_user_in_group(user["id"], group["id"], expected=True)
671671

672672

673-
@pytest.mark.min_hub_version("4.10dev")
673+
@pytest.mark.min_hub_version("4.10")
674674
def test_team_members_are_migrated(galaxy_client, assert_user_in_group):
675675
"Make sure any existing team memberships are correct"
676676
gc = galaxy_client("admin")

Diff for: galaxy_ng/tests/integration/dab/test_dab_rbac_pagination.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66

77
@pytest.mark.deployment_standalone
8-
@pytest.mark.min_hub_version("4.10dev")
8+
@pytest.mark.min_hub_version("4.10")
99
def test_dab_rbac_pagination(galaxy_client):
1010
gc = galaxy_client("admin", ignore_cache=True)
1111
roledefs = gc.get('_ui/v2/role_definitions/?page_size=1')

Diff for: galaxy_ng/tests/integration/dab/test_system_auditor.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010

1111
@pytest.mark.deployment_standalone
12-
@pytest.mark.min_hub_version("4.10dev")
12+
@pytest.mark.min_hub_version("4.10")
1313
@pytest.mark.skipif(
1414
os.getenv("ENABLE_DAB_TESTS"),
1515
reason="Skipping test because ENABLE_DAB_TESTS is set"

Diff for: galaxy_ng/tests/integration/dab/test_ui_v2.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515

1616
@pytest.mark.deployment_standalone
17-
@pytest.mark.min_hub_version("4.10dev")
17+
@pytest.mark.min_hub_version("4.10")
1818
@pytest.mark.parametrize("user_payload", [
1919
{},
2020
{"email": "[email protected]"},
@@ -65,7 +65,7 @@ def test_ui_v2_user_create(
6565

6666

6767
@pytest.mark.deployment_standalone
68-
@pytest.mark.min_hub_version("4.10dev")
68+
@pytest.mark.min_hub_version("4.10")
6969
@pytest.mark.parametrize("invalid_payload", [
7070
({"email": "invalidemail"}, "Enter a valid email address."),
7171
({"email": "@whoops"}, "Enter a valid email address."),
@@ -107,7 +107,7 @@ def test_ui_v2_user_create_invalid_data(
107107

108108

109109
@pytest.mark.deployment_standalone
110-
@pytest.mark.min_hub_version("4.10dev")
110+
@pytest.mark.min_hub_version("4.10")
111111
def test_ui_v2_user_edit(
112112
settings,
113113
galaxy_client,
@@ -150,7 +150,7 @@ def test_ui_v2_user_edit(
150150

151151

152152
@pytest.mark.deployment_standalone
153-
@pytest.mark.min_hub_version("4.10dev")
153+
@pytest.mark.min_hub_version("4.10")
154154
@pytest.mark.parametrize("invalid_payload", [
155155
({"email": "invalidemail"}, "Enter a valid email address."),
156156
({"email": "@whoops"}, "Enter a valid email address."),
@@ -205,7 +205,7 @@ def test_ui_v2_user_edit_invalid_data(
205205

206206

207207
@pytest.mark.deployment_standalone
208-
@pytest.mark.min_hub_version("4.10dev")
208+
@pytest.mark.min_hub_version("4.10")
209209
def test_ui_v2_teams(
210210
settings,
211211
galaxy_client,
@@ -248,7 +248,7 @@ def test_ui_v2_teams(
248248

249249

250250
@pytest.mark.deployment_standalone
251-
@pytest.mark.min_hub_version("4.10dev")
251+
@pytest.mark.min_hub_version("4.10")
252252
def test_ui_v2_teams_membership_local_and_nonlocal(
253253
settings,
254254
galaxy_client,

0 commit comments

Comments
 (0)