diff --git a/otc_metadata/data/services.yaml b/otc_metadata/data/services.yaml index 824e0aa2..7ee895e3 100644 --- a/otc_metadata/data/services.yaml +++ b/otc_metadata/data/services.yaml @@ -1,3 +1,19 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Please consult with otc_metadata.services.Services:_sort_data for expected +# sort order. When unsure perform tools/sort_metadata.py for getting it sorted. +--- documents: - hc_location: api/antiddos html_location: docs/antiddos/api-ref @@ -31,6 +47,22 @@ documents: service_type: aom title: User Guide type: umn + - environment: internal + html_location: docs/apig/api-ref + link: /api-gateway/api-ref/ + pdf_name: apig-api-ref + rst_location: api-ref/source + service_type: apig + title: API Reference + type: api-ref + - environment: internal + html_location: docs/apig/umn + link: /api-gateway/umn/ + pdf_name: apig-umn + rst_location: umn/source + service_type: apig + title: User Guide + type: umn - hc_location: api/as html_location: docs/as/api-ref link: /auto-scaling/api-ref/ @@ -166,6 +198,22 @@ documents: service_type: csbs title: User Guide type: umn + - environment: internal + html_location: docs/cse/api-ref + link: /cloud-service-engine/api-ref/ + pdf_name: cse-api-ref + rst_location: api-ref/source + service_type: cse + title: API Reference + type: api-ref + - environment: internal + html_location: docs/cse/umn + link: /cloud-service-engine/umn/ + pdf_name: cse-umn + rst_location: umn/source + service_type: cse + title: User Guide + type: umn - hc_location: api/css html_location: docs/css/api-ref link: /cloud-search-service/api-ref/ @@ -198,6 +246,38 @@ documents: service_type: cts title: User Guide type: umn + - environment: internal + html_location: docs/dataartsstudio/api-ref + link: /dataarts-studio/api-ref/ + pdf_name: dataarts_studio-api-ref + rst_location: api-ref/source + service_type: dataarts_studio + title: API Reference + type: api-ref + - environment: internal + html_location: docs/dataartsstudio/umn + link: /dataarts-studio/umn/ + pdf_name: dataarts_studio-umn + rst_location: umn/source + service_type: dataarts_studio + title: User Guide + type: umn + - environment: internal + html_location: docs/dbss/api-ref + link: /database-security-service/api-ref/ + pdf_name: dbss-api-ref + rst_location: api-ref/source + service_type: dbss + title: API Reference + type: api-ref + - environment: internal + html_location: docs/dbss/umn + link: /database-security-service/umn/ + pdf_name: dbss-umn + rst_location: umn/source + service_type: dbss + title: User Guide + type: umn - hc_location: api/dc html_location: docs/dc/api-ref link: /direct-connect/api-ref/ @@ -293,6 +373,24 @@ documents: service_type: dis title: User Guide type: umn + - environment: internal + hc_location: api/dli + html_location: docs/dli/api-ref + link: /data-lake-insight/api-ref/ + pdf_name: dli-api-ref + rst_location: api-ref/source + service_type: dli + title: API Reference + type: api-ref + - environment: internal + hc_location: usermanual/dli + html_location: docs/dli/umn + link: /data-lake-insight/umn/ + pdf_name: dli-umn + rst_location: umn/source + service_type: dli + title: User Guide + type: umn - hc_location: api/dms html_location: docs/dms/api-ref link: /distributed-message-service/api-ref/ @@ -444,6 +542,22 @@ documents: service_type: elb title: User Guide type: umn + - environment: internal + html_location: docs/er/api-ref + link: /enterprise-router/api-ref/ + pdf_name: er-api-ref + rst_location: api-ref/source + service_type: er + title: API Reference + type: api-ref + - environment: internal + html_location: docs/er/umn + link: /enterprise-router/umn/ + pdf_name: er-umn + rst_location: umn/source + service_type: er + title: User Guide + type: umn - hc_location: api/evs html_location: docs/evs/api-ref link: /elastic-volume-service/api-ref/ @@ -673,17 +787,17 @@ documents: html_location: docs/obs/pfs link: /object-storage-service/parallel-file-system/ pdf_name: obs-pfs - rst_location: doc/pfs/source + rst_location: doc/parallel-file-system/source service_type: obs title: Parallel File System (PFS) - type: pfs + type: parallel-file-system - html_location: docs/obs/perms-cfg link: /object-storage-service/permissions-configuration-guide/ pdf_name: obs-perms-cfg - rst_location: doc/perms-cfg/source + rst_location: doc/permissions-configuration-guide/source service_type: obs title: Permissions Configuration Guide - type: perms-cfg + type: permissions-configuration-guide - hc_location: api_swift/obs html_location: docs/obs/api-swift link: /object-storage-service/swiftapi/ @@ -1002,6 +1116,8 @@ service_categories: title: Security Services - name: storage title: Storage + - name: other + title: Other services: - repositories: - environment: internal @@ -1013,6 +1129,7 @@ services: service_category: security-services service_title: Anti DDoS service_type: antiddos + service_uri: anti-ddos/umn teams: - name: docs-security-services-rw permission: write @@ -1026,9 +1143,24 @@ services: service_category: application service_title: Application Operations Management service_type: aom + service_uri: application-operations-management/umn teams: - name: docs-orchestration-rw permission: write + - repositories: + - environment: internal + repo: docs/api-gateway + type: gitea + - environment: public + repo: opentelekomcloud-docs/api-gateway + type: github + service_category: big_data + service_title: API Gateway (APIG) + service_type: apig + service_uri: api-gateway/umn + teams: + - name: docs-bigdata-ai-rw + permission: write - repositories: - environment: internal repo: docs/auto-scaling @@ -1039,6 +1171,7 @@ services: service_category: compute service_title: Auto Scaling service_type: as + service_uri: auto-scaling/umn teams: - name: docs-compute-rw permission: write @@ -1052,6 +1185,7 @@ services: service_category: compute service_title: Bare Metal Server service_type: bms + service_uri: bare-metal-server/umn teams: - name: docs-compute-rw permission: write @@ -1065,6 +1199,7 @@ services: service_category: storage service_title: Cloud Backup and Recovery service_type: cbr + service_uri: cloud-backup-recovery/umn teams: - name: docs-storage-rw permission: write @@ -1078,6 +1213,7 @@ services: service_category: container service_title: Cloud Container Engine service_type: cce + service_uri: cloud-container-engine/umn teams: - name: docs-container-rw permission: write @@ -1091,6 +1227,7 @@ services: service_category: container service_title: Cloud Container Instance service_type: cci + service_uri: cloud-container-instance/umn teams: - name: docs-container-rw permission: write @@ -1104,6 +1241,7 @@ services: service_category: md service_title: Cloud Eye service_type: ces + service_uri: cloud-eye/umn teams: - name: docs-orchestration-rw permission: write @@ -1117,9 +1255,25 @@ services: service_category: storage service_title: Cloud Server Backup Service service_type: csbs + service_uri: cloud-server-backup-service/umn teams: - name: docs-storage-rw permission: write + - repositories: + - environment: internal + repo: docs/cloud-service-engine + type: gitea + - environment: public + repo: opentelekomcloud-docs/cloud-service-engine + type: github + service_category: application + service_title: Cloud Service Engine + service_type: cse + service_uri: cloud-service-engine/umn + environment: internal + teams: + - name: docs-orchestration-rw + permission: write - repositories: - environment: internal repo: docs/cloud-search-service @@ -1130,6 +1284,7 @@ services: service_category: big_data service_title: Cloud Search Service service_type: css + service_uri: cloud-search-service/umn teams: - name: docs-bigdata-ai-rw permission: write @@ -1143,9 +1298,38 @@ services: service_category: md service_title: Cloud Trace Service service_type: cts + service_uri: cloud-trace-service/umn teams: - name: docs-orchestration-rw permission: write + - repositories: + - environment: internal + repo: docs/data-arts-studio + type: gitea + - environment: public + repo: opentelekomcloud-docs/data-arts-studio + type: github + service_category: big_data + service_title: DataArts Studio + service_type: dataarts_studio + service_uri: dataarts-studio/umn + teams: + - name: docs-bigdata-ai-rw + permission: write + - repositories: + - environment: internal + repo: docs/database-security-service + type: gitea + - environment: public + repo: opentelekomcloud-docs/database-security-service + type: github + service_category: security-services + service_title: Database Security Service + service_type: dbss + service_uri: database-security-service/umn + teams: + - name: docs-security-services-rw + permission: write - repositories: - environment: internal repo: docs/direct-connect @@ -1156,6 +1340,7 @@ services: service_category: network service_title: Direct Connect service_type: dc + service_uri: direct-connect/umn teams: - name: docs-network-rw permission: write @@ -1169,6 +1354,7 @@ services: service_category: database service_title: Distributed Cache Service service_type: dcs + service_uri: distributed-cache-service/umn teams: - name: docs-database-rw permission: write @@ -1182,6 +1368,7 @@ services: service_category: database service_title: Distributed Database Middleware service_type: ddm + service_uri: distributed-database-middleware/umn teams: - name: docs-database-rw permission: write @@ -1195,6 +1382,7 @@ services: service_category: database service_title: Document Database Service service_type: dds + service_uri: document-database-service/umn teams: - name: docs-database-rw permission: write @@ -1208,6 +1396,7 @@ services: service_category: compute service_title: Dedicated Host service_type: deh + service_uri: dedicated-host/umn teams: - name: docs-compute-rw permission: write @@ -1221,6 +1410,7 @@ services: service_category: big_data service_title: Data Ingestion Service service_type: dis + service_uri: data-ingestion-service/umn teams: - name: docs-bigdata-ai-rw permission: write @@ -1234,6 +1424,7 @@ services: service_category: application service_title: Distributed Message Service service_type: dms + service_uri: distributed-message-service/umn teams: - name: docs-orchestration-rw permission: write @@ -1247,9 +1438,24 @@ services: service_category: network service_title: Domain Name Service service_type: dns + service_uri: domain-name-service/umn teams: - name: docs-network-rw permission: write + - repositories: + - environment: internal + repo: docs/data-lake-insight + type: gitea + - environment: public + repo: docs/data-lake-insight + type: github + service_category: big_data + service_title: Data Lake Insight + service_type: dli + service_uri: data-lake-insight/umn + teams: + - name: docs-bigdata-ai-rw + permission: write - repositories: - environment: internal repo: docs/data-replication-service @@ -1260,6 +1466,7 @@ services: service_category: database service_title: Data Replication Service service_type: drs + service_uri: data-replication-service/umn teams: - name: docs-database-rw permission: write @@ -1273,6 +1480,7 @@ services: service_category: big_data service_title: Data Warehouse Service service_type: dws + service_uri: data-warehouse-service/umn teams: - name: docs-bigdata-ai-rw permission: write @@ -1293,6 +1501,7 @@ services: service_category: compute service_title: Elastic Cloud Server service_type: ecs + service_uri: elastic-cloud-server teams: - name: docs-compute-rw permission: write @@ -1306,6 +1515,7 @@ services: service_category: other service_title: Enterprise Dashboard service_type: ed + service_uri: enterprise-dashboard/umn teams: - name: docs-dashboard-rw permission: write @@ -1319,6 +1529,7 @@ services: service_category: network service_title: Elastic IP service_type: eip + service_uri: elastic-ip/umn teams: - name: docs-network-rw permission: write @@ -1332,6 +1543,21 @@ services: service_category: network service_title: Elastic Load Balancing service_type: elb + service_uri: elastic-load-balancing/umn + teams: + - name: docs-network-rw + permission: write + - repositories: + - environment: internal + repo: docs/enterprise-router + type: gitea + - environment: public + repo: opentelekomcloud-docs/enterprise-router + type: github + service_category: network + service_title: Enterprise Router + service_type: er + service_uri: enterprise-router/umn teams: - name: docs-network-rw permission: write @@ -1345,6 +1571,7 @@ services: service_category: storage service_title: Elastic Volume Service service_type: evs + service_uri: elastic-volume-service/umn teams: - name: docs-storage-rw permission: write @@ -1358,6 +1585,7 @@ services: service_category: database service_title: GaussDB (for MySQL) service_type: gaussdb_mysql + service_uri: gaussdb-mysql/umn teams: - name: docs-database-rw permission: write @@ -1371,6 +1599,7 @@ services: service_category: database service_title: GaussDB NoSQL service_type: gaussdb_nosql + service_uri: gaussdb-nosql/umn teams: - name: docs-database-rw permission: write @@ -1384,6 +1613,7 @@ services: service_category: security-services service_title: Identity and Access Management service_type: iam + service_uri: identity-access-management/umn teams: - name: docs-security-services-rw permission: write @@ -1397,6 +1627,7 @@ services: service_category: compute service_title: Image Management Service service_type: ims + service_uri: image-management-service/umn teams: - name: docs-compute-rw permission: write @@ -1410,6 +1641,7 @@ services: service_category: security-services service_title: Key Management Service service_type: kms + service_uri: key-management-service/umn teams: - name: docs-security-services-rw permission: write @@ -1423,6 +1655,7 @@ services: service_category: md service_title: Log Tank Service service_type: lts + service_uri: log-tank-service/umn teams: - name: docs-orchestration-rw permission: write @@ -1436,6 +1669,7 @@ services: service_category: big_data service_title: ModelArts service_type: ma + service_uri: modelarts/umn teams: - name: docs-bigdata-ai-rw permission: write @@ -1449,6 +1683,7 @@ services: service_category: big_data service_title: MapReduce Service service_type: mrs + service_uri: mapreduce-service/umn teams: - name: docs-bigdata-ai-rw permission: write @@ -1462,6 +1697,7 @@ services: service_category: network service_title: NAT Gateway service_type: natgw + service_uri: nat-gateway/umn teams: - name: docs-network-rw permission: write @@ -1475,6 +1711,7 @@ services: service_category: storage service_title: Object Storage Service service_type: obs + service_uri: object-storage-service/umn teams: - name: docs-storage-rw permission: write @@ -1488,6 +1725,7 @@ services: service_category: database service_title: GaussDB (openGauss) service_type: opengauss + service_uri: gaussdb-opengauss/umn teams: - name: docs-database-rw permission: write @@ -1501,6 +1739,7 @@ services: service_category: network service_title: Private Link Access Service service_type: plas + service_uri: private-link-access-service/umn teams: - name: docs-network-rw permission: write @@ -1514,6 +1753,7 @@ services: service_category: database service_title: Relational Database Service service_type: rds + service_uri: relational-database-service/umn teams: - name: docs-database-rw permission: write @@ -1527,6 +1767,7 @@ services: service_category: md service_title: Resource Management Service service_type: rms + service_uri: resource-management-service/umn teams: - name: docs-orchestration-rw permission: write @@ -1540,6 +1781,7 @@ services: service_category: md service_title: Resource Template Service service_type: rts + service_uri: resource-template-service/umn teams: - name: docs-orchestration-rw permission: write @@ -1553,6 +1795,7 @@ services: service_category: other service_title: Status Dashboard service_type: sd + service_uri: status-dashboard/umn teams: - name: docs-eco-rw permission: write @@ -1566,6 +1809,7 @@ services: service_category: storage service_title: Storage Disaster Recovery Service service_type: sdrs + service_uri: storage-disaster-recovery-service/umn teams: - name: docs-storage-rw permission: write @@ -1579,6 +1823,7 @@ services: service_category: storage service_title: Scalable File System service_type: sfs + service_uri: scalable-file-service/umn teams: - name: docs-storage-rw permission: write @@ -1592,6 +1837,7 @@ services: service_category: application service_title: Simple Message Notification service_type: smn + service_uri: simple-message-notification/umn teams: - name: docs-orchestration-rw permission: write @@ -1605,6 +1851,7 @@ services: service_category: network service_title: Secure Mail Gateway service_type: smg + service_uri: secure-mail-gateway/umn teams: - name: docs-network-rw permission: write @@ -1618,6 +1865,7 @@ services: service_category: container service_title: Software Repository for Containers service_type: swr + service_uri: software-repository-container/umn teams: - name: docs-container-rw permission: write @@ -1631,6 +1879,7 @@ services: service_category: md service_title: Tag Management Service service_type: tms + service_uri: tag-management-service/umn teams: - name: docs-orchestration-rw permission: write @@ -1644,6 +1893,7 @@ services: service_category: storage service_title: Volume Backup Service service_type: vbs + service_uri: volume-backup-service/umn teams: - name: docs-storage-rw permission: write @@ -1657,6 +1907,7 @@ services: service_category: network service_title: Virtual Private Cloud service_type: vpc + service_uri: virtual-private-cloud/umn teams: - name: docs-network-rw permission: write @@ -1670,6 +1921,7 @@ services: service_category: network service_title: VPC Endpoint service_type: vpcep + service_uri: vpc-endpoint/umn teams: - name: docs-network-rw permission: write @@ -1683,6 +1935,7 @@ services: service_category: network service_title: Virtual Private Network service_type: vpn + service_uri: virtual-private-network/umn teams: - name: docs-network-rw permission: write @@ -1696,6 +1949,7 @@ services: service_category: security-services service_title: Web Application Firewall service_type: waf + service_uri: web-application-firewall/umn teams: - name: docs-security-services-rw permission: write @@ -1709,6 +1963,7 @@ services: service_category: security-services service_title: Dedicated Web Application Firewall service_type: wafd + service_uri: web-application-firewall-dedicated/umn teams: - name: docs-security-services-rw permission: write diff --git a/otc_metadata/templates/conf.py.j2 b/otc_metadata/templates/conf.py.j2 index 859d3b87..3228eec8 100644 --- a/otc_metadata/templates/conf.py.j2 +++ b/otc_metadata/templates/conf.py.j2 @@ -18,7 +18,10 @@ import os import sys extensions = [ - 'otcdocstheme' + 'otcdocstheme', +{%- if otc_sbv %} + 'otc_sphinx_directives' +{%- endif %} ] otcdocs_auto_name = False diff --git a/otc_metadata/templates/doc_requirements.txt.j2 b/otc_metadata/templates/doc_requirements.txt.j2 index a61c7060..ea0c4dee 100644 --- a/otc_metadata/templates/doc_requirements.txt.j2 +++ b/otc_metadata/templates/doc_requirements.txt.j2 @@ -2,3 +2,6 @@ sphinx>=2.0.0,!=2.1.0 # BSD otcdocstheme # Apache-2.0 # releasenotes reno>=3.1.0 # Apache-2.0 + +otc-sphinx-directives>=0.1.0 +git+https://gitea.eco.tsi-dev.otc-service.com/infra/otc-metadata.git#egg=otc_metadata \ No newline at end of file diff --git a/otc_metadata/templates/index_sbv.rst.j2 b/otc_metadata/templates/index_sbv.rst.j2 new file mode 100644 index 00000000..1ef5b688 --- /dev/null +++ b/otc_metadata/templates/index_sbv.rst.j2 @@ -0,0 +1,7 @@ +{{ sbv_title }} + +.. directive_wrapper:: + :class: container-sbv + + .. service_card:: + :service_type: {{ service_type }} diff --git a/otc_metadata/templates/tox.ini.j2 b/otc_metadata/templates/tox.ini.j2 index f8316308..e6ecf9d4 100644 --- a/otc_metadata/templates/tox.ini.j2 +++ b/otc_metadata/templates/tox.ini.j2 @@ -29,7 +29,11 @@ allowlist_externals = mkdir cp sh + rm + sphinx-build commands = + rm -rf doc/build/html doc/build/doctrees + sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html {%- for doc in docs %} {[testenv:{{ doc.type }}]commands} {[testenv:json-{{ doc.type }}]commands} @@ -115,3 +119,7 @@ commands = cp {{ loc }}/build/pdf/{{ doc.pdf_name }}.pdf doc/build/pdf/ {% endif %} {% endfor %} + +[doc8] +ignore = D001 +extensions = .rst, .yaml \ No newline at end of file diff --git a/otc_metadata/tests/test_otc_metadata.py b/otc_metadata/tests/test_otc_metadata.py index eb22b699..609199f0 100644 --- a/otc_metadata/tests/test_otc_metadata.py +++ b/otc_metadata/tests/test_otc_metadata.py @@ -21,8 +21,45 @@ Tests for `otc-metadata` module. from unittest import TestCase +from otc_metadata import services + class TestOtcMetadata(TestCase): + def setUp(self): + self.data = services.Services() - def test_something(self): - pass + def test_data_is_sorted(self): + curr = self.data + new = services.Services() + new._sort_data() + self.assertEqual( + curr._service_data, new._service_data, "Data is sorted properly" + ) + + def test_service_categories(self): + category = dict() + for cat in self.data._service_data["service_categories"]: + category[cat["name"]] = cat["title"] + for srv in self.data.all_services: + self.assertTrue( + srv["service_category"] in category, + f"Category {srv['service_category']} is present", + ) + + def test_doc_contains_required_data(self): + srv_types = dict() + for srv in self.data.all_services: + srv_types[srv["service_type"]] = srv + for doc in self.data.all_docs: + for attr in [ + "rst_location", + "service_type", + "title", + "type", + ]: + self.assertIn(attr, doc, f"Document {doc} contains {attr}") + self.assertIn( + doc["service_type"], + srv_types, + f"Document {doc} contains valid service_type", + ) diff --git a/tools-requirements.txt b/tools-requirements.txt index 382a4a03..5fee53b0 100644 --- a/tools-requirements.txt +++ b/tools-requirements.txt @@ -3,3 +3,4 @@ ruamel.yaml requests jinja2 dirsync +cookiecutter diff --git a/tools/generate_doc_confpy.py b/tools/generate_doc_confpy.py index 58f657a1..728e8686 100644 --- a/tools/generate_doc_confpy.py +++ b/tools/generate_doc_confpy.py @@ -50,6 +50,7 @@ def process_repositories(args, service): ) conf_py_template = env.get_template("conf.py.j2") tox_ini_template = env.get_template("tox.ini.j2") + index_sbv_template = env.get_template("index_sbv.rst.j2") doc_requirements_template = env.get_template("doc_requirements.txt.j2") for repo in service["repositories"]: @@ -155,7 +156,62 @@ def process_repositories(args, service): out.write(conf_py_content) repo_to.index.add([doc["rst_location"]]) + + if args.update_sbv: + """Add or update service-based-view""" + copy_path = pathlib.Path(copy_to, 'doc', 'source') + context = dict( + repo_name=target_repo["repo"], + project=service["service_title"], + # pdf_name=doc["pdf_name"], + title=f"{service['service_title']} - Service Based View", + service_type=service["service_type"] + ) + if not copy_path.exists(): + logging.info("Path for sbv does not exist") + copy_path.mkdir(parents=True, exist_ok=True) + context["otc_sbv"] = True + if git_fqdn: + context["git_fqdn"] = git_fqdn + if target_repo.get("type") != "github": + context["git_type"] = target_repo["type"] + if args.target_environment == "internal": + context["html_options"] = dict( + disable_search=True, + site_name="Internal Documentation Portal", + logo_url="https://docs-int.otc-service.com", + ) + sbv_title = (service["service_title"] + "\n" + + ('=' * len(service["service_title"]))) + context["sbv_title"] = sbv_title + conf_py_content = conf_py_template.render(**context) + index_sbv_content = index_sbv_template.render(**context) + with open( + pathlib.Path(copy_path, "conf.py"), + "w", + encoding="utf-8") as out: + out.write(conf_py_content) + repo_to.index.add(pathlib.Path(copy_path, "conf.py")) + + if (not args.overwrite_index_sbv + and pathlib.Path(copy_path, "index.rst").exists()): + logging.info("File index.rst for sbv exists. Skipping") + else: + with open( + pathlib.Path(copy_path, "index.rst"), + "w", + encoding="utf-8") as out: + out.write(index_sbv_content) + repo_to.index.add(pathlib.Path(copy_path, "index.rst")) + + placeholder_path = pathlib.Path(copy_path, "_static") + if not pathlib.Path(placeholder_path, "placeholder").exists(): + placeholder_path.mkdir(parents=True, exist_ok=True) + open(pathlib.Path(placeholder_path, "placeholder"), 'a').close() + repo_to.index.add(pathlib.Path(placeholder_path, "placeholder")) + if args.update_tox: + """Update tox.ini""" context = dict(docs=[]) for doc in service_docs: if doc["type"] == "dev": @@ -189,11 +245,7 @@ def process_repositories(args, service): ) return repo_to.index.commit( - ( - "Update tox.ini && conf.py file\n\n" - "Performed-by: gitea/infra/otc-metadata/" - "tools/generate_doc_confpy.py" - ) + args.commit_description ) push_args = ["--set-upstream", "origin", branch_name] if args.branch_force: @@ -265,10 +317,36 @@ def main(): ) parser.add_argument("--token", metavar="token", help="API token") parser.add_argument("--api-url", help="API base url of the Git hoster") + parser.add_argument( + "--update-sbv", + action="store_true", + help="Whether to update service-based-view" + ) + parser.add_argument( + "--overwrite-index-sbv", + action="store_true", + help=("Whether to overwrite index.rst for service-based-view." + + "\nCan only be used if --update-sbv is also specified") + ) + parser.add_argument( + "--commit-description", + default=( + "Update tox.ini && conf.py file\n\n" + "Performed-by: gitea/infra/otc-metadata/" + "tools/generate_doc_confpy.py" + ), + help="Commit description for the commit", + ) args = parser.parse_args() logging.basicConfig(level=logging.DEBUG) services = [] + if args.overwrite_index_sbv and not args.update_sbv: + logging.error( + "Cannot overwrite index.rst for service-based-view" + + " without updating service-based-view" + ) + exit(1) if args.service_type: services = [data.service_dict.get(args.service_type)] else: diff --git a/tox.ini b/tox.ini index 8a1f4d2d..3b5961d1 100644 --- a/tox.ini +++ b/tox.ini @@ -19,7 +19,6 @@ commands = {posargs} [flake8] # E123, E125 skipped as they are invalid PEP-8. - show-source = True ignore = E123,E125,W503 builtins = _ diff --git a/zuul.yaml b/zuul.yaml index 809de6cc..3a1ad475 100644 --- a/zuul.yaml +++ b/zuul.yaml @@ -1,3 +1,4 @@ +--- - project: merge-mode: squash-merge default-branch: main @@ -8,4 +9,4 @@ gate: jobs: - otc-tox-pep8 - - otc-tox-py39 \ No newline at end of file + - otc-tox-py39