Project

General

Profile

Actions

Feature #13891

open

Migrate automated linting to GitHub Actions

Added by Boone Gorges over 1 year ago. Updated 12 days ago.

Status:
New
Priority name:
Normal
Assignee:
Category name:
Internal Tools and Workflow
Target version:
Start date:
2021-01-26
Due date:
% Done:

0%

Estimated time:

Description

I'm currently paying monthly for Circle CI runs. It's possible we could do it free, or at least cheaper, on GitHub Actions.

Actions #1

Updated by Boone Gorges 10 months ago

  • Target version changed from 1.19.0 to 2.0.0
Actions #2

Updated by Boone Gorges 6 months ago

  • Assignee changed from Boone Gorges to Jeremy Felt

I'm hopeful that Jeremy knows how to do this :-D There'll be some technical issues (writing the necessary yaml files, setting up the actions on the GitHub side) as well as some bureaucratic ones (connecting a credit card to the GitHub account, etc). Please let me know if the latter issues get in the way of the former.

Actions #3

Updated by Boone Gorges 4 months ago

  • Target version changed from 2.0.0 to 2.1.0
Actions #4

Updated by Jeremy Felt 3 months ago

I've wired up an initial attempt at using GitHub actions for the PHPCS and linting checks and got this message from GitHub:

The job was not started because recent account payments have failed or your spending limit needs to be increased. Please check the 'Billing & plans' section in your settings.

It may be that a credit card needs to be updated/attached for things to start working.

Once that's set, we'll have either 2000 or 3000 free minutes to work with. There is a rate of $0.008 per minute once we go over that. We should be able to calculate pretty closely what to expect once we get a few runs in to see how long the workflow takes.

Actions #5

Updated by Boone Gorges 3 months ago

Matt, it appears that we'll have to migrate off of our "legacy" 300/yr organization account. Instead, we'll need to move to something like the "Team" account https://github.com/pricing. But this will mean a change in the structure of the billing, and I want to check with you first because it appears that a GC credit card is attached to the account. Annual bills are likely to be around $300 (maybe a bit lower) after the change.

Actions #6

Updated by Matt Gold 2 months ago

Hi Boone -- I've just added my personal credit card. How many members do we need on the team?

Actions #7

Updated by Matt Gold 2 months ago

also -- there are currently 24 members on our "team." In order to upgrade to a team plan, I think I need to remove most everyone or have to pay for them. I assume that Boone, Ray, Jeremy, and CAC Release Manager should stay. Anyone else?

Actions #8

Updated by Boone Gorges 2 months ago

Those four seem correct to me, Matt.

Actions #9

Updated by Matt Gold 2 months ago

Hmmm. . .I'm noticing some City tech people on the team, like Jenna, Charlie, and George Mamadashvili -- presumably for the CBOX OpenLab project Do they need access to the repository?

Actions #10

Updated by Boone Gorges about 2 months ago

I'm struggling somewhat to understand what counts as a "user" for billing purposes. Here's GitHub's documentation: https://docs.github.com/en/billing/managing-billing-for-your-github-account/about-per-user-pricing The meaningful distinction seems to be between public and private repos.

- Our private repos are listed here https://github.com/orgs/cuny-academic-commons/repositories?q=&type=private&language=&sort= For these, it would be sufficient for me, Ray, and Jeremy to be users, as we're the only ones contributing code.
- We have many more public repos, including the commons-in-a-box repos. Charlie, Jenna, and Bree need to be able to manage issues and have issues assigned to them. It's unclear to me whether this requires them to be paid users.

Jeremy, Ray, do you have any idea about this?

At worst, I think it would be safe to prune membership (for the purposes of billing) to: me, Ray, Jeremy, CAC Release Manager, Bree, Jenna, Charlie

Actions #11

Updated by Raymond Hoh about 2 months ago

Jeremy, Ray, do you have any idea about this?

Boone, I think you have an accurate interpretation of the per-user billing system.

Was just looking at the different offerings by GitHub, but couldn't we switch our legacy account to a GitHub Free for Organizations account? https://docs.github.com/en/get-started/learning-about-github/githubs-products#github-free-for-organizations

At this tier, we would get up to 2,000 GitHub Actions minutes per month. Whereas the tier we are looking to pay for -- Github Team -- gives you 3,000 minutes.

At the Free Organizations tier, we also lose some additional features for private repos that we currently use. The most pertinent being Wikis and Repository Insights graphs (Pulse, contributors, traffic, commits, code frequency, network, and forks). We currently use the Wiki to document our Git and release workflow, however we could easily create a new repo to house this info as well. Repository Insights are nice for historical purposes, but isn't really imperative.

More info about downgrading our legacy account to the free organizations one can be found here:

I believe we do not lose much from switching to the Free Organizations tier, unless I'm misinterpreting something from the different tiers.

Actions #12

Updated by Boone Gorges about 2 months ago

Thanks for this, Ray. I think it's worth trying the Free level to see if it does what we need it to do. We can always bump it up later if necessary. Matt, does that sound OK to you? We'll probably still need a CC on file in case of Actions overages, but there should be no recurring cost.

As you note, we use the Wiki for very little. I've just taken a local clone of the wiki for historical purposes, and we can set up a new "action required" workflow when/if we decide to make the change.

Actions

Also available in: Atom PDF