Skip to content
This repository was archived by the owner on Mar 15, 2026. It is now read-only.
This repository was archived by the owner on Mar 15, 2026. It is now read-only.

Add IPR agreement workflow using centralized AdCP signatures #23

@bokelley

Description

@bokelley

Summary

Add the IPR Policy agreement workflow to enforce contributor agreement before PRs can be merged. This uses the contributor-assistant/github-action to check/store signatures in the central adcontextprotocol/adcp repository.

Why centralized?

Contributors only need to sign the IPR Policy once. The signature is stored in adcontextprotocol/adcp and recognized across all AdCP repositories.

Implementation

Create .github/workflows/ipr-agreement.yml:

name: IPR Agreement

on:
  issue_comment:
    types: [created]
  pull_request_target:
    types: [opened, closed, synchronize]

permissions:
  actions: write
  contents: read
  pull-requests: write
  statuses: write

jobs:
  ipr-check:
    runs-on: ubuntu-latest
    steps:
      - name: CLA Assistant
        if: (github.event.comment.body == 'I have read the IPR Policy' || github.event_name == 'pull_request_target')
        uses: contributor-assistant/github-action@v2.6.1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          PERSONAL_ACCESS_TOKEN: ${{ secrets.IPR_PAT }}
        with:
          path-to-signatures: 'signatures/ipr-signatures.json'
          path-to-document: 'https://github.com/adcontextprotocol/adcp/blob/main/IPR_POLICY.md'
          branch: 'main'
          remote-organization-name: 'adcontextprotocol'
          remote-repository-name: 'adcp'
          allowlist: 'bot*,dependabot*,renovate*,github-actions*'

          custom-notsigned-prcomment: |
            ## IPR Policy Agreement Required

            Thank you for your contribution! Before we can accept your pull request, you must agree to our [Intellectual Property Rights Policy](https://github.com/adcontextprotocol/adcp/blob/main/IPR_POLICY.md).

            By making a Contribution, you agree that:
            - You grant the Foundation a perpetual, irrevocable, worldwide, non-exclusive, royalty-free copyright license to your Contribution
            - You grant a patent license under any Necessary Claims
            - You represent that you own or have sufficient rights to grant these licenses

            **To agree, please comment below with the exact phrase:**

            ```
            I have read the IPR Policy
            ```

            You can read the full [IPR Policy here](https://github.com/adcontextprotocol/adcp/blob/main/IPR_POLICY.md).

          custom-pr-sign-comment: 'I have read the IPR Policy'

          custom-allsigned-prcomment: |
            All contributors have agreed to the [IPR Policy](https://github.com/adcontextprotocol/adcp/blob/main/IPR_POLICY.md). Thank you!

          lock-pullrequest-aftermerge: false
          use-dco-flag: false

Prerequisites

  • IPR_PAT secret must be configured (already done)

Reference

See salesagent PR for working implementation: prebid/salesagent#848

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions