Skip to content

Latest commit

 

History

History
221 lines (139 loc) · 8.95 KB

README.md

File metadata and controls

221 lines (139 loc) · 8.95 KB

a-hero

Website Docs


Next time when you update a dependency, forget about manually checking if changelogs contain breaking changes.

Adaptly will do that for you.

b-benefits


Try Adaptly

  1. Add Adaptly to your repository by installing Adaptly github app.
  2. Once installed, Adaptly will analyse all open Dependabot and Renovate PRs and leave PR comments to inform about breaking changes found or PRs being good to merge.
  3. When a new Dependabot or Renovate PRs are open, it will analyse them automatically.

Languages supported


Privacy Policy

Last Updated: 24 Aug 2023

Introduction

Welcome to Adaptly! At Adaptly, we prioritize your privacy. This Privacy Policy outlines the types of information we collect, how we use it, and the steps we take to safeguard your information while you interact with our GitHub App.

By using Adaptly, you consent to the practices described in this Privacy Policy. If you do not agree with the terms of this Privacy Policy, please do not access or use our services.

What Information We Collect

Given that our GitHub App is designed to be stateless and non-persistent, we do not collect or store any personal information from your GitHub repositories. Our services come into action only when a new Pull Request (PR) is generated by Dependabot or Renovate in your repository.

Information Automatically Collected

Our GitHub App may automatically collect the following technical data:

  • GitHub repository ID
  • GitHub Pull Request ID
  • GitHub User ID of the PR creator
  • Timestamp of the PR

How We Use Your Information

We use the automatically collected data solely to:

  • Post comments on Pull Requests generated by Dependabot or Renovate
  • Provide real-time updates and checks on such Pull Requests
  • Improve the functionality and performance of our GitHub App

Data Storage and Security

We do not store any personal information or code from your repositories on our servers. Our services are stateless and designed to forget this information after a comment is posted on the respective PR.

We take reasonable measures to protect your information from unauthorized access or against loss, misuse, or alteration by third parties.

Third-Party Links and Services

Our GitHub App may contain links to third-party websites or services such as GitHub. We are not responsible for the privacy practices or the content of these third-party services. We encourage you to read the Privacy Policies of these third-party services.

Changes to Our Privacy Policy

We reserve the right to update this Privacy Policy at any time. Any changes will be posted on this page with an updated revision date. Contact Information

If you have any questions about this Privacy Policy, you can contact us at:

Email: support@adaptly.dev

Local development

Table of contents:

  1. Local development setup
  2. Running Adaptly locally
  3. Local development database
  4. Self-hosting

Local development setup

  1. Use Node.js at the version Adaptly requires:
    1. Install nvm (Node Version Manager) from here.
    2. Run “nvm install && nvm use” in the project root.
  2. Install dependencies using “pnpm”:
    1. Adaptly uses “pnpm” as the package manager and you can install “pnpm” from here.
    2. Run “pnpm install” at the project root.
      1. If it fails, uninstall pnpm and install it again.
  3. Setup Docker containers:
    1. Install Docker desktop from here and then start Docker.
    2. Run “docker-compose up -d” to start Docker containers.
  4. Setup Doppler for environment variables:
    1. Sign up for Doppler here.
    2. Create Doppler project and config with the same names as in “doppler.yaml” in the project root.
    3. Within the Doppler config setup environment variables required by “source/env.ts”
    4. Install Doppler CLI from here.
    5. Authenticate Doppler CLI using “doppler login”
    6. Run “doppler setup” in project root.
  5. Setup Local database and Prisma:
    1. Instantiate tables and run migrations using “pnpm migrate:dev”
    2. Seed database using “prisma/seed.ts” file
      1. In production Adaptly is connected to a specific repository. In development we need to simulate it, so replace “owner” and “name” in “prisma/seed.ts” by repository
      2. Run “npx prisma db seed” to seed database with data
    3. Build prisma client “pnpm build:prisma”
    4. To learn how to view database data and apply migrations check “Local development database” section.

Running Adaptly locally

  1. Expose local port 3001 to the internet using ngrok by running “ngrok http 3001”
  2. In GitHub app settings set “Callback URL” and “Webhook URL” to the one provided by ngrok, but for “Webhook URL” append “/webhook” at the end of it. For example “https://78xx-82-132-200-100.ngrok-free.app/webhook
  3. Run “pnpm dev” to start Adaptly on port 3001. It’s now ready to process GitHub app requests.

Local development database

This document provides step-by-step instructions to set up and manage your local development database using Prisma and Postgres.

  1. Start the Postgres Container

    docker-compose up -d
    
  2. Instantiate Tables

    Apply all pending migrations to instantiate your tables with:

    pnpm migrate:dev
    
  3. Seed database using prisma/seed.ts file

    npx prisma db seed
    
  4. Build Prisma Client

    Sync the Prisma client with your database using the command:

    pnpm build:prisma
    
  5. View Database

    Open TablePlus and connect to your local Postgres database. The default user and password should be 'postgres' and connect to local host. Alternatively, you can view your local development database in your web browser by running Prisma Studio:

    pnpm prisma-studio
    
  6. Modify and Migrate Schema

    If you make changes to your Prisma schema, create a new migration and apply it with:

    pnpm migrate:dev
    

    Remember to commit and push the migration files to your version control system.

  7. Rebuild Prisma Client

    Sync the Prisma client with your updated database using the command:

    pnpm build:prisma
    

Self-hosting

Adaptly uses Doppler to manage secrets. Follow steps below to setup Doppler:

  1. Sign up for Doppler here.
  2. Create Doppler project and config with the same names as in “doppler.yaml” in the project root.
  3. Within the Doppler config setup environment variables required by “source/env.ts”
    1. The GitHub secrets (GITHUB_ACCESS_TOKEN, GITHUB_APP_ID and GITHUB_APP_PRIVATE_KEY) are from creating a GitHub app.

Make sure you have Docker installed before running the following commands.

You are going to need a DOPPLER_TOKEN that you can get by following these steps.

  1. Build the image: docker build -t adaptly-app .
  2. Run it: docker run -p 3001:3001 -d -e DOPPLER_TOKEN="$DOPPLER_TOKEN" --name adaptly-container adaptly-app

You should be able to navigate to your browser and check localhost:3001/ping is alive.

Once the server is running locally, you can expose it as you want, with ngrok or running it on any cloud providers and you can then update your GitHub app settings to point to it.

The entry webhook for the app is located at: <YOUR_APP_URL>/webhook.