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

️🛠 - Update CI/CD process with more automation #5

Open
19 of 21 tasks
maxwellmattryan opened this issue Nov 11, 2024 · 0 comments
Open
19 of 21 tasks

️🛠 - Update CI/CD process with more automation #5

maxwellmattryan opened this issue Nov 11, 2024 · 0 comments
Assignees
Labels
scope : devops Modifying cloud infrastructure type : chore Hosue-keeping, updating dependencies, etc.
Milestone

Comments

@maxwellmattryan
Copy link
Collaborator

maxwellmattryan commented Nov 11, 2024

Description

It would be amazing to have tagged releases with an automated build and deployment system. Although if I can't package it with an installer from within the GitHub workflow then it doesn't make sense, right? I may also want to test the final binaries before actually saying okay these are the ones we are going with.

This is the flow I am thinking:

  • Create a tag and push to main or develop
    • Build is triggered and set to upload artifacts
    • Release draft is made
  • Download and test release candidate artifacts
  • Package artifacts with installers (if can't be automated)
  • Upload installers to S3 bucket with versioning
  • Distribute download URLs

Requirements

  • Support Intel MacOS builds
  • Support ARM MacOS builds
  • Bump the GitHub actions MacOS version as high as possible
  • Support Windows
    • Figure out Azure signing (reference Pamplejuce workflow)
    • Integrate installer
    • Figure out bash variable problem
  • Use proper installer
  • Separate into reusable and modular workflows / jobs
  • Integrate Git tagging mechanism for triggering releases
  • Add release drafting when tagged
  • Add clang formatting
  • Figure out how the installer fits into the flow
  • Add distribution step(s) on release job
  • Ensure tag protection is active
  • Write page in Notion detailing all of this stuff for the future
  • Use better Cloud Storage directory structure
    • Folder for each type of products then...
    • Folder for each product then...
    • Folder for each stage then...
    • Folder for each version with the corresponding installers
@maxwellmattryan maxwellmattryan added the type : chore Hosue-keeping, updating dependencies, etc. label Nov 11, 2024
@maxwellmattryan maxwellmattryan added this to the M00 - Reboot milestone Nov 11, 2024
@maxwellmattryan maxwellmattryan self-assigned this Nov 11, 2024
@maxwellmattryan maxwellmattryan added the scope : devops Modifying cloud infrastructure label Nov 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope : devops Modifying cloud infrastructure type : chore Hosue-keeping, updating dependencies, etc.
Projects
None yet
Development

No branches or pull requests

1 participant