| name: Site Build |
| |
| on: |
| push: |
| branches: |
| - main |
| pull_request: |
| branches: |
| - main |
| # allow manually run the action: |
| workflow_dispatch: |
| |
| concurrency: |
| group: ${{ github.workflow }}-${{ github.ref }} |
| cancel-in-progress: true |
| |
| jobs: |
| test: |
| runs-on: ubuntu-latest |
| if: github.event_name == 'pull_request' |
| |
| steps: |
| - uses: actions/checkout@v4 |
| - name: Use Node.js 20 |
| uses: actions/setup-node@v4 |
| with: |
| node-version: 20 |
| - name: Install dependencies |
| run: npm ci |
| - name: Test build website |
| env: |
| NODE_OPTIONS: --max_old_space_size=8192 |
| run: npm run build |
| |
| deploy: |
| runs-on: ubuntu-latest |
| if: github.event_name == 'workflow_dispatch' && github.ref_name == 'main' || github.event_name == 'push' |
| |
| steps: |
| - uses: actions/checkout@v4 |
| with: |
| fetch-depth: 0 |
| - name: Use Node.js 20 |
| uses: actions/setup-node@v4 |
| with: |
| node-version: 20 |
| - name: Install dependencies |
| run: npm ci |
| - name: Build website |
| env: |
| NODE_OPTIONS: --max_old_space_size=8192 |
| run: npm run build |
| - name: Deploy website |
| env: |
| IOTDB_WEBSITE_BUILD: ${{ secrets.IOTDB_WEBSITE_BUILD }} |
| run: | |
| git config --global url."https://asf-ci-deploy:$IOTDB_WEBSITE_BUILD@github.com/apache/".insteadOf "https://github.com/apache/" |
| git config --global user.name github-actions |
| git config --global user.email 41898282+github-actions[bot]@users.noreply.github.com |
| npm run deploy |