Skip to content

Latest commit

 

History

History
84 lines (63 loc) · 2.62 KB

File metadata and controls

84 lines (63 loc) · 2.62 KB

Integrations operations

This folder contains useful scripts and commands to update integrations in bulk.

Env vars

  • GITHUB_TOKEN: To query/update GitHub.
  • GITHUB_USER: For commits. Optional, if not present it will use the system configuration.
  • GITHUB_EMAIL: For commits. Optional, if not present it will use the system configuration.

To use SegmentDestinationsBot, get the credentials from:

$ aws-okta exec prod-privileged -- chamber read -q destinations github_bot_(token|user|email)

list-repositories

Lists all the integrations repositories. Options:

  • --verbose
  • --searchMods=<string>: GitHub search mods to query the repositories (is:private, is:public).

list-integrations

Lists all the integrations. Options:

  • --verbose
  • --monorepoPath=<string>: Local path where the monorepo lives. Default to ..

list-updated-integrations

Lists all the updated integrations since the specified commit or refs/heads/master. Options:

  • --verbose
  • --monorepoPath=<string>: Local path where the monorepo lives. Default to ..
  • --commit=<string>: Commit or reference to compare with the current workspace. Default to refs/heads/master.

migrate-integration

Migrates the integration repo into the monorepo:

  1. Copies the integration code in the monorepo.
  2. Updates references in package.json for the integration.
  3. Commits the integration code.
  4. Updates the integration repo with a notice.
  5. Comments in all opened issues and pull requests and copies them to the monorepo as issues.
  6. Marks the repo as migrated.

Options:

  • --verbose
  • --integration=<name>
  • --monorepoPath=<string>: Local path where the monorepo lives. Default to ..
  • --tmpPath=<string>: Temporal folder. Default to /tmp/integrations.

archive-integration-repository

Archives the repository of the integration:

  1. Removes all webhooks.
  2. Archives the repository.

Options:

  • --verbose
  • --integration=<name>
  • --tmpPath=<string>: Temporal folder. Default to /tmp/integrations.

boneyard-integration-repository

Moves the repository to the boneyard organization.

Options:

  • --verbose
  • --integration=<name>
  • --tmpPath=<string>: Temporal folder. Default to /tmp/integrations.

libgit2

Install libgit2 v27 following this script. This is also required for the CI docker image. IMPORTANT: The following extensions need to be present for libgit2:

  • openssl
  • libhttp-parser-dev

SauceConnect

We use SauceConnect to make a tunnel between localhost and SauceLabs infrastructure. To install it, check this script. This is also required for the CI docker image.