Skip to content

Commit

Permalink
Merge 9742423 into 5b6b4e6
Browse files Browse the repository at this point in the history
  • Loading branch information
nakamasato authored Jan 5, 2024
2 parents 5b6b4e6 + 9742423 commit af49588
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 1 deletion.
47 changes: 46 additions & 1 deletion .github/workflows/changed-files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,17 @@ name: changed-files
on:
pull_request:

env:
LOCAL_DIR_FOR_SYNC: check-change

jobs:
change-on-branch:
changes-in-ga-steps:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
with:
fetch-depth: 0 # OR "2" -> To retrieve the preceding commit.

- name: add test.txt file
id: add-file
run: |
Expand All @@ -28,10 +32,51 @@ jobs:
files_yaml: |
test:
- 'test-*'
- name: output change
run: |
{
echo "any_changed: ${{ steps.changed-files-yaml.outputs.test_any_changed }}";
echo "all_changed_files: ${{ steps.changed-files-yaml.outputs.test_all_changed_files }}";
echo "add-file: ${{ steps.add-file.outputs.changed }}";
} >> "$GITHUB_STEP_SUMMARY"
get-changed-dirs:
runs-on: [ubuntu-latest]
outputs:
changed_dirs: ${{ steps.changed-files.outputs.all_changed_files }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # OR "2" -> To retrieve the preceding commit.

- name: get all changes
id: changed-files
uses: tj-actions/changed-files@v41
with:
dir_names: true
dir_names_max_depth: 2 # e.g. check-change/test-2
json: true
escape_json: false
files: "${{ env.LOCAL_DIR_FOR_SYNC }}/**"
files_ignore: '**/README.md'
# Reference: https://github.com/tj-actions/changed-files/blob/main/.github/workflows/matrix-test.yml

- name: check output
run: |
echo "changed_dirs: ${{ steps.changed-files.outputs.all_changed_files }}" >> "$GITHUB_STEP_SUMMARY"
do-sth-on-changed-dirs:
runs-on: ubuntu-latest
if: ${{ needs.get-changed-dirs.outputs.changed_dirs != '[]' }} # Without it, the strategy parser will fail if the changed_directories is empty.
strategy:
matrix:
dir: ${{ fromJson(needs.get-changed-dirs.outputs.changed_dirs) }}
exclude: # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstrategymatrixexclude
- dir: check-change # exclude the parent dir (you can't use ${{ env.LOCAL_DIR_FOR_SYNC }} in matrix)
needs:
- get-changed-dirs
steps:
- uses: actions/checkout@v3
- run: |
echo "do sth on changed dir ${{ matrix.dir }}" >> "$GITHUB_STEP_SUMMARY"
1 change: 1 addition & 0 deletions check-change/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# check-change
1 change: 1 addition & 0 deletions check-change/test-2/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# test-2
1 change: 1 addition & 0 deletions check-change/test-2/test.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
test

0 comments on commit af49588

Please sign in to comment.