You can set this up with a very simple 2-step CodePipeline. Basically, you just fill out the different sections in the AWS Console. There's no need for a separate CI tool and its added complexity.
In the first step of the pipline, pull from Github and store in S3. You can easily set this up through the AWS Console.
In the next CodeDeploy step, you can use the AWS CLI (pre-installed in CodeDeploy) to do a
cd /path/to/public/directory && aws s3 sync --acl public-read --delete . s3://your.bucket.name
You'll have to set the environment variables for AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY so that AWS CLI can run during your deploy step, and that can also be done in the AWS console for CodeDeploy, in the Advanced section under "environment variables". Once the environment variables have been set and if that AWS user has the correct permissions, you can run any aws-cli command you want inside your CodeDeploy.
Once this is done, when you check in to Github, CodePipeline will kick off, and a few minutes later your files will be on S3.