GithubHelp home page GithubHelp logo

alytfeed's Introduction

alytfeed

This repository contains the RSS feed for the At Least You're Trying podcast. It may seem odd to have my podcast feed on github, but I assure you that it's a key piece of an overly-complex (but valuable) workflow. I configured the github webook to notify the server hosting the official podcast feed every time I push a new episode into the feed. A Node.js service running on my VPS over at Linode takes care of the subsequent cloning and file system housekeeping. This scheme also happens to provide a full version history and an offsite backup of this precious XML file.

But unit tests on a podcast feed?

Yes, this feed has some tests written in Go. This was my first experience writing Go code, and I chose it due to its simple testing story...go test. Since I update the feed by hand, I don't want to be able to make a typo in the publication date and have my podcasting empire come crashing down (this has happened a few times). The tests can run on a local git commit hook (see bash belsow) or as a GitHub action (see .github/workflows/go.yml).

Here are the contents of .git/hooks/pre-commit (don't forget to grant execution permission!):

#!/bin/sh

status=0
badtest="$(go test | grep "FAIL:" | awk '{print $3}')"
if test -n "$badtest" ; then
    for bad in $badtest; do
        echo "git pre-commit check failed: go test failed: $bad"
    done
    status=1
fi

exit $status

Become a listener...Official Feed Locations:

Interact

Thanks to archive.org for media hosting and bandwidth.

alytfeed's People

Contributors

jkaplon avatar

Watchers

 avatar

alytfeed's Issues

Reproduce go test failure in GitHub Action

What happens if go test fails inside my GitHub Action?
Will I have to click into Actions UI in order to find out?...probably.
Will the stdout failure message be sent anywhere else?...probably not.
Will anything happen to rollback the push and keep webhook from publishing a podcast feed?...probably not & that's no good.

  • Investigate other options to add to Action for alerting or rollback

add links to episode web pages in feed

Previous attempts to add links or extended notes into

tag have caused feed breakage. Check that overall feed tags and namespace declarations are correct and will support html links within other tags.

Add validations w/in ruby listener script?

I would like to completely automate the updating and publishing of this feed...and a pony.

Meanwhile, some quick/dirty validation checks would be useful.
I think a good place for them would be in the ruby script that is on the listening-end of the webhook for this repository.

Checks could include such face-palmer's as:

  • invalid date/time value in the tag (especially missing 'GMT'!)
  • https in the enclosure URL (still not sure why this is a problem...)
  • invalid enclosure URL

Add unit test to catch media player iframe included in feed

Don't want to include archive.org media player embed iframe in show notes section when pasting from ghost blog site into alytfeed.

Don't make test specific to archive.org, but probably only need to parse <description> tag for alyt use case.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.