Get information about packages with changes and packages included in your release plan.
This action works with the changesets versioning tool to allow you to conditionally run other actions based on whether a package has changed or it's included in a release plan.
name: Run tests if package changed
on: [push, pull_request]
jobs:
get-changed-packages:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Create local copy of main branch
run: git fetch origin main:main
- name: Get changed packages
uses: caffco/changed-packages-github-action@v0.0.7
with:
base_branch: main
repository_path: .
run-tests:
runs-on: ubuntu-latest
steps:
- name: Run package-a tests
needs: get-changed-packages
if: ${{contains(needs.get-changed-packages.outputs.changed_packages, 'package-a')}}
run: yarn test-package-a
- name: Run package-b tests
needs: get-changed-packages
if: ${{contains(needs.get-changed-packages.outputs.changed_packages, 'package-b')}}
run: yarn test-package-b