Skip to content

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

Notifications You must be signed in to change notification settings

fabidick22/detect-changes-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7f335e7 · Sep 13, 2022

History

49 Commits
Jul 7, 2022
Jun 13, 2022
Sep 13, 2022
Jun 14, 2022
Sep 13, 2022
Sep 13, 2022
Sep 13, 2022
Sep 13, 2022
Jun 26, 2022
Jun 26, 2022

Repository files navigation

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.