Page updated:

GitHub Actions Deployment

GitHub Actions is a hosted automation service provided by GitHub. It can run TrendRadar in the cloud with no server of your own. Whether runs use paid or included minutes depends on repository visibility and your account plan; this guide explains that choice when you create the repository.
Current task · GitHub Actions
Run the workflow in your own repository and receive the first message in your configured channel.
Choose another method
11 · Before runningConfigure one push channel
22 · Done whenNo log errors, and a test or first push arrives in the target app
33 · After it arrivesConfigure content and delivery

Get the project code

The difference between "Use this template" and "Fork"

GitHub offers two ways to copy someone else's project. For TrendRadar, you must use "Use this template", and not "Fork".
ComparisonUse this templateFork
ResultA brand-new, independent repositoryA copy linked to the original project
Commit historyNot kept (a clean start)Keeps the full history of the original project
Actions workflowsEnabled by defaultDisabled by default (security restriction)
Use caseFor your own use, no need to contribute back to the original projectYou want to submit improvements back (Pull Request)
RecommendationRecommendedNot recommended (may stop Actions from working)
Steps:
1
Open the TrendRadar GitHub repository page
2
Click the green "Use this template" button
3
Choose "Create a new repository"
4
Enter your repository name (you can customize it, e.g. my-trendradar)
5
Choose the repository visibility
Public repositories can use standard runners without charge, but their files are public. Private repositories protect your config files but use the Actions minutes included with your account plan. Secrets are encrypted in either case.
6
Click "Create repository" to finish

Configure Secrets (push keys)

GitHub Secrets is GitHub's secure storage mechanism for keeping sensitive information that must not be made public (such as API keys, Webhook URLs, etc.). TrendRadar reads these Secrets to determine where to push messages.

Steps to add a Secret

1
Open repository settings
On your repository page, click the "Settings" tab at the top
2
Find the Secrets menu
In the left sidebar, expand "Secrets and variables" and click "Actions"
3
Add a new Secret
Click the "New repository secret" button
4
Fill in the name and value
Enter the Secret name in the "Name" field (it must match the table below exactly), and the corresponding value in the "Secret" field
5
Save
Click the "Add secret" button to save
Overview of all push channel Secrets
Push ChannelSecret NameHow to obtain it
WeComWEWORK_WEBHOOK_URLGroup settings > Group bots > Add bot > Copy the Webhook URL
FeishuFEISHU_WEBHOOK_URLGroup settings > Group bots > Add custom bot > Copy the Webhook URL
DingTalkDINGTALK_WEBHOOK_URLGroup settings > Group Assistant > Add custom bot > Copy the Webhook URL
TelegramTELEGRAM_BOT_TOKENChat with @BotFather to create a bot and obtain the Token
TelegramTELEGRAM_CHAT_IDAdd the bot to your group, then obtain the group Chat ID via the API
EmailEMAIL_FROMThe sender email address
EmailEMAIL_PASSWORDThe mailbox app password (not your login password; generate it in your mailbox settings)
EmailEMAIL_TOThe recipient email address
NtfyNTFY_TOPICYour custom ntfy topic name
BarkBARK_URLThe push URL shown in the Bark app (including the key)
SlackSLACK_WEBHOOK_URLSlack App > Incoming Webhooks > Copy the Webhook URL
Custom WebhookGENERIC_WEBHOOK_URLAny Webhook URL that accepts POST requests
Not sure how to obtain a Webhook, token or chat ID? Open Push Channels first, then return here to add the matching Secret.
The GitHub Actions disk is discarded after each run. Basic pushes work without remote storage; for history and incremental detection, follow Storage Configuration and add all four required S3 credentials. Setting only the optional S3_REGION above is not enough.

Run the workflow manually

Once your Secrets are configured, you can trigger the workflow manually to verify that everything is set up correctly.
1
Open the Actions page
On your own repository page, click the "Actions" tab at the top. Be sure you are in your own repository, not in the original project (sansan0/TrendRadar).
2
Select the workflow
In the workflow list on the left, find and click "Get Hot News"
3
Trigger the run
Click the "Run workflow" button on the right side of the page, then click the green "Run workflow" again in the dropdown to confirm
4
Wait for the result
The workflow usually takes 2-3 minutes to finish. The page does not refresh automatically, so you can refresh it manually to check the run status

