These are scripts used to maintain various pieces of CC's open source community infrastructure.
Please see the individual README files in the folder for each script for information about that script.
Directory Name | Script Purpose |
---|---|
normalize_repos |
Ensures that all CC repos have standard labels and branch protections |
push_data_to_ccos |
Generates various pages with dynamic data on CC Open Source |
sync_community_team |
Syncs all Community Team memberships with corresponding memberships in GitHub teams |
Workflow Name/Status | YML File Name | Workflow Purpose |
---|---|---|
add_community_pr.yml |
Runs hourly at 5 minutes past every hour UTC and adds new Vocabulary issues to Vocabulary: In Progress | |
normalize_repos.yml |
Runs daily at 00:00 UTC and whenever someone pushes to the main branch and uses normalize_repos |
|
push_data_to_ccos.yml |
Runs daily at 00:00 UTC and whenever someone pushes to the main branch and uses push_data_to_ccos |
|
sync_community_team.yml |
Runs daily at 00:30 UTC and whenever someone pushes to the main branch and uses sync_community_team |
|
track_backlog.yml |
Runs hourly at 45 minutes past every hour UTC and adds PRs to Active Sprint: Code Review and new issues to Backlog: Pending Review. Uses dhruvkb/issue-projector. |
Scripts that commit code or automatically reply to pull requests and issues need to be associated with a GitHub user account. Creative Commons maintains a cc-open-source-bot user for this purpose. This is useful for a few reasons:
- It's ethically important that our community members know when they are talking to a bot instead of a human.
- It makes it easy to audit our automations in the future, because all commits and messages will be associated with the single @cc-open-source-bot user account via the GitHub search, api, etc.
- We won't need to update automations when there are changes to staff or volunteers.
Using this bot clearly communicates when a commit, comment, or action was performed by an automation. For example, here is some configuration for a workflow using the Add & Commit GitHub Action:
# ...other settings here
- name: Commit changes
uses: EndBug/add-and-commit@v4
with:
author_name: cc-open-source-bot
author_email: opensource@creativecommons.org
message: "Deploy site"
add: "./example-directory"