douban movie sync #852
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: douban movie sync | |
| on: | |
| workflow_dispatch: | |
| schedule: | |
| - cron: "0 16 * * *" | |
| permissions: | |
| contents: write | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| sync: | |
| name: Sync | |
| runs-on: ubuntu-latest | |
| env: | |
| NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }} | |
| MOVIE_NOTION_TOKEN: ${{ secrets.MOVIE_NOTION_TOKEN }} | |
| NOTION_MOVIE_URL: ${{ secrets.NOTION_MOVIE_URL }} | |
| DOUBAN_NAME: ${{ secrets.DOUBAN_NAME }} | |
| AUTH_TOKEN: ${{ secrets.AUTH_TOKEN }} | |
| YEAR: ${{ vars.YEAR }} | |
| REF: ${{ github.ref }} | |
| REPOSITORY: ${{ github.repository }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: 3.9 | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r requirements.txt | |
| pip install . | |
| - name: douban movie sync | |
| run: | | |
| douban "movie" | |
| - name: Remove folder | |
| run: rm -rf ./OUT_FOLDER/movie | |
| - name: Set default year if not provided | |
| run: echo "YEAR=$(date +"%Y")" >> $GITHUB_ENV | |
| if: env.YEAR == '' | |
| - name: notion heatmap | |
| run: | | |
| github_heatmap notion --notion_token "${{secrets.MOVIE_NOTION_TOKEN || secrets.NOTION_TOKEN}}" --database_id "${{ env.DATABASE_ID }}" --date_prop_name "日期" --value_prop_name "看过" --unit "部" --year $YEAR --me "${{secrets.MOVIE_NAME}}" --without-type-name --background-color=${{ vars.background_color||'#FFFFFF'}} --track-color=${{ vars.track_color||'#ACE7AE'}} --special-color1=${{ vars.special_color||'#69C16E'}} --special-color2=${{ vars.special_color2||'#549F57'}} --dom-color=${{ vars.dom_color||'#EBEDF0'}} --text-color=${{ vars.text_color||'#000000'}} | |
| - name: udpate heatmap | |
| run: | | |
| heatmap "movie" | |
| - name: push | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| git config --global user.email "action@github.com" | |
| git config --global user.name "GitHub Action" | |
| ARTIFACT_BRANCH="heatmap-artifacts" | |
| WORK_DIR="$(mktemp -d)" | |
| REPO_URL="https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" | |
| if git ls-remote --exit-code --heads "$REPO_URL" "$ARTIFACT_BRANCH" >/dev/null 2>&1; then | |
| git clone --depth 1 --branch "$ARTIFACT_BRANCH" "$REPO_URL" "$WORK_DIR/repo" | |
| else | |
| git clone --depth 1 "$REPO_URL" "$WORK_DIR/repo" | |
| cd "$WORK_DIR/repo" | |
| git checkout --orphan "$ARTIFACT_BRANCH" | |
| git rm -rf . >/dev/null 2>&1 || true | |
| cd - >/dev/null | |
| fi | |
| mkdir -p "$WORK_DIR/repo/OUT_FOLDER" | |
| cp -R OUT_FOLDER/. "$WORK_DIR/repo/OUT_FOLDER/" 2>/dev/null || true | |
| cd "$WORK_DIR/repo" | |
| git add OUT_FOLDER | |
| git commit -m 'update heatmap artifacts' || echo "nothing to commit" | |
| git push origin "HEAD:$ARTIFACT_BRANCH" || echo "nothing to push" |