Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
search

GitHub Action

Analytics Treemap Embedding Action

v0.7.0

Analytics Treemap Embedding Action

search

Analytics Treemap Embedding Action

A Github Action that provides code metrics and treemap visualisations for your typescript repository

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Analytics Treemap Embedding Action

uses: hpicgs/github-software-analytics-embedding@v0.7.0

Learn more about this action in hpicgs/github-software-analytics-embedding

Choose a version

github-software-analytics-embedding

Seminar Project of the Seminar "Advanced Techniques for Analysis and Visualization of Software Data" of CGS, HPI and DEF in the Summer Term 2022

image This project contains:

  • a dockerized github action to calculate typescript software metrics per commit and store them as a .csv file directly to the git repository under the custom ref refs/metrics.
  • a React frontend to visualize the calculated metrics in a treemap.
  • an embedding script to integrate the viewer into an existing webpage.

⚠️ Please note that this is a research prototype and not meant for use in production as of now.

Integration into your Github project

Create a new GitHub Actions workflow in your project, e.g. at .github/workflows/analytics-embedding.yml. The content of the file should be in the following format:

name: Analytics Treemap Embedding

on:
  # Trigger the workflow on push or pull request,
  # but only for the main branch
  push:
    branches:
      - main
      
  pull_request:
    branches:
      - main

jobs:
  analytics-embedding:
    name: Run Analytics Treemap Embedding 🔎
    runs-on: ubuntu-latest

    steps:
      - name: Check out Git repository
        uses: actions/checkout@v3

      - name: Run Analytics Treemap Embedding Action 🚀
        uses: hpicgs/github-software-analytics-embedding@v0
        with:
          # Optional, use if you want to analyse a specific folder
          repository_path: ./
          # Optional to enable benchmarking
          benchmark: true

Development

Install pnpm:

npm i pnpm -g

Setup Frontend Development

To setup the Frontend for development run:

cd frontend
pnpm i
pnpm run dev

Navigate to localhost:3000 in the browser of your choice.

Setup Code Anayltics Development locally

Create an .env file

cd analytics
cp .env.example .env

Make shure you fill in the GITHUB_TOKEN variable in the .env file

To setup the node application for code analysis for development run:

cd analytics
pnpm i
pnpm start

Git blobs gh api

This repo uses the github git database API to store commit based software analytics data on a custom ref directly in the repository. This means the meta data will not be cloned if you run git pull normally.

Building and running the docker container locally

docker build -t analytics . && docker run -it analytics