Skip to content

Latest commit

 

History

History
81 lines (46 loc) · 4.46 KB

README.md

File metadata and controls

81 lines (46 loc) · 4.46 KB

Stack Overflow Fanatic

Become a Fanatic Tests MIT License

Earn Stack Overflow's Fanatic Badge automagically using GitHub Actions 🏆

Fanatic: Visit the site each day for 100 consecutive days. (Days are counted in UTC.).

Not just for Stack Overflow. Should work with any StackExchange site that has a Fanatic Badge.

Instructions

Prerequisites

You need to set a password for Stack Overflow.

Setup

  1. (Optional 💕) ⭐ Star this repo
  2. Create a public or private repo from this repo template
  3. Add your Stack Overflow credentials to your repo's GitHub Actions Secrets
    • ⚙ Settings > Secrets and variables > Actions > New repository secret
      • STACKOVERFLOW_EMAIL
      • STACKOVERFLOW_PASSWORD
      • (Optional) ALTERNATIVE_URL (e.g. https://superuser.com or https://serverfault.com/)
  4. (Optional) Manually run the "Become a Fanatic" workflow
    • ▶ Actions > Become a Fanatic > Run workflow

Usage

Once the setup has been completed then the workflow will run daily at 1am UTC, log into your Stack Overflow profile and record your Fanatic Badge progress.

There shouldn't be a need to monitor the workflow but if you look at the workflow logs or artifacts (screenshots) you can see the progress.

Sometime after you've earned the Fanatic Badge the scheduled workflow will stop running.

FAQ

Isn't this cheating to get something which is already a bit pointless?

Yes, but it was fun to make.

But why?

No good reason of course.

I accidentally earned the Enthusiast Badge for visiting Stack Overflow for 30 consecutive days (how sad 🤓)

I then hoped to earn the Fanatic Badge but I decided to not do any coding for one day (unforgivable 🤦‍♂️) and lost my progress 😭

I found this Meta Stack overflow question on writing a program to earn the Fanatic Badge. Other people have done this before but they all required deploying to some infrastructure like Heroku or AWS. I asked myself "Could this be done with GitHub Actions?" to which the answer seems to be "Yes, technically".

It was also a good excuse to give Playwright a go.

Can I get banned from Stack Overflow for this?

Probably not.

Isn't this against the GitHub Terms of Service?

Maybe. Maybe not.

According to the GitHub Additional Product Terms:

for example, don't use Actions ... as part of a serverless application

But then it goes on to say:

but a low benefit Action could be ok if it’s also low burden

And I would argue that this is low burden.

There are other repos such as upptime acting in a serverless application manner of far greater burden that seem to not get into any trouble.

Won't GitHub disable the scheduled workflow after 60 days?

To prevent the scheduled workflow from being disabled automatically after 60 days of repository inactivity the workflow will push some changes to the repo after 42 days. 60 days later GitHub will disable the workflow which will be after you've earned your Fanatic Badge on day 100.

Warning: To prevent unnecessary workflow runs, scheduled workflows may be disabled automatically. When a public repository is forked, scheduled workflows are disabled by default. In a public repository, scheduled workflows are automatically disabled when no repository activity has occurred in 60 days.