View the run logs

If the workflow fails or you want to see the detailed process, you can view the logs as follows:
1
Click a run record
On the Actions page, click the run record you want to inspect (it shows the run time and status)
2
View the Job list
Inside, you will see one or more Jobs; click the Job you want to inspect
3
Expand the steps
Each Job contains multiple steps; click any step to expand it and view its detailed log output

The project's 7-day Check-In mechanism

This is a mechanism you must understand when deploying via GitHub Actions. If you're not aware of it, your automatic push may suddenly stop one day.

How is this different from GitHub's platform rule?

The 7-day period is a TrendRadar project rule. Get Hot News checks its earliest visible run; once that run is more than 7 days old, it disables crawler.yml. This is not a 7-day GitHub platform limit.
GitHub has a separate rule: scheduled workflows in public repositories may be disabled after 60 days with no repository activity, and scheduled runs may be delayed or dropped during high load. See the official GitHub schedule documentation.

What happens when it expires?

If the project's 7-day period has already expired:
  • Get Hot News is disabled and automatic pushes stop
  • Running Check In resets the timer but does not re-enable the crawler
  • After checking in, open Get Hot News and click Enable workflow

How to check in

1
Go to the Actions page of your repository
2
In the workflow list on the left, find "Check In"
3
Click the "Run workflow" button
4
Click the green "Run workflow" in the dropdown to confirm
5
If Get Hot News is disabled, return to it and click "Enable workflow"

Change the run frequency (Cron schedule)

What is Cron?

Cron is an expression for setting up "scheduled tasks." You can think of it as setting an alarm clock: telling the system "at what time to automatically run a task." In TrendRadar, Cron determines how often news is fetched automatically.
A Cron expression consists of 5 numbers/symbols separated by spaces, representing, in order:
minute  hour  day  month  weekday
 *       *     *    *      *
 |       |     |    |      |
 |       |     |    |      +-- day of week (0-6, 0=Sunday)
 |       |     |    +--------- month (1-12)
 |       |     +-------------- day of month (1-31)
 |       +-------------------- hour (0-23)
 +---------------------------- minute (0-59)

* means "every"   */N means "every N"   N means "at N"

Common time presets

Run frequencyCron expressionNotes
Run every hour0 * * * *Runs at minute 0 of every hour
Run every 30 minutes*/30 * * * *Runs at minute 0 and minute 30 of every hour
Daily at 8:00 Beijing time0 0 * * *UTC 0:00 = 8:00 Beijing time
Every 30 minutes during work hours*/30 0-14 * * *UTC 0:00-14:00 = 8:00-22:00 Beijing time
Push at meal times0 0,4,12 * * *UTC 0:00/4:00/12:00 = 8:00/12:00/20:00 Beijing time
Every 2 hours on weekdays0 0-14/2 * * 1-5Monday to Friday, 8:00-22:00 Beijing time, every 2 hours

Steps to change it

1
Find the workflow file
In your repository, navigate to the file .github/workflows/crawler.yml
2
Enter edit mode
Click the pencil icon (edit button) in the top-right corner of the file content, or click "Edit this file"
3
Find the cron configuration line
Find something like this in the file:
on:
  schedule:
    - cron: '0 */2 * * *'  # 找到这一行
1
Modify the cron expression
Replace the expression inside the quotes with the schedule you need (refer to the preset table above)
2
Commit the change
Scroll to the bottom of the page, fill in a description in the "Commit changes" section, then click the "Commit changes" button

Enable AI analysis (optional)

If you want each pushed news item to include an AI-generated analysis summary, just add two more Secrets:
Secret NameDescription
AI_API_KEYYour AI service API key (e.g. OpenAI, DeepSeek, etc.)
AI_MODELAI model identifier (format: provider/model-name, e.g. deepseek/deepseek-v4-flash)
They are added exactly the same way as the push channel Secrets. The AI feature is optional and does not affect the basic news push.

GitHub Actions FAQ