lovelyCARDINAL/WikiBots

View on GitHub
.github/workflows/Personal.yaml

Summary

Maintainability
Test Coverage
name: "[manually] Personal"
# src/Personal/watch.js - 1x evening.yaml

on:
  workflow_dispatch:
    inputs:
      task:
        type: choice
        required: true
        options:
          - "test"
          - "deletion"
          - "batch-delete-prefix"
          - "batch-undelete"
      site:
        type: choice
        required: false
        default: "all"
        options:
          - "zh"
          - "cm"
          - "all"
      filterredir:
        type: choice
        required: false
        default: "all"
        options:
          - "all"
          - "redirects"
          - "nonredirects"

env:
  MOEGIRL_API_USER_AGENT: ${{ secrets.MOEGIRL_API_USER_AGENT }}

jobs:
  test:
    if: |
      github.event.inputs.task == 'test'
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Set Node Version
        uses: actions/setup-node@v4
        with:
          node-version: 20.x
          cache: "npm"
      - name: Install dependencies
        run: npm ci
      - name: Run Script
        env:
          ZH_BOT: ${{ secrets.ZH_BOT }}
        run: node src/Personal/test.js

  zh-deletion:
    if: |
      github.event.inputs.task == 'deletion' &&
      (github.event.inputs.site == 'zh' || github.event.inputs.site == 'all')
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Set Node Version
        uses: actions/setup-node@v4
        with:
          node-version: 20.x
          cache: "npm"
      - name: Install dependencies
        run: npm ci
      - name: Run Script
        env:
          SITE: "zh"
          ZH_MAIN: ${{ secrets.ZH_MAIN }}
        run: node src/Personal/delete.js

  cm-deletion:
    if: |
      github.event.inputs.task == 'deletion' &&
      (github.event.inputs.site == 'cm' || github.event.inputs.site == 'all')
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Set Node Version
        uses: actions/setup-node@v4
        with:
          node-version: 20.x
          cache: "npm"
      - name: Install dependencies
        run: npm ci
      - name: Run Script
        env:
          SITE: "cm"
          CM_MAIN: ${{ secrets.CM_MAIN }}
        run: node src/Personal/delete.js

  batch-undelete:
    if: |
      github.event.inputs.task == 'batch-undelete' &&
      (github.event.inputs.site == 'zh' || github.event.inputs.site == 'cm')
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Set Node Version
        uses: actions/setup-node@v4
        with:
          node-version: 20.x
          cache: "npm"
      - name: Install dependencies
        run: npm ci
      - name: Run Script
        env:
          SITE: ${{ github.event.inputs.site }}
          ZH_ABOT: ${{ secrets.ZH_ABOT }}
          CM_ABOT: ${{ secrets.CM_ABOT }}
        run: node src/Personal/undelete.js

  batch-delete-prefix:
    if: |
      github.event.inputs.task == 'batch-delete-prefix' &&
      (github.event.inputs.site == 'zh' || github.event.inputs.site == 'cm')
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Set Node Version
        uses: actions/setup-node@v4
        with:
          node-version: 20.x
          cache: "npm"
      - name: Install dependencies
        run: npm ci
      - name: Run Script
        env:
          SITE: ${{ github.event.inputs.site }}
          FILTERREDIR: ${{ github.event.inputs.filterredir }}
          ZH_ABOT: ${{ secrets.ZH_ABOT }}
          CM_ABOT: ${{ secrets.CM_ABOT }}
        run: node src/Personal/deletePrefix.js