123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- # Licensed to the Apache Software Foundation (ASF) under one
- # or more contributor license agreements. See the NOTICE file
- # distributed with this work for additional information
- # regarding copyright ownership. The ASF licenses this file
- # to you under the Apache License, Version 2.0 (the
- # "License"); you may not use this file except in compliance
- # with the License. You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- name: Docs
- on:
- pull_request:
- schedule:
- - cron: '0 18 * * *' # TimeZone: UTC 0
- concurrency:
- group: doc-${{ github.event.pull_request.number || github.ref }}
- cancel-in-progress: true
- jobs:
- style:
- timeout-minutes: 10
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - name: Style Check
- run: ./mvnw spotless:check
- img-check:
- timeout-minutes: 15
- runs-on: ubuntu-latest
- defaults:
- run:
- working-directory: docs
- steps:
- - uses: actions/checkout@v2
- - name: Set up Python 3.9
- uses: actions/setup-python@v2
- with:
- python-version: 3.9
- - name: Run Dev Relative Reference
- run: python img_utils.py -v dev-syntax
- - name: Run Image Check
- run: python img_utils.py -v check
- dead-link:
- if: (github.event_name == 'schedule' && github.repository == 'apache/dolphinscheduler') || (github.event_name != 'schedule')
- runs-on: ubuntu-latest
- timeout-minutes: 30
- steps:
- - uses: actions/checkout@v2
- - run: sudo npm install -g markdown-link-check@3.10.0
- # NOTE: Change command from `find . -name "*.md"` to `find . -not -path "*/node_modules/*" -not -path "*/.tox/*" -name "*.md"`
- # if you want to run check locally
- - run: |
- for file in $(find . -name "*.md" -not \( -path ./deploy/terraform/aws/README.md -prune \)); do
- markdown-link-check -c .dlc.json -q "$file"
- done
- paths-filter:
- name: Helm-Doc-Path-Filter
- runs-on: ubuntu-latest
- outputs:
- helm-doc: ${{ steps.filter.outputs.helm-doc }}
- steps:
- - uses: actions/checkout@v2
- - uses: dorny/paths-filter@b2feaf19c27470162a626bd6fa8438ae5b263721
- id: filter
- with:
- filters: |
- helm-doc:
- - 'deploy/**'
- helm-doc:
- name: Helm-Doc-Execute
- needs: paths-filter
- if: ${{ (needs.paths-filter.outputs.helm-doc == 'true') || (github.event_name == 'push') }}
- runs-on: ubuntu-latest
- timeout-minutes: 20
- steps:
- - uses: actions/checkout@v2
- with:
- submodules: true
- - name: Generating helm-doc
- run: |
- ./mvnw validate -P helm-doc -pl :dolphinscheduler
- - name: Check helm-doc
- run: |
- DIFF=$(git diff ${GITHUB_WORKSPACE}/deploy/kubernetes/*md)
- if [ ! -z "$DIFF" ]; then
- echo "###### ERROR: helm-doc is not up to date ######"
- echo "Please execute './mvnw validate -P helm-doc -pl :dolphinscheduler' in your clone, of your fork, of the project, and commit an updated deploy/kubernetes/README.md for the chart."
- echo "###### ERROR: helm-doc is not up to date ######"
- fi
- git diff --exit-code
- result:
- name: Docs
- runs-on: ubuntu-latest
- timeout-minutes: 30
- needs:
- - style
- - img-check
- - dead-link
- if: always()
- steps:
- - name: Status
- run: |
- if [[ ${{ contains(needs.*.result, 'failure') }} == 'true' || ${{ contains(needs.*.result, 'cancelled') }} == 'true' ]]; then
- echo "Build Failed!"
- exit 1
- else
- echo "Build Success!"
- fi
|