Skip to content

ENH: set up workflows to deploy the backend#39

Open
YektaY wants to merge 1 commit intomainfrom
yektay/workflows
Open

ENH: set up workflows to deploy the backend#39
YektaY wants to merge 1 commit intomainfrom
yektay/workflows

Conversation

@YektaY
Copy link
Copy Markdown
Collaborator

@YektaY YektaY commented Mar 6, 2026

Description

Pass deployment secrets (database_url, redis_url, ghcr_token, ghcr_user) via client-payload to build-system-playbooks
Add manual "Deploy to Production" workflow (deploy-prod.yml) that triggers deploy-container-prod in build-system-playbooks

Prod deploy flow
Create a release → build-release.yml builds and pushes image
Go to Actions → "Deploy to Production" → enter release tag → Run
Triggers deploy-container-prod in build-system-playbooks → webhook → Deployment Controller → Ansible

Motivation

Set up CI/CD pipeline for the project

Where Has This Been Documented?

Screenshots

Pre-merge checklist

  • Code works interactively
  • Code contains descriptive docstrings
  • New/changed functions and methods are covered in the test suite where possible
  • Test suite passes locally
  • Test suite passes on GitHub Actions

@YektaY YektaY marked this pull request as ready for review March 9, 2026 21:01
@YektaY YektaY force-pushed the yektay/workflows branch from f43c5d0 to 0567e65 Compare March 10, 2026 18:46
@github-actions github-actions bot requested a deployment to CONTAINER_DEV March 10, 2026 21:43 Abandoned
@YektaY YektaY force-pushed the yektay/workflows branch from a63b444 to 8a9e9f7 Compare March 13, 2026 16:48
- Add build-and-deploy-dev, build-release, deploy-prod, deploy workflows
- Add config.yaml and Dockerfile.prod for software factory onboarding
@YektaY YektaY force-pushed the yektay/workflows branch from 8a9e9f7 to 0234486 Compare March 13, 2026 16:51
@YektaY YektaY requested a review from a team March 13, 2026 16:52
@YektaY YektaY self-assigned this Mar 17, 2026
@YektaY YektaY linked an issue Mar 17, 2026 that may be closed by this pull request
@YektaY YektaY linked an issue Mar 25, 2026 that may be closed by this pull request
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a copy of config.yml: is this an unintended file, or is the contents incorrect?

Comment on lines +27 to +28
database_url: ${{ secrets.PROD_DATABASE_URL }}
redis_url: ${{ secrets.PROD_REDIS_URL }}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see DEV_{DATABASE,REDIS}_URL in this repo's environment secrets, and I see one secret each for the dev and prod environments. What are the environment secrets used for, and where are PROD_{DATABASE,REDIS}_URL defined?

Comment on lines +15 to +16
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

requirements.txt no longer exists on main after #52 swapped the project over to the project.toml

# Copy application code
COPY app/ ./app/
COPY alembic/ ./alembic/
COPY alembic.ini .
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
COPY alembic.ini .
COPY alembic.ini .
COPY scripts/ ./scripts/

Should also copy over the key management scripts added in #48 so that we have the ability to create/deactivate keys in the container

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] - Set up deployment workflow targeting dev and prod [FEATURE] - Dev-Ops: set up backend for Dev and Prod

3 participants