You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ma...@apache.org on 2025/07/18 23:27:22 UTC

(superset) branch claude_ghas updated (602a5390b6 -> 1a3ddfd368)

This is an automated email from the ASF dual-hosted git repository.

maximebeauchemin pushed a change to branch claude_ghas
in repository https://gitbox.apache.org/repos/asf/superset.git


 discard 602a5390b6 feat: Add Claude Code GitHub Actions integration
     new cb325b7c6c feat: Add Claude Code GitHub Action integration
     new 1a3ddfd368 progress

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (602a5390b6)
            \
             N -- N -- N   refs/heads/claude_ghas (1a3ddfd368)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/actions/change-detector/action.yml         |  31 ---
 .github/actions/change-detector/label-draft-pr.yml |  23 --
 .github/actions/check-claude-permission/action.yml |  69 -----
 .github/actions/execute-claude-code/action.yml     | 146 ----------
 .github/actions/log-claude-usage/action.yml        | 111 --------
 .github/actions/setup-backend/action.yml           |  58 ----
 .github/actions/setup-docker/action.yml            |  69 -----
 .github/actions/setup-supersetbot/action.yml       |  40 ---
 .github/workflows/README-claude-integration.md     | 186 -------------
 .github/workflows/claude-fork-handler.yml          | 217 ---------------
 .github/workflows/claude-issue-comment.yml         | 296 ---------------------
 .github/workflows/claude-maintainer-approval.yml   | 214 ---------------
 .github/workflows/claude-pr-comment.yml            | 253 ------------------
 .github/workflows/claude.yml                       |  45 ++++
 .gitignore                                         |   1 -
 15 files changed, 45 insertions(+), 1714 deletions(-)
 delete mode 100644 .github/actions/change-detector/action.yml
 delete mode 100644 .github/actions/change-detector/label-draft-pr.yml
 delete mode 100644 .github/actions/check-claude-permission/action.yml
 delete mode 100644 .github/actions/execute-claude-code/action.yml
 delete mode 100644 .github/actions/log-claude-usage/action.yml
 delete mode 100644 .github/actions/setup-backend/action.yml
 delete mode 100644 .github/actions/setup-docker/action.yml
 delete mode 100644 .github/actions/setup-supersetbot/action.yml
 delete mode 100644 .github/workflows/README-claude-integration.md
 delete mode 100644 .github/workflows/claude-fork-handler.yml
 delete mode 100644 .github/workflows/claude-issue-comment.yml
 delete mode 100644 .github/workflows/claude-maintainer-approval.yml
 delete mode 100644 .github/workflows/claude-pr-comment.yml
 create mode 100644 .github/workflows/claude.yml


(superset) 01/02: feat: Add Claude Code GitHub Action integration

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

maximebeauchemin pushed a commit to branch claude_ghas
in repository https://gitbox.apache.org/repos/asf/superset.git

commit cb325b7c6c977bce5152110d1dbc9f547c7763b7
Author: Maxime Beauchemin <ma...@gmail.com>
AuthorDate: Fri Jul 18 15:56:35 2025 -0700

    feat: Add Claude Code GitHub Action integration
    
    Use Anthropic's official claude-code-action@beta for AI-assisted development.
    Simply mention @claude in PRs or issues to get automated code assistance.
    
    Requires PRESET_SPONSORED_ANTHROPIC_API_KEY secret to be configured.
---
 .github/workflows/claude.yml | 45 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml
new file mode 100644
index 0000000000..179f1ac22f
--- /dev/null
+++ b/.github/workflows/claude.yml
@@ -0,0 +1,45 @@
+name: Claude PR Assistant
+
+on:
+  issue_comment:
+    types: [created]
+  pull_request_review_comment:
+    types: [created]
+  issues:
+    types: [opened, assigned]
+  pull_request_review:
+    types: [submitted]
+
+jobs:
+  claude-code-action:
+    if: |
+      (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
+      (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
+      (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
+      (github.event_name == 'issues' && contains(github.event.issue.body, '@claude'))
+    runs-on: ubuntu-latest
+    permissions:
+      contents: write
+      pull-requests: write
+      issues: write
+      id-token: write
+    steps:
+    - name: Checkout repository
+      uses: actions/checkout@v4
+      with:
+        fetch-depth: 1
+
+    - name: Run Claude PR Action
+      uses: anthropics/claude-code-action@beta
+      with:
+        anthropic_api_key: ${{ secrets.PRESET_SPONSORED_ANTHROPIC_API_KEY }}
+        timeout_minutes: "60"
+        # Optional: Restrict network access to specific domains only
+        # experimental_allowed_domains: |
+        #   .anthropic.com
+        #   .github.com
+        #   api.github.com
+        #   .githubusercontent.com
+        #   bun.sh
+        #   registry.npmjs.org
+        #   .blob.core.windows.net


(superset) 02/02: progress

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

maximebeauchemin pushed a commit to branch claude_ghas
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 1a3ddfd36853283e2a3f8338018e53ce8c1343b4
Author: Maxime Beauchemin <ma...@gmail.com>
AuthorDate: Fri Jul 18 16:26:28 2025 -0700

    progress
---
 .github/actions/change-detector/action.yml         | 31 ----------
 .github/actions/change-detector/label-draft-pr.yml | 23 --------
 .github/actions/setup-backend/action.yml           | 58 ------------------
 .github/actions/setup-docker/action.yml            | 69 ----------------------
 .github/actions/setup-supersetbot/action.yml       | 40 -------------
 .gitignore                                         |  1 +
 6 files changed, 1 insertion(+), 221 deletions(-)

diff --git a/.github/actions/change-detector/action.yml b/.github/actions/change-detector/action.yml
deleted file mode 100644
index d0f356e771..0000000000
--- a/.github/actions/change-detector/action.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-name: 'Change Detector'
-description: 'Detects file changes for pull request and push events'
-inputs:
-  token:
-    description: 'GitHub token for authentication'
-    required: true
-outputs:
-  python:
-    description: 'Whether Python-related files were changed'
-    value: ${{ steps.change-detector.outputs.python }}
-  frontend:
-    description: 'Whether frontend-related files were changed'
-    value: ${{ steps.change-detector.outputs.frontend }}
-  docker:
-    description: 'Whether docker-related files were changed'
-    value: ${{ steps.change-detector.outputs.docker }}
-  docs:
-    description: 'Whether docs-related files were changed'
-    value: ${{ steps.change-detector.outputs.docs }}
-runs:
-  using: 'composite'
-  steps:
-    - name: Detect file changes
-      id: change-detector
-      run: |
-        python --version
-        python scripts/change_detector.py
-      shell: bash
-      env:
-        GITHUB_TOKEN: ${{ inputs.token }}
-        GITHUB_OUTPUT: ${{ github.output }}
diff --git a/.github/actions/change-detector/label-draft-pr.yml b/.github/actions/change-detector/label-draft-pr.yml
deleted file mode 100644
index 01d09225b6..0000000000
--- a/.github/actions/change-detector/label-draft-pr.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-name: Label Draft PRs
-on:
-  pull_request:
-    types:
-      - opened
-      - converted_to_draft
-jobs:
-  label-draft:
-    runs-on: ubuntu-latest
-    steps:
-      - name: Check if the PR is a draft
-        id: check-draft
-        uses: actions/github-script@v6
-        with:
-          script: |
-            const isDraft = context.payload.pull_request.draft;
-            core.setOutput('isDraft', isDraft);
-      - name: Add `review:draft` Label
-        if: steps.check-draft.outputs.isDraft == 'true'
-        uses: actions-ecosystem/action-add-labels@v1
-        with:
-          github_token: ${{ secrets.GITHUB_TOKEN }}
-          labels: "review:draft"
diff --git a/.github/actions/setup-backend/action.yml b/.github/actions/setup-backend/action.yml
deleted file mode 100644
index 73345481d9..0000000000
--- a/.github/actions/setup-backend/action.yml
+++ /dev/null
@@ -1,58 +0,0 @@
-name: 'Setup Python Environment'
-description: 'Set up Python and install dependencies with optional configurations.'
-inputs:
-  python-version:
-    description: 'Python version to set up. Accepts a version number, "current", or "next".'
-    required: true
-    default: 'current'
-  cache:
-    description: 'Cache dependencies. Options: pip'
-    required: false
-    default: 'pip'
-  requirements-type:
-    description: 'Type of requirements to install. Options: base, development, default'
-    required: false
-    default: 'dev'
-  install-superset:
-    description: 'Whether to install Superset itself. If false, only python is installed'
-    required: false
-    default: 'true'
-
-runs:
-  using: 'composite'
-  steps:
-    - name: Interpret Python Version
-      id: set-python-version
-      shell: bash
-      run: |
-        if [ "${{ inputs.python-version }}" = "current" ]; then
-          echo "PYTHON_VERSION=3.11" >> $GITHUB_ENV
-        elif [ "${{ inputs.python-version }}" = "next" ]; then
-          # currently disabled in GHA matrixes because of library compatibility issues
-          echo "PYTHON_VERSION=3.12" >> $GITHUB_ENV
-        elif [ "${{ inputs.python-version }}" = "previous" ]; then
-          echo "PYTHON_VERSION=3.10" >> $GITHUB_ENV
-        else
-          echo "PYTHON_VERSION=${{ inputs.python-version }}" >> $GITHUB_ENV
-        fi
-    - name: Set up Python ${{ env.PYTHON_VERSION }}
-      uses: actions/setup-python@v5
-      with:
-        python-version: ${{ env.PYTHON_VERSION }}
-        cache: ${{ inputs.cache }}
-    - name: Install dependencies
-      run: |
-        if [ "${{ inputs.install-superset }}" = "true" ]; then
-          sudo apt-get update && sudo apt-get -y install libldap2-dev libsasl2-dev
-
-          pip install --upgrade pip setuptools wheel uv
-
-          if [ "${{ inputs.requirements-type }}" = "dev" ]; then
-            uv pip install --system -r requirements/development.txt
-          elif [ "${{ inputs.requirements-type }}" = "base" ]; then
-            uv pip install --system -r requirements/base.txt
-          fi
-
-          uv pip install --system -e .
-        fi
-      shell: bash
diff --git a/.github/actions/setup-docker/action.yml b/.github/actions/setup-docker/action.yml
deleted file mode 100644
index 71a559829f..0000000000
--- a/.github/actions/setup-docker/action.yml
+++ /dev/null
@@ -1,69 +0,0 @@
-name: "Setup Docker Environment"
-description: "Reusable steps for setting up QEMU, Docker Buildx, DockerHub login, Supersetbot, and optionally Docker Compose"
-inputs:
-  build:
-    description: "Used for building?"
-    required: false
-    default: "false"
-  dockerhub-user:
-    description: "DockerHub username"
-    required: false
-  dockerhub-token:
-    description: "DockerHub token"
-    required: false
-  install-docker-compose:
-    description: "Flag to install Docker Compose"
-    required: false
-    default: "true"
-  login-to-dockerhub:
-    description: "Whether you want to log into dockerhub"
-    required: false
-    default: "true"
-outputs: {}
-runs:
-  using: "composite"
-  steps:
-
-    - name: Set up QEMU
-      if: ${{ inputs.build == 'true' }}
-      uses: docker/setup-qemu-action@v3
-
-    - name: Set up Docker Buildx
-      if: ${{ inputs.build == 'true' }}
-      uses: docker/setup-buildx-action@v3
-
-    - name: Try to login to DockerHub
-      if: ${{ inputs.login-to-dockerhub == 'true' }}
-      continue-on-error: true
-      uses: docker/login-action@v3
-      with:
-        username: ${{ inputs.dockerhub-user }}
-        password: ${{ inputs.dockerhub-token }}
-
-    - name: Install Docker Compose
-      if: ${{ inputs.install-docker-compose == 'true' }}
-      shell: bash
-      run: |
-        sudo apt-get update
-        sudo apt-get install -y ca-certificates curl
-        sudo install -m 0755 -d /etc/apt/keyrings
-
-        # Download and save the Docker GPG key in the correct format
-        curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
-
-        # Ensure the key file is readable
-        sudo chmod a+r /etc/apt/keyrings/docker.gpg
-
-        # Add the Docker repository using the correct key
-        echo \
-          "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
-          $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
-          sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
-
-        # Update package lists and install Docker Compose plugin
-        sudo apt update
-        sudo apt install -y docker-compose-plugin
-
-    - name: Docker Version Info
-      shell: bash
-      run: docker info
diff --git a/.github/actions/setup-supersetbot/action.yml b/.github/actions/setup-supersetbot/action.yml
deleted file mode 100644
index c557b9b7e8..0000000000
--- a/.github/actions/setup-supersetbot/action.yml
+++ /dev/null
@@ -1,40 +0,0 @@
-name: 'Setup supersetbot'
-description: 'Sets up supersetbot npm lib from the repo or npm'
-inputs:
-  from-npm:
-    description: 'Install from npm instead of local setup'
-    required: false
-    default: 'true' # Defaults to using the local setup
-runs:
-  using: 'composite'
-  steps:
-
-    - name: Setup Node Env
-      uses: actions/setup-node@v4
-      with:
-        node-version: '20'
-
-    - name: Install supersetbot from npm
-      if: ${{ inputs.from-npm == 'true' }}
-      shell: bash
-      run: npm install -g supersetbot
-
-    - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
-      if: ${{ inputs.from-npm == 'false' }}
-      uses: actions/checkout@v4
-      with:
-        repository: apache-superset/supersetbot
-        path: supersetbot
-
-    - name: Setup supersetbot from repo
-      if: ${{ inputs.from-npm == 'false' }}
-      shell: bash
-      working-directory: supersetbot
-      run: |
-        # simple trick to install globally with dependencies
-        npm pack
-        npm install -g ./supersetbot*.tgz
-
-    - name: echo supersetbot version
-      shell: bash
-      run: supersetbot version
diff --git a/.gitignore b/.gitignore
index 2f649d941f..45d3905b66 100644
--- a/.gitignore
+++ b/.gitignore
@@ -127,3 +127,4 @@ docker/*local*
 test-report.html
 superset/static/stats/statistics.html
 .aider*
+CLAUDE.local.md