diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 3ce122d..d2e0ee5 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -11,6 +11,7 @@ jobs: get-version: name: Determine Next Version runs-on: ubuntu-latest + permissions: write-all if: github.event.pull_request.merged == true outputs: version: ${{ steps.version.outputs.next_version }} @@ -26,6 +27,7 @@ jobs: deploy: name: Deploy needs: [get-version] + permissions: write-all uses: Aignosi/github_workflow_templates/.github/workflows/reusable-deploy.yml@feature/SIENTIAPDE-1352 with: version: ${{ needs.get-version.outputs.version }} diff --git a/README.md b/README.md index 977bfda..146fe47 100644 --- a/README.md +++ b/README.md @@ -821,10 +821,21 @@ All tools are configured in the `pyproject.toml` file: ### CI/CD Integration -The `.github/workflows/quality-gate.yml` workflow automatically runs all validations on each push/PR: +The project uses **reusable workflows** from `Aignosi/github_workflow_templates` for CI/CD: + +#### Quality Gate (`.github/workflows/quality-gate.yml`) +Runs automatically on each Pull Request to `main`: - ✅ Formatting and linting block merge if they fail - ⚠️ Type checking and security generate warnings but don't block - ✅ Tests must pass with minimum 80% coverage +- ✅ SonarQube analysis for code quality metrics +- ✅ Automatic version calculation based on branch pattern + +#### Deploy (`.github/workflows/deploy.yml`) +Runs automatically when a PR is merged to `main`: +- ✅ Builds and pushes Docker image to Azure Container Registry +- ✅ Creates GitHub release with calculated version +- ✅ Deploys to Kubernetes using Helm ### Best Practices @@ -1367,7 +1378,7 @@ $ docker logs -f sientia-dataops-model-manager ### Login using access token ```bash -$ docker login -u bruno-aignosi -p LD/IyZ4vtDI7khRYnH4HzfdTx3toorg6hlCetJM54n+ACRDim3xO aignosi.azurecr.io +$ docker login -u -p aignosi.azurecr.io ``` ### Push image to repository