diff --git a/.yamllint.yml b/.yamllint.yml
index 0e9210947b..6a47615bbd 100644
--- a/.yamllint.yml
+++ b/.yamllint.yml
@@ -10,6 +10,7 @@ ignore: |
**/node_modules
# https://github.com/sbaudoin/yamllint/issues/16
/helm/templates
+ /python_sdk
rules:
new-lines: disable
diff --git a/CHANGELOG.md b/CHANGELOG.md
index dd63e7c12f..dcb6fe65a0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,15 @@ This project uses [*towncrier*](https://towncrier.readthedocs.io/) and the chang
+## [1.0.1](https://github.com/opsmill/infrahub/tree/v1.0.1) - 2024-10-31
+
+### Fixed
+
+- When a user is not logged in and the branch name is not found, hide the quick-create action and display the message: 'No branch found' ([#4801](https://github.com/opsmill/infrahub/issues/4801))
+- Fix automation to trigger generation of artifacts after merging a branch ([#4804](https://github.com/opsmill/infrahub/issues/4804))
+- Avoid sending an empty list to the load schema API on repository import if it's not required
+- Update demo environment to work with Infrahub 1.0
+
## [1.0.0](https://github.com/opsmill/infrahub/tree/v1.0.0) - 2024-10-30
### Removed
diff --git a/backend/infrahub/core/ipam/tasks.py b/backend/infrahub/core/ipam/tasks.py
index a593c71360..8b3b036812 100644
--- a/backend/infrahub/core/ipam/tasks.py
+++ b/backend/infrahub/core/ipam/tasks.py
@@ -15,7 +15,7 @@
@flow(
- name="ipam-reconciliation",
+ name="ipam_reconciliation",
flow_run_name="branch-{branch}",
description="Ensure the IPAM Tree is up to date",
persist_result=False,
diff --git a/backend/infrahub/core/migrations/schema/tasks.py b/backend/infrahub/core/migrations/schema/tasks.py
index 4d19d65679..0b361c94fc 100644
--- a/backend/infrahub/core/migrations/schema/tasks.py
+++ b/backend/infrahub/core/migrations/schema/tasks.py
@@ -18,7 +18,7 @@
from infrahub.core.schema import MainSchemaTypes
-@flow(name="schema-migrations-apply")
+@flow(name="schema_apply_migrations")
async def schema_apply_migrations(message: SchemaApplyMigrationData) -> list[str]:
service = services.service
await add_branch_tag(branch_name=message.branch.name)
diff --git a/backend/infrahub/core/validators/tasks.py b/backend/infrahub/core/validators/tasks.py
index e80055a745..dc29bf157f 100644
--- a/backend/infrahub/core/validators/tasks.py
+++ b/backend/infrahub/core/validators/tasks.py
@@ -13,7 +13,7 @@
from .models.validate_migration import SchemaValidateMigrationData # noqa: TCH001
-@flow(name="schema-migrations-validate")
+@flow(name="schema_validate_migrations")
async def schema_validate_migrations(message: SchemaValidateMigrationData) -> list[str]:
batch = InfrahubBatch(return_exceptions=True)
error_messages: list[str] = []
diff --git a/backend/infrahub/git/integrator.py b/backend/infrahub/git/integrator.py
index 234b8b8aed..81d7fc0845 100644
--- a/backend/infrahub/git/integrator.py
+++ b/backend/infrahub/git/integrator.py
@@ -472,6 +472,11 @@ async def import_schema_files(self, branch_name: str, commit: str, config_file:
schema_file.load_content()
schemas_data.append(schema_file)
+ if not schemas_data:
+ # If the repository doesn't contain any schema files there is no reason to continue
+ # and send an empty list to the API
+ return
+
for schema_file in schemas_data:
if schema_file.valid:
continue
diff --git a/backend/infrahub/git/tasks.py b/backend/infrahub/git/tasks.py
index eb33aa7c43..babb6837ac 100644
--- a/backend/infrahub/git/tasks.py
+++ b/backend/infrahub/git/tasks.py
@@ -18,7 +18,7 @@
log = get_logger()
-@flow(name="git-repositories-branch-create")
+@flow(name="git_repositories_create_branch")
async def create_branch(branch: str, branch_id: str) -> None:
"""Request to the creation of git branches in available repositories."""
service = services.service
@@ -42,7 +42,7 @@ async def create_branch(branch: str, branch_id: str) -> None:
pass
-@flow(name="git-repository-sync")
+@flow(name="git_repositories_sync")
async def sync_remote_repositories() -> None:
service = services.service
@@ -162,7 +162,7 @@ async def generate_artifact(model: RequestArtifactGenerate) -> None:
await artifact.save()
-@flow(name="artifact-definition-generate")
+@flow(name="request_artifact_definitions_generate")
async def generate_request_artifact_definition(model: RequestArtifactDefinitionGenerate) -> None:
await add_branch_tag(branch_name=model.branch)
diff --git a/backend/infrahub/tasks/telemetry.py b/backend/infrahub/tasks/telemetry.py
index b481b2214a..3e66f7519d 100644
--- a/backend/infrahub/tasks/telemetry.py
+++ b/backend/infrahub/tasks/telemetry.py
@@ -101,7 +101,7 @@ async def post_telemetry_data(service: InfrahubServices, url: str, payload: dict
response.raise_for_status()
-@flow(name="anonymous-telemetry-push")
+@flow(name="anonymous_telemetry_send")
async def send_telemetry_push() -> None:
service = services.service
log = get_run_logger()
diff --git a/backend/infrahub/transformations/tasks.py b/backend/infrahub/transformations/tasks.py
index a0ef7899ac..f57f7ab69e 100644
--- a/backend/infrahub/transformations/tasks.py
+++ b/backend/infrahub/transformations/tasks.py
@@ -12,7 +12,7 @@
log = get_logger()
-@flow(name="transform-render-python")
+@flow(name="transform_render_python")
async def transform_python(message: TransformPythonData) -> Any:
service = services.service
await add_branch_tag(branch_name=message.branch)
@@ -35,7 +35,7 @@ async def transform_python(message: TransformPythonData) -> Any:
return transformed_data
-@flow(name="transform-render-jinja2")
+@flow(name="transform_render_jinja2_template")
async def transform_render_jinja2_template(message: TransformJinjaTemplateData) -> str:
service = services.service
await add_branch_tag(branch_name=message.branch)
diff --git a/backend/infrahub/workflows/catalogue.py b/backend/infrahub/workflows/catalogue.py
index 856f89a5f4..64318844c5 100644
--- a/backend/infrahub/workflows/catalogue.py
+++ b/backend/infrahub/workflows/catalogue.py
@@ -86,7 +86,7 @@
)
REQUEST_ARTIFACT_DEFINITION_GENERATE = WorkflowDefinition(
- name="artifact-definition-generate",
+ name="request_artifact_definitions_generate",
type=WorkflowType.INTERNAL,
module="infrahub.git.tasks",
function="generate_request_artifact_definition",
diff --git a/backend/tests/unit/workflows/test_catalogue.py b/backend/tests/unit/workflows/test_catalogue.py
index f219c442a1..90b50e7cfe 100644
--- a/backend/tests/unit/workflows/test_catalogue.py
+++ b/backend/tests/unit/workflows/test_catalogue.py
@@ -1,5 +1,6 @@
from __future__ import annotations
+from collections import Counter
from typing import TYPE_CHECKING
import pytest
@@ -14,3 +15,19 @@
def test_workflow_definition(workflow: WorkflowDefinition) -> None:
"""Validate that we can import the function for each workflow."""
workflow.validate_workflow()
+
+
+@pytest.mark.parametrize("workflow", [pytest.param(workflow, id=workflow.name) for workflow in workflows])
+def test_workflow_definition_matches(workflow: WorkflowDefinition) -> None:
+ """Validate that the name of the workflow matches the name of the flow"""
+ flow = workflow.get_function()
+ assert hasattr(flow, "name")
+ assert workflow.name == flow.name
+
+
+def test_workflow_definition_flow_names() -> None:
+ """Validate that each workflow has a unique name defined"""
+ flow_names = [workflow.name for workflow in workflows]
+ name_counter = Counter(flow_names)
+ duplicates = [name for name, count in name_counter.items() if count > 1]
+ assert not duplicates, f"Duplicate flow names found: {', '.join(duplicates)}"
diff --git a/development/docker-compose-deps-nats.yml b/development/docker-compose-deps-nats.yml
index c686a31694..3725cfcc94 100644
--- a/development/docker-compose-deps-nats.yml
+++ b/development/docker-compose-deps-nats.yml
@@ -23,7 +23,7 @@ services:
retries: 20
start_period: 10s
task-manager:
- profiles: [dev]
+ profiles: [demo, dev]
image: "${TASK_MANAGER_DOCKER_IMAGE:-prefecthq/prefect:3.0.3-python3.12}"
command: prefect server start --host 0.0.0.0 --ui
environment:
@@ -40,7 +40,7 @@ services:
depends_on:
- task-manager-db
task-manager-db:
- profiles: [dev]
+ profiles: [demo, dev]
image: postgres:16-alpine
environment:
- POSTGRES_USER=postgres
diff --git a/development/docker-compose-deps.yml b/development/docker-compose-deps.yml
index e19c321242..bdf17f3365 100644
--- a/development/docker-compose-deps.yml
+++ b/development/docker-compose-deps.yml
@@ -22,7 +22,7 @@ services:
timeout: 5s
retries: 3
task-manager:
- profiles: [dev]
+ profiles: [demo, dev]
image: "${TASK_MANAGER_DOCKER_IMAGE:-prefecthq/prefect:3.0.3-python3.12}"
command: prefect server start --host 0.0.0.0 --ui
environment:
@@ -37,7 +37,7 @@ services:
depends_on:
- task-manager-db
task-manager-db:
- profiles: [dev]
+ profiles: [demo, dev]
image: postgres:16-alpine
environment:
- POSTGRES_USER=postgres
diff --git a/development/docker-compose.yml b/development/docker-compose.yml
index 624f8d4f23..6bce2eff6a 100644
--- a/development/docker-compose.yml
+++ b/development/docker-compose.yml
@@ -148,47 +148,8 @@ services:
timeout: 5s
retries: 20
start_period: 10s
- infrahub-git:
- profiles: [demo]
- deploy:
- mode: replicated
- replicas: 2
- build:
- context: ../
- dockerfile: development/Dockerfile
- target: backend
- image: "${IMAGE_NAME}:${IMAGE_VER}"
- pull_policy: always
- command: infrahub git-agent start --debug
- restart: unless-stopped
- depends_on:
- - server
- environment:
- <<: *infrahub_config
- INFRAHUB_ADDRESS: http://server:8000
- INFRAHUB_INTERNAL_ADDRESS: "http://server:8000"
- INFRAHUB_GIT_REPOSITORIES_DIRECTORY: "/opt/infrahub/git"
- INFRAHUB_PRODUCTION: false
- INFRAHUB_LOG_LEVEL: DEBUG
- INFRAHUB_API_TOKEN: 06438eb2-8019-4776-878c-0941b1f1d1ec
- INFRAHUB_TIMEOUT: "${INFRAHUB_TIMEOUT:-60}"
- INFRAHUB_BROKER_ADDRESS: message-queue
- INFRAHUB_CACHE_ADDRESS: "${INFRAHUB_CACHE_ADDRESS:-cache}"
- INFRAHUB_DB_ADDRESS: database
- INFRAHUB_DB_USERNAME: neo4j
- INFRAHUB_DB_PASSWORD: admin
- INFRAHUB_DB_PORT: 7687
- INFRAHUB_DB_PROTOCOL: bolt
- INFRAHUB_STORAGE_DRIVER: local
- volumes:
- - "git_data:/opt/infrahub/git"
- - "git_remote_data:/remote"
- tty: true
- labels:
- com.github.run_id: "${GITHUB_RUN_ID:-unknown}"
- com.github.job: "${JOB_NAME:-unknown}"
task-worker:
- profiles: [dev]
+ profiles: [demo, dev]
deploy:
mode: replicated
replicas: 2
diff --git a/docker-compose.yml b/docker-compose.yml
index 4e015084b2..3fb3d001b4 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -195,7 +195,7 @@ services:
retries: 5
infrahub-server:
- image: "${INFRAHUB_DOCKER_IMAGE:-registry.opsmill.io/opsmill/infrahub}:${VERSION:-0.16.2}"
+ image: "${INFRAHUB_DOCKER_IMAGE:-registry.opsmill.io/opsmill/infrahub}:${VERSION:-1.0.0}"
restart: unless-stopped
command: >
gunicorn --config backend/infrahub/serve/gunicorn_config.py
@@ -241,7 +241,7 @@ services:
deploy:
mode: replicated
replicas: 2
- image: "${INFRAHUB_DOCKER_IMAGE:-registry.opsmill.io/opsmill/infrahub}:${VERSION:-0.16.2}"
+ image: "${INFRAHUB_DOCKER_IMAGE:-registry.opsmill.io/opsmill/infrahub}:${VERSION:-1.0.0}"
command: prefect worker start --type infrahubasync --pool infrahub-worker --with-healthcheck
restart: unless-stopped
depends_on:
diff --git a/docs/docs/guides/menu.mdx b/docs/docs/guides/menu.mdx
index 3aa09e8897..1d9b6bc1ce 100644
--- a/docs/docs/guides/menu.mdx
+++ b/docs/docs/guides/menu.mdx
@@ -96,7 +96,7 @@ Load the schema into Infrahub using the following command
infrahubctl schema load /path/to/schema.yml
```
-In the web interface you will now see that all the nodes defined in the schema are available in the Other section.
+In the web interface you will now see that all the nodes defined in the schema are available in the top section of the menu.
## Defining a menu file
diff --git a/docs/docs/release-notes/infrahub/release-1_0.mdx b/docs/docs/release-notes/infrahub/release-1_0.mdx
index 897d81017f..77a9a6f994 100644
--- a/docs/docs/release-notes/infrahub/release-1_0.mdx
+++ b/docs/docs/release-notes/infrahub/release-1_0.mdx
@@ -151,6 +151,15 @@ organization where it needs to be.
## Other
+### New task-manager component
+
+A new component called `Task Manager` has been introduced within Infrahub, and along with this change the Git-Agent has been renamed to `Task Worker`.
+The task manager is based on Prefect, a popular workflow orchestration system.
+
+The Task Manager is used internally to improve the execution and the visibility of all background tasks.
+In future releases, we are planning to bring these additional information within Infrahub itself.
+Stay tuned for more information and more exciting features around task management in upcoming releases.
+
### Removed
- Remove previously deprecated GET API endpoint "/api/schema/" ([#3884](https://github.com/opsmill/infrahub/issues/3884))
diff --git a/docs/docs/release-notes/infrahub/release-1_0_1-DRAFT.mdx b/docs/docs/release-notes/infrahub/release-1_0_1-DRAFT.mdx
deleted file mode 100644
index 28c209c497..0000000000
--- a/docs/docs/release-notes/infrahub/release-1_0_1-DRAFT.mdx
+++ /dev/null
@@ -1,69 +0,0 @@
----
-title: Release 1.0.1 - DEVELOPMENT
----
-
-
-
- Release Number |
- TBD |
-
-
- Release Date |
- TBD |
-
-
- Release Codename |
- TBD |
-
-
- Tag |
- TBD |
-
-
-
-
-# Release 1.0.1
-
-## Main changes
-
-### Unified storage
-
-### Schema
-
-### Helm chart
-
-### Other
-
-## Migration guide
-
-To migrate your instance of Infrahub to the latest version, please run the following commands and restart all instances of Infrahub.
-
-
-```shell
-infrahub db migrate
-infrahub db update-core-schema
-```
-
-
-> if you are running in docker these commands need to run from the container where Infrahub is installed
-
-### Migration of the demo instance
-
-If you are using the demo environment, you can migrate to the latest version with the following commands
-
-```shell
-invoke demo.stop
-invoke demo.build
-invoke demo.migrate
-invoke demo.start
-```
-
-If you don't want to keep your data, you can start a clean instance with the following command
-
-```shell
-invoke demo.destroy demo.build demo.start demo.load-infra-schema demo.load-infra-data
-```
-
-> All data will be lost, please make sure to backup everything you need before running this command.
-
-The repository https://github.com/opsmill/infrahub-demo-edge has also been updated, it's recommended to pull the latest changes into your fork.
diff --git a/docs/docs/release-notes/infrahub/release-1_0_1.mdx b/docs/docs/release-notes/infrahub/release-1_0_1.mdx
new file mode 100644
index 0000000000..3d5ca47f61
--- /dev/null
+++ b/docs/docs/release-notes/infrahub/release-1_0_1.mdx
@@ -0,0 +1,88 @@
+---
+title: Release 1.0.1
+---
+
+
+
+ Release Number |
+ 1.0.1 |
+
+
+ Release Date |
+ October 31th, 2024 |
+
+
+ Release Codename |
+ Stockholm, Patch #1 |
+
+
+ Tag |
+ [infrahub-v1.0.1](https://github.com/opsmill/infrahub/releases/tag/infrahub-v1.0.1) |
+
+
+
+
+# Release 1.0.1
+
+This is a bug-fix release to address issues found in Infrahub v1.0.0.
+
+## Main changes
+
+The complete list of changes can always be found in the `CHANGELOG.md` file in the Infrahub Git repository.
+
+### Fixed
+
+- When a user is not logged in and the branch name is not found, hide the quick-create action and display the message: 'No branch found' ([#4801](https://github.com/opsmill/infrahub/issues/4801))
+- Fix automation to trigger generation of artifacts after merging a branch ([#4804](https://github.com/opsmill/infrahub/issues/4804))
+- Avoid sending an empty list to the load schema API on repository import if it's not required
+- Update demo environment to work with Infrahub 1.0
+
+## Migration guide
+
+The process to migrate your instance of Infrahub to the latest version may vary depending on your deployment of Infrahub.
+However, at a high-level, it will involve getting the latest version of the Infrahub code, and then performing any needed Database Migrations and Schema updates.
+
+Please ensure you have a **backup of your Infrahub environment** prior to attempting any migration or upgrade activities.
+
+### Migration of an Infrahub instance
+
+**First**, update the Infrahub version running in your environment.
+
+Below are some example ways to get the latest version of Infrahub in your environment.
+
+- For deployments via Docker Compose, update your container version by updating the `IMAGE_VER` environment variable and relaunch:
+ - `export IMAGE_VER="1.0.0"; docker compose pull && docker compose up -d`
+- For deployments via Kubernetes, utilize the latest version of the Helm chart supplied with this release
+
+**Second**, once you have gotten the desired version of Infrahub in your environment, please run the following commands.
+
+> Note: If you are running Infrahub in Docker/K8s, these commands need to run from a container where Infrahub is installed.
+
+```shell
+infrahub db migrate
+infrahub db update-core-schema
+```
+
+**Finally**, restart all instances of Infrahub.
+
+### Migration of a dev or demo instance
+
+If you are using the `dev` or `demo` environments, we have provided `invoke` commands to aid in the migration to the latest version.
+The below examples provide the `demo` version of the commands, however similar commands can be used for `dev` as well.
+
+```shell
+invoke demo.stop
+invoke demo.build
+invoke demo.migrate
+invoke demo.start
+```
+
+If you don't want to keep your data, you can start a clean instance with the following command.
+
+> **Warning: All data will be lost, please make sure to backup everything you need before running this command.**
+
+```shell
+invoke demo.destroy demo.build demo.start demo.load-infra-schema demo.load-infra-data
+```
+
+The repository https://github.com/opsmill/infrahub-demo-edge has also been updated, it's recommended to pull the latest changes into your fork.
diff --git a/docs/docs/release-notes/infrahub/release-1_0_2-DRAFT.mdx b/docs/docs/release-notes/infrahub/release-1_0_2-DRAFT.mdx
new file mode 100644
index 0000000000..dc9de6f7bd
--- /dev/null
+++ b/docs/docs/release-notes/infrahub/release-1_0_2-DRAFT.mdx
@@ -0,0 +1,85 @@
+---
+title: Release 1.0.2 - DEVELOPMENT
+---
+
+
+
+ Release Number |
+ TBD |
+
+
+ Release Date |
+ TBD |
+
+
+ Release Codename |
+ TBD |
+
+
+ Tag |
+ TBD |
+
+
+
+
+# Release 1.0.2
+
+## Main changes
+
+### Unified storage
+
+### Schema
+
+### Helm chart
+
+### Other
+
+## Migration guide
+
+The process to migrate your instance of Infrahub to the latest version may vary depending on your deployment of Infrahub.
+However, at a high-level, it will involve getting the latest version of the Infrahub code, and then performing any needed Database Migrations and Schema updates.
+
+Please ensure you have a **backup of your Infrahub environment** prior to attempting any migration or upgrade activities.
+
+### Migration of an Infrahub instance
+
+**First**, update the Infrahub version running in your environment.
+
+Below are some example ways to get the latest version of Infrahub in your environment.
+
+- For deployments via Docker Compose, update your container version by updating the `IMAGE_VER` environment variable and relaunch:
+ - `export IMAGE_VER="1.0.0"; docker compose pull && docker compose up -d`
+- For deployments via Kubernetes, utilize the latest version of the Helm chart supplied with this release
+
+**Second**, once you have gotten the desired version of Infrahub in your environment, please run the following commands.
+
+> Note: If you are running Infrahub in Docker/K8s, these commands need to run from a container where Infrahub is installed.
+
+```shell
+infrahub db migrate
+infrahub db update-core-schema
+```
+
+**Finally**, restart all instances of Infrahub.
+
+### Migration of a dev or demo instance
+
+If you are using the `dev` or `demo` environments, we have provided `invoke` commands to aid in the migration to the latest version.
+The below examples provide the `demo` version of the commands, however similar commands can be used for `dev` as well.
+
+```shell
+invoke demo.stop
+invoke demo.build
+invoke demo.migrate
+invoke demo.start
+```
+
+If you don't want to keep your data, you can start a clean instance with the following command.
+
+> **Warning: All data will be lost, please make sure to backup everything you need before running this command.**
+
+```shell
+invoke demo.destroy demo.build demo.start demo.load-infra-schema demo.load-infra-data
+```
+
+The repository https://github.com/opsmill/infrahub-demo-edge has also been updated, it's recommended to pull the latest changes into your fork.
\ No newline at end of file
diff --git a/docs/sidebars.ts b/docs/sidebars.ts
index 22ff56b098..09ddea929e 100644
--- a/docs/sidebars.ts
+++ b/docs/sidebars.ts
@@ -312,7 +312,8 @@ const sidebars: SidebarsConfig = {
slug: 'release-notes/infrahub',
},
items: [
- // 'release-notes/infrahub/release-1_0_1-DRAFT',
+ // 'release-notes/infrahub/release-1_0_2-DRAFT',
+ 'release-notes/infrahub/release-1_0_1',
'release-notes/infrahub/release-1_0',
'release-notes/infrahub/release-0_16_4',
'release-notes/infrahub/release-0_16_3',
diff --git a/frontend/app/src/components/branch-selector.tsx b/frontend/app/src/components/branch-selector.tsx
index e7c494ac80..7f09312ec1 100644
--- a/frontend/app/src/components/branch-selector.tsx
+++ b/frontend/app/src/components/branch-selector.tsx
@@ -9,7 +9,13 @@ import { useEffect, useState } from "react";
import { StringParam, useQueryParam } from "use-query-params";
import { ComboboxItem } from "@/components/ui/combobox";
-import { Command, CommandInput, CommandItem, CommandList } from "@/components/ui/command";
+import {
+ Command,
+ CommandEmpty,
+ CommandInput,
+ CommandItem,
+ CommandList,
+} from "@/components/ui/command";
import graphqlClient from "@/graphql/graphqlClientApollo";
import { useAuth } from "@/hooks/useAuth";
import { constructPath } from "@/utils/fetch";
@@ -201,7 +207,9 @@ export const BranchFormTriggerButton = ({
const BranchNotFound = ({ onSelect }: { onSelect: (branchName: string) => void }) => {
const filteredCount = useCommandState((state) => state.filtered.count);
const search = useCommandState((state) => state.search);
+ const { isAuthenticated } = useAuth();
+ if (!isAuthenticated) return No branch found;
if (filteredCount !== 0) return null;
return (
diff --git a/frontend/app/tests/e2e/branches.spec.ts b/frontend/app/tests/e2e/branches.spec.ts
index 5fa24ea8fa..f9fc64b4c4 100644
--- a/frontend/app/tests/e2e/branches.spec.ts
+++ b/frontend/app/tests/e2e/branches.spec.ts
@@ -17,6 +17,21 @@ test.describe("Branches creation and deletion", () => {
await page.getByTestId("branch-selector-trigger").click();
await expect(page.getByTestId("create-branch-button")).toBeDisabled();
});
+
+ test("should not show quick-create option when searching for non-existent branch", async ({
+ page,
+ }) => {
+ await page.goto("/");
+ await page.getByTestId("branch-selector-trigger").click();
+
+ const nonExistentBranchName = "non-existent-branch-123";
+ await page.getByTestId("branch-search-input").fill(nonExistentBranchName);
+
+ await expect(page.getByText("No branch found")).toBeVisible();
+ await expect(
+ page.getByRole("option", { name: `Create branch ${nonExistentBranchName}` })
+ ).not.toBeVisible();
+ });
});
test.describe("when logged in as Admin", () => {
@@ -89,13 +104,13 @@ test.describe("Branches creation and deletion", () => {
await page.getByTestId("branch-selector-trigger").click();
await expect(page.getByTestId("branch-list")).not.toContainText("test123");
});
- });
- test("allow to create a branch with a name that does not exists", async ({ page }) => {
- await page.goto("/");
- await page.getByTestId("branch-selector-trigger").click();
- await page.getByTestId("branch-search-input").fill("quick-branch-form");
- await page.getByRole("option", { name: "Create branch quick-branch-form" }).click();
- await expect(page.getByLabel("New branch name *")).toHaveValue("quick-branch-form");
+ test("allow to create a branch with a name that does not exists", async ({ page }) => {
+ await page.goto("/");
+ await page.getByTestId("branch-selector-trigger").click();
+ await page.getByTestId("branch-search-input").fill("quick-branch-form");
+ await page.getByRole("option", { name: "Create branch quick-branch-form" }).click();
+ await expect(page.getByLabel("New branch name *")).toHaveValue("quick-branch-form");
+ });
});
});
diff --git a/helm/Chart.yaml b/helm/Chart.yaml
index 670a5277ab..f5f12bbb5b 100644
--- a/helm/Chart.yaml
+++ b/helm/Chart.yaml
@@ -15,12 +15,12 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
-version: 3.0.0
+version: 3.0.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
-appVersion: "1.0.0"
+appVersion: "1.0.1"
dependencies:
- name: neo4j
diff --git a/pyproject.toml b/pyproject.toml
index a28910aac4..f709676f85 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "infrahub-server"
-version = "1.0.0"
+version = "1.0.1"
description = "Infrahub is taking a new approach to Infrastructure Management by providing a new generation of datastore to organize and control all the data that defines how an infrastructure should run."
authors = ["OpsMill "]
readme = "README.md"
diff --git a/python_sdk b/python_sdk
index 5bbb22d8a9..b5acff9031 160000
--- a/python_sdk
+++ b/python_sdk
@@ -1 +1 @@
-Subproject commit 5bbb22d8a914611d32e51ea0e93ea8db5b4e9776
+Subproject commit b5acff90316f7b29afdc94f69f6ee220ad625ad1
diff --git a/tasks/demo.py b/tasks/demo.py
index 6dfa94b464..1dca4a2d93 100644
--- a/tasks/demo.py
+++ b/tasks/demo.py
@@ -22,6 +22,7 @@
INFRAHUB_DATABASE,
PYTHON_VER,
SERVICE_SERVER_NAME,
+ SERVICE_WORKER_NAME,
Namespace,
build_compose_files_cmd,
execute_command,
@@ -31,8 +32,6 @@
NAMESPACE = Namespace.DEFAULT
-SERVICE_WORKER_NAME = "infrahub-git"
-
@task(optional=["database"])
def build(