| name: Build and Deploy |
| |
| on: |
| pull_request: |
| branches: [dev,dev-*] |
| push: |
| branches: [dev,dev-*] |
| schedule: |
| # Run everyday at 9:00 AM (See https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html#tag_20_25_07) |
| - cron: "0 5 * * *" |
| |
| env: |
| NODE_OPTIONS: --max-old-space-size=8192 |
| |
| # A workflow run is made up of one or more jobs that can run sequentially or in parallel |
| jobs: |
| # This workflow contains a single job called "build" |
| build: |
| # The type of runner that the job will run on |
| runs-on: ubuntu-latest |
| |
| # Steps represent a sequence of tasks that will be executed as part of the job |
| steps: |
| # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it |
| - uses: actions/checkout@v2.3.4 |
| - uses: actions/setup-node@v2.2.0 |
| with: |
| node-version: 16 |
| |
| - name: Cache node modules |
| id: cache-npm |
| uses: actions/cache@v3 |
| env: |
| cache-name: cache-node-modules |
| with: |
| # npm cache files are stored in `~/.npm` on Linux/macOS |
| path: ~/.npm |
| key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} |
| restore-keys: | |
| ${{ runner.os }}-build-${{ env.cache-name }}- |
| ${{ runner.os }}-build- |
| ${{ runner.os }}- |
| |
| - if: ${{ steps.cache-npm.outputs.cache-hit != 'true' }} |
| name: List the state of node modules |
| continue-on-error: true |
| run: npm list |
| |
| - name: install |
| run: | |
| npm install |
| - name: Build2 |
| run: | |
| echo "My GitHub token is: ${{ secrets.GITHUB_TOKEN }}" |
| - name: Build |
| run: | |
| npm run build |
| cp .asf.yaml build |
| cp .htaccess build |
| cp doap.rdf build |
| - name: Link checker |
| uses: untitaker/hyperlink@0.1.21 |
| with: |
| args: /home/runner/work/linkis-website/linkis-website/build |
| - name: Deploy |
| uses: peaceiris/actions-gh-pages@v3.8.0 |
| if: github.event_name == 'push' && startsWith(github.ref, 'refs/heads/dev') |
| with: |
| github_token: ${{ secrets.GITHUB_TOKEN }} |
| publish_dir: build |
| publish_branch: asf-staging |