Skip to content

Scripts used to maintain various pieces of CC's open source presence.

License

Notifications You must be signed in to change notification settings

creativecommons/ccos-scripts

Repository files navigation

Creative Commons (CC) Open Source Scripts

These are scripts used to maintain various pieces of CC's open source community infrastructure.

Scripts

normalize_repos.py

  • Script: normalize_repos.py
  • Workflow
  • Required Environment Variables:
    • ADMIN_GITHUB_TOKEN

This script ensures that all active repositories in the creativecommons GitHub organization are consistent in the following ways:

  • They have all the labels defined in labels.yml present.
  • They have standard branch protections set up (with some exceptions).

This script will only update color and description of existing labels or create new labels. It will never delete labels.

Environment Variables

ADMIN_GITHUB_TOKEN

GitHub token with admin permissions to the creativecommons GitHub organization.

Workflows

Workflow Name/Status YML File Name Workflow Purpose
Add Community PRs to Project add_community_pr.yml Runs hourly at 5 minutes past every hour UTC and adds new Vocabulary issues to Vocabulary: In Progress
Push data to CC Open Source 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][push_to_ccos]
Sync Community Teams with GitHub sync_community_team.yml Runs daily at 00:30 UTC and whenever someone pushes to the main branch and uses [sync_community_team][sync_team]
Track new issues in backlog 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.

🤖 Automation Authorship

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"

License

About

Scripts used to maintain various pieces of CC's open source presence.

Resources

License

Code of conduct

Stars

Watchers

Forks