Skip to content

Earn Stack Overflow's Fanatic Badge automagically using GitHub Actions ๐Ÿ†

License

Notifications You must be signed in to change notification settings

connorads/stackoverflow-fanatic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

25 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

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.