name: Website on: push: branches: [master] workflow_dispatch: {} concurrency: group: website cancel-in-progress: true jobs: website: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: ref: master - uses: actions/checkout@v4 with: path: website ref: website - name: Get npm cache directory id: npm-cache-dir shell: bash run: echo "dir=$(npm config get cache)" >> ${GITHUB_OUTPUT} - uses: actions/cache@v2 id: npm-cache with: path: ${{ steps.npm-cache-dir.outputs.dir }} key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node- - id: cache-node-modules uses: actions/cache@v2 with: path: '**/node_modules' key: ${{ hashFiles('**/package-lock.json') }} - if: steps.cache-node-modules.outputs.cache-hit != 'true' run: | npm install --omit=dev cd website npm install - uses: actions/checkout@v4 with: path: gh-pages ref: gh-pages - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: 20.x cache: 'npm' - run: npm run dox:build - run: | git config --global user.email "git@cha0s.io" git config --global user.name "cha0s" npm run gh-pages || true