1
+ name : Lint
2
+
3
+ on : [push, pull_request]
4
+
5
+ env :
6
+ PLUGIN_NAME : dashboards-observability
7
+ OPENSEARCH_DASHBOARDS_VERSION : ' main'
8
+
9
+ jobs :
10
+ build :
11
+ name : Lint
12
+ runs-on : ubuntu-latest
13
+
14
+ steps :
15
+ - name : Checkout OpenSearch Dashboards
16
+ uses : actions/checkout@v2
17
+ with :
18
+ repository : opensearch-project/Opensearch-Dashboards
19
+ ref : ${{ env.OPENSEARCH_DASHBOARDS_VERSION }}
20
+ path : OpenSearch-Dashboards
21
+
22
+ - name : Checkout dashboards observability
23
+ uses : actions/checkout@v2
24
+ with :
25
+ path : OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}
26
+
27
+ - name : Get node and yarn versions
28
+ working-directory : ${{ env.WORKING_DIR }}
29
+ id : versions_step
30
+ run : |
31
+ echo "::set-output name=node_version::$(cat ./OpenSearch-Dashboards/.nvmrc | cut -d"." -f1)"
32
+ echo "::set-output name=yarn_version::$(node -p "(require('./OpenSearch-Dashboards/package.json').engines.yarn).match(/[.0-9]+/)[0]")"
33
+
34
+ - name : Setup node
35
+ uses : actions/setup-node@v1
36
+ with :
37
+ node-version : ${{ steps.versions_step.outputs.node_version }}
38
+ registry-url : ' https://registry.npmjs.org'
39
+
40
+ - name : Install correct yarn version for OpenSearch Dashboards
41
+ run : |
42
+ npm uninstall -g yarn
43
+ echo "Installing yarn ${{ steps.versions_step.outputs.yarn_version }}"
44
+ npm i -g yarn@${{ steps.versions_step.outputs.yarn_version }}
45
+
46
+ - name : Bootstrap the plugin
47
+ working-directory : OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}
48
+ run :
49
+ yarn osd bootstrap
50
+
51
+ - name : lint code base
52
+ working-directory : OpenSearch-Dashboards/plugins/${{ env.PLUGIN_NAME }}
53
+ run : |
54
+ git fetch origin main
55
+ CHANGED_FILES=$(git diff --name-only --diff-filter=ACMRTUXB origin/main | grep -E "\.(js|ts|tsx)$")
56
+ if [ -n "$CHANGED_FILES" ]; then
57
+ echo "Linting changed files..."
58
+ yarn lint $CHANGED_FILES
59
+ else
60
+ echo "No JavaScript/TypeScript files changed."
61
+ fi
0 commit comments