Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Staging deployments #358

Merged
merged 39 commits into from
Feb 17, 2025

Conversation

gbanu
Copy link
Contributor

@gbanu gbanu commented Feb 10, 2025

Motivation

This PR introduces support for staging deployments directly from the release page, allowing better testing workflow and deployment management across different environments.

Description

Database Schema Changes

  • Modified workflow table:
    • Updated label column to support new environment values:
      • NONE
      • TEST_SERVER
      • STAGING_SERVER
      • PRODUCTION_SERVER
  • Added type column to environment table:
    • Possible values: TEST, STAGING, PRODUCTION
    • Default value: TEST

The logic to find a deployment workflow has changed and requires a deployment environment as argument, to find deployment workflow for the specific environment.

This logic must be refactored in the future and we should think about how to reduce hardcoded values in our backend.
(Suggestion: for each environment save deployment workflow, and for the workflows save required inputs)

Debugging

  • Added launch.json configuration for:
    • Angular debugging
    • TanStack Query DevTools (development mode only)
Screenshot 2025-02-15 at 20 04 31 Screenshot 2025-02-15 at 20 04 39

Testing Instructions

Staging deployments rely on webhooks, so you will need to ensure your backend receives webhooks, you can configure your static ngrok domain with ngrok's guide and set the webhook in the Helios repository.

Prerequisites:

  1. Configure webhooks in Helios repository
  2. Set up environments:
    • Configure artemis-staging-localci.artemis.cit.tum.de as Staging environment
    • Set up mock-staging-deployment-helios.yml as Staging server deployment environment
Screen.Recording.2025-02-15.at.19.47.52.mov

Checklist

General

Server

  • Code is performant and follows best practices
  • I documented the Java code using JavaDoc style.

Client

  • I documented the TypeScript code using JSDoc style.
  • I added multiple screenshots/screencasts of my UI changes.
  • I translated all newly inserted strings into English and German.

Copy link

codacy-production bot commented Feb 10, 2025

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
Report missing for bdaf33e1 1.00%
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (bdaf33e) Report Missing Report Missing Report Missing
Head commit (cfd2279) 5230 320 6.12%

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#358) 201 2 1.00%

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

See your quality gate settings    Change summary preferences

Codacy stopped sending the deprecated coverage status on June 5th, 2024. Learn more

Footnotes

  1. Codacy didn't receive coverage data for the commit, or there was an error processing the received data. Check your integration for errors and validate that your coverage setup is correct.

@gbanu gbanu force-pushed the feat/use-different-workflows-for-different-env branch from 9955a1c to a2c1748 Compare February 14, 2025 02:05
@github-actions github-actions bot added size:XXL and removed size:XL labels Feb 15, 2025
@gbanu gbanu force-pushed the feat/use-different-workflows-for-different-env branch from 282454e to a293ed2 Compare February 15, 2025 18:56
@gbanu gbanu requested a review from StefanNemeth February 17, 2025 14:02
@gbanu gbanu had a problem deploying to artemis-staging-localci.artemis.cit.tum.de February 17, 2025 14:14 — with GitHub Actions Error
@gbanu gbanu temporarily deployed to artemis-staging-localci.artemis.cit.tum.de February 17, 2025 14:18 — with GitHub Actions Inactive
@gbanu gbanu had a problem deploying to artemis-staging-localci.artemis.cit.tum.de February 17, 2025 14:43 — with GitHub Actions Error
@gbanu gbanu had a problem deploying to artemis-staging-localci.artemis.cit.tum.de February 17, 2025 14:56 — with GitHub Actions Error
@gbanu gbanu had a problem deploying to artemis-staging-localci.artemis.cit.tum.de February 17, 2025 14:59 — with GitHub Actions Error
@gbanu gbanu had a problem deploying to artemis-staging-localci.artemis.cit.tum.de February 17, 2025 15:03 — with GitHub Actions Error
@gbanu gbanu had a problem deploying to artemis-staging-localci.artemis.cit.tum.de February 17, 2025 15:16 — with GitHub Actions Error
@egekocabas
Copy link
Member

Can be added later on but staging deployment setup information should be added into the documentation as well
here is my initial how to start using Helios guide

@gbanu gbanu had a problem deploying to artemis-staging-localci.artemis.cit.tum.de February 17, 2025 15:32 — with GitHub Actions Error
@gbanu gbanu temporarily deployed to artemis-staging-localci.artemis.cit.tum.de February 17, 2025 17:18 — with GitHub Actions Inactive
@gbanu gbanu temporarily deployed to artemis-staging-localci.artemis.cit.tum.de February 17, 2025 17:36 — with GitHub Actions Inactive
@gbanu gbanu merged commit a7413b0 into staging Feb 17, 2025
13 checks passed
@gbanu gbanu deleted the feat/use-different-workflows-for-different-env branch February 17, 2025 18:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Enable deployment of develop branch to simulated production environment (staging/local-ci) using Helios
3 participants