Upload compiled javascript on every github commit - github

I am writing a scalajs app (though this is not specific to scalajs), and I would like to be able to use it simply by linking to a URL from anywhere. Previously, I was putting the compiled javascript in my github repo, and then linking it using https://cdn.jsdelivr.net/gh/, but I want to build the javascript in CI. What is a place (preferably free) that I can upload to, and then be able to link to specific commits? Should I just shell out for an AWS S3 bucket? Should I make an NPM prerelease for every commit? I could also push to a different branch within the github action, and then use https://cdn.jsdelivr.net/gh/, just like making github pages. I feel like there should be a blessed way to do this, but I don't know what it is.

Related

Deploy via GitHub

I am doing this course on HTML, CSS, and Javascript for Web Developers on Coursera, as I am new to all this, and I have stumbled upon something that I think is very old information in the course, and not working anymore with the same tools as they have changed over time. So in this course we have the GitHub pages tool, which at that time could be used simply via the "deploy" button. Right now, the GitHub pages tool is disabled unless you create a branch, and it offers this GitHub Actions option under Build and Development, from where you can choose different workflows. By choosing any of them, you get the site deployed, but upon entering it, it gives 404 error. From my understanding, what's missing is the index.html file. How can you use the GitHub Actions tool to also have the index.html file and get rid of the error?
I have tried deploying from a branch, but I am missing valuable information on how to make that work.

Include GitHub project using link without downloading

I found a small GitHub project that I want to use (https://github.com/NewSignature/us-map) to create a clickable map. It is a jQuery plugin. I don't want to download it and clutter up my project though. Is there a way to link to the project in like a script tag and link tag?
It is possible you could use a CDN for this if the project offers one already. You could ask the project if one exists, or see if common CDNs already offer it, and use that. Otherwise, you'll need to host it yourself.
While GitHub does provide a way to view the raw contents of a file, it isn't intended as a CDN for you to use. Raw files are not hosted directly, but instead generated from the repository, so for performance and availability reasons, GitHub doesn't want people to use it as a substitute for hosting their own dependencies.

Disable zip downloads from github

Is there any way to disable viewers to download my files from github?
I want to show my work, but I am afraid anybody can steal my code.
You can't, Github actually means you want to share something with the community, or you are showcasing your work in the open source community. Unfortunately you cannot restrict the users from downloading your content from your Repository.
Alternatively what you can do Just make your Repository private. But then in this case you are not able to make you work available to view for audience.
More you can read here :-
https://help.github.com/en/github/building-a-strong-community/limiting-interactions-in-your-repository
Disabling zip/tarballs on GitHub at the moment seems to be impossible, but it would be useful for those using git submodules, which are not included in the automatic created archives, where the repository owner could replace them with a continuous integration job with something like git-archive-all.

Use github website purely - upload to add files

I'm trying to purely use the website Github to create a repo, then public first commit. (Because I cant install the desktop client on this computer, nor use the command line, school restrictions)
I found a little cheat, I clicked the "make readme" button then renamed that file to make the first commit.
I created a screncast here:
Youtube :: Use Github without the Desktop App
After that I can create new text based files by clicking "+" button and create subdirectories too. But I don't know how to upload image, other text based files, or other non-text files to the repo using just the website. Does anyone know?
GitHub's web interface isn't designed as a complete Git solution. It allows you to do a subset of the operations you could do in a local clone, including just about every part of GitHub Flow.
Their documentation about adding files only covers adding text files using the online editor, which you have already discovered. I don't believe that it supports uploading files.

Programmatically add files to a GitHub download page

[[Please note that Github has changed a lot since this question was first asked; instead of "download page" read "new release".]]
I generate PDF documentation as part of my projects and I'd like them to stay in sync with my Git repository (it's not always possible for people to build their own since they often use proprietary fonts).
However, it's not really "correct" to add the PDFs to the repository since it's a derived file; furthermore, doing this adds significantly to the size of the commits and the size of the repository overall.
Is it possible to programmatically send files to the GitHub download page? (I know that tagged commits are automatically added there with git push --tags but I don't know where this is documented. I suppose I could do something fancy by adding a separate branch only containing the PDFs themselves — as done by the GitHub user pages — but I'm a bit rusty on using Git this way.)
Github API v3 supports this feature.
GitHub also provides a maven plugin based on the java API that is part of the Eclipse Mylyn connector for GitHub.
There is a ruby gem called github_api.
The other answer talks about net-github-upload which is available for perl and ruby.
check out for net-github-upload which is available
for perl: http://github.com/typester/net-github-upload-perl
and ruby: http://github.com/Constellation/ruby-net-github-upload
With that you can write a small script to upload and update your PDF easily. To sad there's no easy way provided by github guys themselves..
cheer!
The GitHub blog post announcing that this feature has been disabled: https://github.com/blog/1302-goodbye-uploads
I take it that by "GitHub download page", the owner means a repo–more specifically a branch– that can be downloaded via the "download" button.
If you want to add a file to a repo using the API, you will have to become familiar with the process described here: https://developer.github.com/v3/git/
It's not the easiest process in the world, but mastering it will force you to understand the concepts of blobs, trees, commits and references, amongst others.
You can't just "send a file" to a repo because you're working with Git, and Git has some "internal expectations" that you just can't ignore (it's impossible to think of GitHub as some sort of host that you can ftp). Explaining the flow required to create a file in a GitHub repo is certainly beyond the scope of the original question, but to provide a clear answer: no, it's not possible to programmatically upload a file on GitHub, but yes it is possible to programmatically push a file on GitHub".
There's a PHP library named GitHubTreePHP that lets you automate the process (Disclaimer: I wrote it).