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

Create a Guide/Template: CI/CD with GitHub actions #25

Open
25 of 37 tasks
Tracked by #55
BeckettOBrien opened this issue Jun 23, 2022 · 3 comments
Open
25 of 37 tasks
Tracked by #55

Create a Guide/Template: CI/CD with GitHub actions #25

BeckettOBrien opened this issue Jun 23, 2022 · 3 comments

Comments

@BeckettOBrien
Copy link
Member

BeckettOBrien commented Jun 23, 2022

Overview

We need to create a guide to making effective CI/CD pipelines with GitHub actions so that developers can write their own workflows to speed up the development process.

Action Items

  • Gather examples of how other projects have done it, adding each example as a link in the resources section. It is really important to annotate as you go in this issue, so that if you have to stop working on the issue, its already up to date with your findings.
    • Once done, remove the "TG: Gather Examples" label and add the "TG: Draft Template" label
  • Create a draft template, either in markdown format in this issue or a google doc in the Engineering google drive
    • Once done, remove the "TG: Draft Template" label and add the "TG: Create Guide" label
  • Create a guide on how to use the template
    • Once done, remove the "TG: Create Guide" label and add the "TG: Review Guide" label
  • Review the guide with product management communities of practice
    • Once done, remove the "TG: Review Guide" label and add the "TG: Leadership Review" label
  • Present to Hack for LA leadership team for sign off
    • Once approved, remove the "TG: Leadership Review" label and add the "TG: Place Guide" label
  • Possibly create an issue template on .github
    • Include link to template under resources if you add it as a template in .github

Resources

Update tracker issue (TBD) with the name of item you are working

Projects to check

@BeckettOBrien BeckettOBrien added documentation Improvements or additions to documentation TG: Gather Examples labels Jun 23, 2022
@BeckettOBrien BeckettOBrien self-assigned this Jun 23, 2022
@BeckettOBrien
Copy link
Member Author

BeckettOBrien commented Jun 24, 2022

So far I have checked the following projects, and they use GitHub actions for:

  • 100 Automations
    • Automatically moving new issues to specific columns on project boards
    • Automatically building and deploying the website to GitHub pages on new commits
  • 311 Data
    • Automatically running tests on different components of the website on new commits
    • Automatically building and deploying the different components of the website on new commits, including different builds for development and production branches
  • Access the Data
    • Automatically hosting the README as a GitHub pages site on new commits
    • Automatically exporting GitHub issues to a Google Sheet whenever they change
  • BallotNav
    • Automatically building and deploying the different components of the website on new commits, including different builds for development and production branches
    • Automatically linting and building pull requests before they can be merged
  • Brigade Organizer's Playbook
    • Does not seem to use GitHub actions
  • Civic Tech Index
    • Automatically building, testing, and deploying the website on new commits
  • Civic Tech Jobs
    • Automatically moving new issues to specific columns on project boards
    • Automatically linting the code in new pull requests
    • Automatically building the documentation site on new commits
    • Automatically using CodeQL to analyze the codebase both on new commits and on a schedule
  • Civic Tech Structure
    • Does not seem to use GitHub actions
  • Data Science Projects
    • Does not seem to use GitHub actions
  • Design Systems
    • Does not seem to use GitHub actions
  • Engage
    • Does not seem to use GitHub actions
  • Expunge-Assist
    • Automatically building and deploying to GitHub pages on new commits
  • Food Oasis
    • Automatically building and publishing docker images on new commits and releases
    • Automatically deploying to Heroku on new commits for both production and development branches
  • GreenEarthOS
    • Automatically building and deploying the documentation site to GitHub pages on new commits and pull requests
  • Guides
    • Does not seem to use GitHub actions
  • HomeUniteUs
    • Automatically building and testing on new commits and pull requests
  • Internship Project
    • Does not seem to use GitHub actions
  • Lucky Parking
    • Automatically building and deploying to AWS on new commits for both production and development branches
    • Automatically adding the labels from issues to the PRs that address them
  • Open Community Survey
    • Does not seem to use GitHub actions
  • People Depot
    • Does not seem to use GitHub actions
  • Tables team
    • Does not seem to use GitHub actions
  • TDM Calculator
    • Automatically building and publishing a docker image on new commits
    • Automatically adding new issues to project boards
  • VRMS
    • Automatically building and testing new pull requests
    • Automatically building and publishing docker images on new commits
  • Hack for LA's Website
    • Automatically updating the website's data on a schedule
    • Automatically adding and updating the tags on issues and pull requests
    • Automatically linting the website on commits and pull requests
    • Automatically placing issues and pull requests in the proper columns on project boards
  • Youth Justice Nav
    • Does not seem to use GitHub actions

@BeckettOBrien
Copy link
Member Author

Notes from interview with Ava Li of Civic Tech Jobs:

  • What are the most common things you use GitHub Actions for?
    • Managing GitHub project boards
    • Linting code
  • Have there ever been any times when you thought it would be a good idea to use an action but it ended up being more trouble than it was worth?
    • No because they only create GitHub Actions when many team members express a need for them
  • How do you go about testing your GitHub Actions?
    • Slightly modify the action to run on a fork of the repo first
    • Test any snippets of the action you can
  • How do you deal with bugs in your GitHub Actions?
    • Check the most frequent culprits first, like incorrect permission levels or misuse of the GitHub API, because error messages are less than ideal
  • Can you talk a little about the CodeQL Analysis action you have? Would you recommend that other projects utilize this action?
    • It analyzes the repository for common security vulnerabilities/other code quality issues
    • It might be worth a try but it hasn't been very helpful for Civic Tech Jobs so far
  • Do you have any other advice for people looking to utilize GitHub Actions in their projects?
    • Have a template or documented examples of GitHub Actions in your project to make creating new ones less confusing
    • Look for existing GitHub Actions online for common use cases to see if the work has been done for you (for example, super-linter

@BeckettOBrien BeckettOBrien removed their assignment Jul 28, 2022
@ExperimentsInHonesty
Copy link
Member

@spiteless
Please provide update

  1. Progress: "What is the current status of your project? What have you completed and what is left to do?"
  2. Blockers: "Difficulties or errors encountered."
  3. Availability: "How much time will you have this week to work on this issue?"
  4. ETA: "When do you expect this issue to be completed?"
  5. Pictures or links* (if necessary): "Add any pictures or links that will help illustrate what you are working on."
  • remember to add links to the top of the issue if they are going to be needed again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Needs to be Triaged
Development

No branches or pull requests

5 participants