{"id":47175,"date":"2024-10-04T05:45:12","date_gmt":"2024-10-04T05:45:12","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=47175"},"modified":"2024-10-04T06:00:16","modified_gmt":"2024-10-04T06:00:16","slug":"github-actions-paths-filter-complete-guide","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/github-actions-paths-filter-complete-guide\/","title":{"rendered":"GitHub Actions: paths-filter complete Guide"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Example 1 &#8211; Using paths-filter in Seprate file<\/h2>\n\n\n\n<script src=\"https:\/\/gist.github.com\/devops-school\/c57883862ca2f9b6a8c6e43be6db311b.js\"><\/script>\n\n\n\n<h2 class=\"wp-block-heading\">Example 2<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">  setup-env:\n    runs-on: ${{ github.event.pull_request.user.login == <span class=\"hljs-string\">'dependabot&#91;bot]'<\/span> &amp;&amp; <span class=\"hljs-string\">'arc-runners-dependabot'<\/span> || <span class=\"hljs-string\">'arc-runners-platform'<\/span> }}\n    <span class=\"hljs-attr\">if<\/span>: ${{ !contains(github.event.pull_request.labels.*.name, <span class=\"hljs-string\">'gha-skip-preclean'<\/span>) }}\n    timeout-minutes: <span class=\"hljs-number\">20<\/span>\n    <span class=\"hljs-attr\">steps<\/span>:\n      - name: Clean environment\n        <span class=\"hljs-attr\">run<\/span>: |\n          kubectl <span class=\"hljs-keyword\">delete<\/span> ns ${{ env.NAMESPACE }} || <span class=\"hljs-literal\">true<\/span>\n\n      - name: Checkout Platform\n        <span class=\"hljs-attr\">uses<\/span>: actions\/checkout@v4\n        <span class=\"hljs-attr\">with<\/span>:\n          ref: ${{ github.event.pull_request.head.sha }}\n\t\n\t  - name: Enable build based on the changes\n\t    <span class=\"hljs-attr\">uses<\/span>: dorny\/paths-filter@v3\n        <span class=\"hljs-attr\">id<\/span>: filter\n        <span class=\"hljs-attr\">with<\/span>:\n          filters: |\n            build:\n              - <span class=\"hljs-string\">'cpp\/**'<\/span>\n\t\t\t  - <span class=\"hljs-string\">'docker\/**'<\/span>\n\t\t\t  - <span class=\"hljs-string\">'golang\/**'<\/span>\n\t\t\t  - <span class=\"hljs-string\">'jenkins\/**'<\/span>\n\t\t\t  - <span class=\"hljs-string\">'portal\/**'<\/span>\n\t\t\t  - <span class=\"hljs-string\">'supd2\/**'<\/span>\n\t\t\t  - <span class=\"hljs-string\">'tools\/**'<\/span>\n\t\t\t  - <span class=\"hljs-string\">'!tools\/dir1\/**'<\/span>\n\t\t\t  - <span class=\"hljs-string\">'!tools\/dir2\/**'<\/span>\n\t\t\t  - <span class=\"hljs-string\">'!**\/*.jpeg'<\/span>\n              - <span class=\"hljs-string\">'!**\/*.md'<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Example 3<\/h2>\n\n\n\n<script src=\"https:\/\/gist.github.com\/devops-school\/7822a208fce23e3cb9a3c7a6e3d9af96.js\"><\/script>\n\n\n\n<h2 class=\"wp-block-heading\">Example 4<\/h2>\n\n\n\n<script src=\"https:\/\/gist.github.com\/devops-school\/8effeb82e138f6d4f643ce4d5f1de43b.js\"><\/script>\n\n\n\n<h2 class=\"wp-block-heading\">Example 5<\/h2>\n\n\n\nhttps:\/\/gist.github.com\/devops-school\/9f911252a34f632ad96f10a8454b557d\n\n\n\n<h2 class=\"wp-block-heading\">Reference<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/dorny\/paths-filter\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/dorny\/paths-filter<\/a><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Example 1 &#8211; Using paths-filter in Seprate file Example 2 Example 3 Example 4 Example 5 https:\/\/gist.github.com\/devops-school\/9f911252a34f632ad96f10a8454b557d Reference<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-47175","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/47175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=47175"}],"version-history":[{"count":6,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/47175\/revisions"}],"predecessor-version":[{"id":47181,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/47175\/revisions\/47181"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=47175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=47175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=47175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}