Skip to content

feat(CI): added deployment skip, migration automation, and key manager steps #121

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

Open
wants to merge 15 commits into
base: main
Choose a base branch
from

Conversation

waterkimchi
Copy link
Contributor

Description

Improves the CI pipeline by adding the following enhancements:

  • Workflow now checks for the no deploy label on PRs(TODO: set the labels). If present, the staging deployment is skipped.
  • When deploying to production, the pipeline now ensures that database migrations are ran.
  • Pipeline now includes deployment steps for additional services like the key manager and dashboard.

Related Issue

#81

Motivation and Context

  • Some PRs require local testing and should not trigger automatic staging deployments. The no deploy(TODO: set the labels) label allows contributors to control this.
  • Ensuring database migrations run on production prevents schema inconsistencies.
  • Adding key manager/dashboard deployment improves automation and consistency in production rollouts.

How Has This Been Tested?

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code involves a change to the database schema.
  • My code requires a change to the documentation.

@waterkimchi waterkimchi linked an issue Feb 13, 2025 that may be closed by this pull request
@waterkimchi waterkimchi added the no deploy Skips deployment on PR label Feb 13, 2025
@waterkimchi waterkimchi removed the no deploy Skips deployment on PR label Feb 13, 2025
@waterkimchi
Copy link
Contributor Author

waterkimchi commented Feb 15, 2025

Production deployment not tested

@waterkimchi waterkimchi marked this pull request as ready for review February 15, 2025 20:34
@waterkimchi waterkimchi requested a review from ecxyzzy February 15, 2025 20:34
sanskarm7 and others added 2 commits February 19, 2025 09:00
<!--- Provide a general summary of your changes in the Title above -->

## Description

Introduces a new "websocSectionEnrollmentLive" table to the schema,
purposed to keep track of updated enrollment data based on continuous
scrapes.

Updated the websoc scraper to populate new table every 5 minutes. The
table holds short term data, clearing out all entries older than an hour
every scrape.

Added REST endpoint functionality for the new table, which retrieves
enrollment snapshots based on a `since` timestamp.
  - The API returns:
- A "from" snapshot representing the latest known state before `since`
(if available).
    - A "to" snapshot representing the latest known state.
    - If no significant changes are detected, only "to" is returned.

## Related Issue

Closes [#59]

## Motivation and Context

Allows developers to create accurate applications of UCI's enrollment
information, helping student's quarterly enrollment processes go
smoother and be more communicative.

## How Has This Been Tested?

the schema and scraper were tested across numerous scapes in 5 minute
intervals, and the data was validated for consistency.

## Screenshots (if appropriate):

## Types of changes

<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->

- [ ] Bug fix (non-breaking change which fixes an issue)
- [X] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)

## Checklist:

- [X] My code involves a change to the database schema.
- [ ] My code requires a change to the documentation.

---------

Co-authored-by: Sanskar Mishra <[email protected]>
Co-authored-by: Jordan <[email protected]>
Co-authored-by: Jordan Yee <[email protected]>
Co-authored-by: Dante Dam <[email protected]>
Co-authored-by: Andrew Wang <[email protected]>
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.

CI enhancements
3 participants