- 
 
- 
  Notifications
 You must be signed in to change notification settings 
- Fork 9.2k
feat: update lc problems (#4812) #2237
 
 
 This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
 Learn more about bidirectional Unicode characters
 
 
 
 
 
  
 name: deploy
 
 
  
 on:
 
  
  workflow_dispatch:
 
  
  push:
 
  
  branches:
 
  
  - main
 
  
  paths:
 
  
  - solution/**
 
  
  - lcs/**
 
  
  - lcp/**
 
  
  - lcof2/**
 
  
  - lcof/**
 
  
  - lcci/**
 
  
  - basic/**
 
 
  
 concurrency:
 
  
  group: ${{ github.workflow }} - ${{ github.ref }}
 
  
  cancel-in-progress: true
 
 
  
 jobs:
 
  
  build:
 
  
  runs-on: ubuntu-latest
 
  
  steps:
 
  
  - name: Checkout main branch
 
  
  uses: actions/checkout@v4
 
  
  with:
 
  
  fetch-depth: 0
 
 
  
  - name: Checkout docs branch
 
  
  uses: actions/checkout@v4
 
  
  with:
 
  
  ref: docs
 
  
  path: mkdocs
 
  
  fetch-depth: 0
 
 
  
  - name: Sync docs branch content
 
  
  run: |
 
  
  rsync -a --remove-source-files --exclude='.git' mkdocs/ ./
 
  
  rm -rf mkdocs
 
  
  mv solution/CONTEST_README.md docs/contest.md
 
  
  mv solution/CONTEST_README_EN.md docs-en/contest.md
 
  
  - name: Configure Git Credentials
 
  
  run: |
 
  
  git config --global user.name github-actions[bot]
 
  
  git config --global user.email 41898282+github-actions[bot]@users.noreply.github.com
 
  
  - name: Setup Python
 
  
  uses: actions/setup-python@v5
 
  
  with:
 
  
  python-version: 3.x
 
 
  
  - name: Restore pip cache
 
  
  uses: actions/cache@v4
 
  
  with:
 
  
  path: ~/.cache/pip
 
  
  key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
 
  
  restore-keys: |
 
  
  ${{ runner.os }}-pip-
 
  
  - name: Restore mkdocs-material cache
 
  
  uses: actions/cache@v4
 
  
  with:
 
  
  path: .cache
 
  
  key: mkdocs-material-${{ env.cache_id }}
 
  
  restore-keys: |
 
  
  mkdocs-material-
 
  
  - name: Install dependencies
 
  
  run: |
 
  
  python3 -m pip install --upgrade pip
 
  
  python3 -m pip install -r requirements.txt
 
  
  python3 -m pip install "mkdocs-material[imaging]"
 
  
  sudo apt-get install -y pngquant
 
  
  - name: Set MKDOCS_API_KEYS
 
  
  run: echo "MKDOCS_API_KEYS=${{ secrets.MKDOCS_API_KEYS }}" >> $GITHUB_ENV
 
 
  
  - name: Build site
 
  
  run: |
 
  
  python3 main.py
 
  
  mkdocs build -f mkdocs.yml
 
  
  mkdocs build -f mkdocs-en.yml
 
  
  - name: Generate CNAME
 
  
  run: echo "leetcode.doocs.org" > ./site/CNAME
 
 
  
  - name: Commit committer cache to docs branch
 
  
  if: github.ref == 'refs/heads/main'
 
  
  env:
 
  
  GH_REPO: ${{ github.repository }}
 
  
  GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 
  
  run: |
 
  
  CACHE_FILE=".git-committers-cache.json"
 
  
  if [[ ! -f "$CACHE_FILE" ]]; then
 
  
  echo "Cache file not found; skip commit."
 
  
  exit 0
 
  
  fi
 
  
  echo "Cloning docs branch ..."
 
  
  git clone --depth 1 --branch docs "https://x-access-token:${GH_TOKEN}@github.com/${GH_REPO}.git" docs-cache
 
  
  cp "$CACHE_FILE" docs-cache/
 
  
  cd docs-cache
 
  
  git config user.name github-actions[bot]
 
  
  git config user.email 41898282+github-actions[bot]@users.noreply.github.com
 
  
  git add .git-committers-cache.json
 
  
  git commit -m "chore: update committer cache [skip ci]" || echo "No changes to commit"
 
  
  git push origin docs
 
  
  - name: Upload artifact
 
  
  uses: actions/upload-pages-artifact@v3
 
  
  with:
 
  
  path: ./site
 
 
  
  deploy:
 
  
  needs: build
 
  
  runs-on: ubuntu-latest
 
  
  permissions:
 
  
  pages: write
 
  
  id-token: write
 
  
  environment:
 
  
  name: github_pages
 
  
  url: ${{ steps.deployment.outputs.page_url }}
 
  
  steps:
 
  
  - name: Deploy to GitHub Pages
 
  
  id: deployment
 
  
  uses: actions/deploy-pages@v4