/gource-action

🎉 Action to visualize your source code using gource.

Primary LanguageShellMIT LicenseMIT

Gource Action

Action to visualize your source code using gource

Core image is comming from: utensils/Envisaged



Getting Started • Settings • Advanced example • Advanced Settings • Todos • Maintainer


Getting Started

This is a minimal setup example to visualize the local repository.

Place the following in ./.github/workflows/gource.yml

name: Gource Action
on:
  push:
    branches:
      - master

jobs:
  action:
    runs-on: ubuntu-latest

    steps:
      - name: 'Checkout'
        uses: actions/checkout@v2
        with:
          fetch-depth: 0
        
      - name: 'Gource Action'
        uses: nbprojekt/gource-action@v1

      - name: 'Upload gource video'
        uses: actions/upload-artifact@v2
        with:
          name: Gource
          path: ./gource/gource.mp4

After the workflows have successfully completed, you can download the MP4 file of your artifacts.
Or use it in another Job.

Settings

Keys can be added directly to your .yml config file or referenced from your project Secrets storage.

Key Name Required? Default Description
git_url false ./ Location of git repository. Can also be an remote repository e.g.: https://github.com/acaudwell/Gource.git
git_token false If the provided repository is private, the action need an token with read scope.
logo_url false Displayed icon on bottom right corner. Can be local "./logo.png" or Url. For Url it must be png or jgp
avatars_auto_fetch false false Tries to fetch user avatar from all contributors. If this is enable "avatars_url" will be ignored.
avatars_url false Path of local directory containing user avatars.

Advanced Example

Lets use a more advanced setup to visualize the development from the Docker CLI.

name: Gource Action for Docker CLI
on:
  push:
    branches:
      - master

jobs:
  action:
    runs-on: ubuntu-latest

    steps:
      - name: 'Gource Action'
        uses: nbprojekt/gource-action@v1
        with:
          git_url: https://github.com/docker/cli
          gource_title: 'Docker CLI'
          logo_url: 'https://user-images.githubusercontent.com/24683383/92395924-70189f80-f124-11ea-815c-aa4d9f4de29d.png'
          gource_resolution: '1080p'
          gource_fps: 60
          gource_font_size: 40
          gource_start_date: '2016-04-18'
          gource_stop_date: '2019-12-31'

      - uses: actions/upload-artifact@v2
        with:
          name: gource
          path: ./gource/gource.mp4

This action can take up to 17 Minutes

Gource Settings

This settings are all supported setting for gource itself.
A full list of all available options can be found here.

Key Name Required? Default Description
gource_resolution false 1080p Used gource resolution (2160p, 1440p, 1080p, 720p).
gource_title false Title Set a title.
gource_fps false 60 Used gource fps.
gource_auto_skip_seconds false 0.5 Skip to next entry if nothing happens for a number of seconds.
gource_background_color false 0a0a0a Background colour in hex.
gource_overlay_background_color false 202021 Overlay background colour in hex.
gource_font_color false F0F0F0 Font color used by the date and title in hex.
gource_overlay_font_color false F0F0F0 Font color used by the overlay in hex.
gource_font_size false 44 Font size used by the date and title.
gource_camera_mode false overview Camera mode (overview, track).
gource_dir_depth false 3 Draw names of directories down to a specific depth in the tree.
gource_filename_time false 2 Duration to keep filenames on screen (>= 2.0).
gource_hide_items false mouse,date,filenames Hide one or more display elements from the list below.
gource_max_user_speed false 500 Max speed users can travel per second.
gource_seconds_per_day false 0.1 Speed of simulation in seconds per day.
gource_time_scale false 1.5 Change simulation time scale.
gource_user_scale false 1.2 Change scale of user avatars.
gource_start_date false (date of first commit) Start with the first entry after the supplied date and optional time.
gource_stop_date false (data of last commit) Stop after the last entry prior to the supplied date and optional time.
gource_file_filter false Filter out file paths matching the specified regular expression.

More comming soon. If you are missin a parameter that you need just create a new issue with the title Add support for --paramer-name and Feature Request: New Parameterlabel.

Todos

  • #1 Visualizing Multiple Repositories

Maintainer

NbProjekt