Home Avatar Problems
Post
Cancel

Avatar Problems


“All parts should go together without forcing. You must remember that the parts you are reassembling were disassembled by you. Therefore, if you can’t get them together again, there must be a reason. By all means, do not use a hammer.” — IBM Manual, 1925
- IBM Manual 1925


How Do I Do That, Again?

I decided to change the avatar on the blog. The problem was, I hadn’t messed with it in a while.

Nothing obvious jumped out while browsing the chirpy theme documentation. I did see lots of references to the _config.yml file. Looking at _config.yml in VSCode showed basic configuration options. The avatar option was here along with the URL for the old image. I replaced the URL with a link to the new picture, saved the file and committed the change to Github.

Failed Build

While the Github Action ran I went and made some coffee. When I got back I saw the action failed failed.

Github Action Failed

The details showed the error had something to do with Ruby. I know nothing about Ruby. Luckily, the error was straightfoward and included a fix.

Wrong Platform

The error seemed to show the build wanting a particular platform specified, x86_64-linux. This needed to be added to a lockfile. I was only aware of one file that sounded relevant, Gemfile.lock. I found the relevant platform section inside Gemfile.lock and saw the platform included in the error, x64-mingw-ucrt.

Github Action Error

The error gave a CLI command to add the missing platform to the file. I manually added x86_64-linux on a new line in the Gemfile.lock, assuming this is what the CLI command was doing. Once the new platform had been added to the lockfile I made the commit and watched the action run.

Run Initiated

So far so good.

Run Looks Good So Far

But… the action failed again.

Failed Again

Now what?

New Error

Liquid Exception: undefined method ‘tainted?’. Huh? No idea. A quick Google search took me back to Github, specifically, an Issues page where someone was reporting a very similar error. Reading through the comments it turned out to be an incompatibility issue with Liquid 4.0.3 and Ruby 3.2.0.

Liquid And Ruby Incompatibility

Someone recommended a fix, code to add to Gemfile. The code looks like it is forcing Liquid version 4.0.4 or greater. I opened up Gemfile and added the code to the bottom of as suggested.

Forcing Liquid Version

Save. Comment. Commit. Watch.

Running Action Again

The Action ran successfully!

Successful Action Ran

Phew, that was a lot of work to just change an avatar image. Time to check out the page and verify the new image is there.

Blank Avatar

Still blank. Forced a page refresh, tried a different browser, etc. Still blank. Maybe it was the new CDN I switched to for the new image? Out of curiosity, I decided to try a direct link to the Jekyll logo.

Jekyll Logo

I then added the link to the _config.yml file.

Link Added to _config.yml

Save. Comment. Commit. Watch.

New Avatar Test Worked

Okay so the direct link worked. I decided to upload my avatar to Imgur this time.

Save. Comment. Commit. Watch.

New Avatar Working

Finally. Success.

Conclusion

I concluded that something wonky was going on with the new CDN I had switched to. To verify, I saved and then uploaded the same Jekyll image to the new CDN, made the change in the _config.yml, commented, committed and checked the site. Blank avatar. Hosting the image on Imgur(www.imgur.com) resolved the issue.

This post is licensed under CC BY 4.0 by the author.