A GitHub Action to make various attributes of a repository available as output variables. It is intended to be used with other actions such as Create a Release to suppliment them with information like contributors, files changed, pull requests, and commits.
Many attributes are extracted from the range of Git history $tail..$head
.
Most recent repo reference (empty default infers HEAD
or a tag pointing to the head).
A prior repo reference to check for changes from (empty default infers the previous tag or the initial commit).
The action sets up various output variables to be utilized in any succeeding steps.
Evaluated most recent repo reference.
Evaluated previous reference.
List of commits (hash and message).
List of pull requests (number and title).
Summary of changed files.
List of contributors (name and number of commits).
on:
push:
tags:
- '*'
name: Create Release
jobs:
build:
name: Create Release
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v2
with:
fetch-depth: 0 # This is important for the Git history
- name: Extract Repo Attributes
id: attrs # This is important for future referencing
uses: ibnesayeed/repo-attrs@master
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
# Utilize extracted attributes from the previous step
body: |
## Changes in this Release
History from `${{ steps.attrs.outputs.tail }}` to `${{ steps.attrs.outputs.head }}`
### Commits
${{ steps.attrs.outputs.commits }}
### Pull Requests
${{ steps.attrs.outputs.prs }}
### Contributors
${{ steps.attrs.outputs.contributors }}
### Files
```
${{ steps.attrs.outputs.files }}
```