Skip to content
bar-chart

GitHub Action

Detect PR changes

v2.0.0 Latest version

Detect PR changes

bar-chart

Detect PR changes

Action to get paths and files changed in a Pull Request event and use these for GitHub Actions matrix

Installation

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

              

- name: Detect PR changes

uses: fabidick22/[email protected]

Learn more about this action in fabidick22/detect-changes-action

Choose a version

detect-changes-action

Action to get paths and files changed in a Pull Request event and use these for GitHub Actions matrix

Available Features

  • Get list of directories changed in a PR
  • Get list of files changed in a PR

Usage

Get a list of paths to use in a matrix of jobs (v1)
name: 'PR Detect changes'
on:
  pull_request:
    types: [synchronize, opened, reopened, labeled]
    branches:
      - main
jobs:
  changes:
    runs-on: ubuntu-latest
    outputs:
      packages: ${{ steps.filter.outputs.paths_changed }}
    steps:
      - uses: actions/checkout@v3
      - name: Annotate PR
        id: filter
        uses: fabidick22/detect-changes-action@v1
        with:
          path: "modules/"

  build:
    needs: changes
    strategy:
      matrix:
        package: ${{ fromJSON(needs.changes.outputs.packages) }}
    runs-on: ubuntu-latest
    steps:
      - run: echo '${{ matrix.package }}'

Inputs

parameter description required default
path Path false ./
token The token to use to access the GitHub API false ${{ github.token }}

Outputs

parameter description
paths_list List of changed paths, example: ["dist", "dist/data"]
file_list List of changed files, example: ["dist/main.tf", "dist/index.js"]
paths_str List of changed paths separated by , example: "dist,dist/data"
file_str List of changed files separated by , example: "dist/main.tf,dist/index.js"

Runs

This action is a node16 action.