]> git.ipfire.org Git - thirdparty/Chart.js.git/commitdiff
CI: Conditionally run steps based on changes (#8132)
authorJukka Kurkela <jukka.kurkela@gmail.com>
Sat, 5 Dec 2020 15:57:19 +0000 (17:57 +0200)
committerGitHub <noreply@github.com>
Sat, 5 Dec 2020 15:57:19 +0000 (17:57 +0200)
* CI: Run the `Package` step only when docs change

* Advanced conditionals

* Conditional coveralls

* Fix bunch of typos

* remove coveralls finished condition

* Revert "remove coveralls finished condition"

* Add curlys

.github/workflows/ci.yml

index 27b4ad0223eed146d7bae04dc2b8fbb8952cfe56..b8c9c88a32778c39cb6d7a6ee9e18b561c8a23e7 100644 (file)
@@ -14,6 +14,9 @@ jobs:
   build:
     runs-on: ${{ matrix.os }}
 
+    outputs:
+      coveralls: ${{ steps.changes.outputs.src }}
+
     strategy:
       matrix:
         os: [ubuntu-latest, windows-latest]
@@ -23,9 +26,19 @@ jobs:
     - uses: actions/checkout@v2
     - name: Use Node.js
       uses: actions/setup-node@v1
+    - uses: dorny/paths-filter@v2
+      id: changes
+      with:
+        filters: |
+          src:
+            - 'src/**'
+          docs:
+            - 'docs/**'
+    - name: Install
+      run: npm ci
     - name: Build and Test
+      if: steps.changes.outputs.src == 'true'
       run: |
-        npm ci
         npm run build
         if [ "${{ runner.os }}" == "Windows" ]; then
           npm test
@@ -35,12 +48,17 @@ jobs:
           xvfb-run --auto-servernum npm test
         fi
       shell: bash
+    - name: Lint
+      if: steps.changes.outputs.src != 'true'
+      run: npm run lint
     - name: Package
+      if: steps.changes.outputs.docs == 'true'
       run: |
         npm run docs
         npm run typedoc
         npm pack
     - name: Coveralls Parallel - Chrome
+      if: steps.changes.outputs.src == 'true'
       uses: coverallsapp/github-action@master
       with:
         github-token: ${{ secrets.github_token }}
@@ -48,6 +66,7 @@ jobs:
         flag-name: ${{ matrix.os }}-chrome
         parallel: true
     - name: Coveralls Parallel - Firefox
+      if: steps.changes.outputs.src == 'true'
       uses: coverallsapp/github-action@master
       with:
         github-token: ${{ secrets.github_token }}
@@ -61,6 +80,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
     - name: Coveralls Finished
+      if: needs.build.outputs.coveralls == 'true'
       uses: coverallsapp/github-action@master
       with:
         github-token: ${{ secrets.github_token }}