helm repo via gh-pages does not reflect latest published charts - kubernetes-helm

I'm using gh-pages to serve as a helm chart repo. At one point, it was working fine. Now, it doesn't. I package the chart, upload it, and update and push the index.yaml file in the gh-pages branch. I can go to the gh-pages url (effectively, the repo url) and examine the index.yaml file...I see the updated version listed there. I can copy the file url from index.yaml and the tgz downloads successfully. Looking inside the tgz, it has the correct version in Chart.yaml. All seems well.
But, when I run helm repo update [repo], none of the recent versions will show up. helm repo search shows only older versions. I've verified that the repo url is correct...it's the same one that I'm able to pull the valid index.yaml file from. I've also tried just upgrading a release using one of the newer 'missing' versions and it complains that it can't find the chart.
What am I forgetting?

Related

Does removal of a Github Release , with a tag v1.0, also removes the associated assets?

There is a Github release (with a tag v1.0) for a public repo associating with two assets (Auto-generated by Github) viz., sourcecode.zip and soucecode.tar.gz.
If release is deleted, then does this delete action also remove two assets from the repo?
I had a release (with tag v1.0) published in github with two assets Source Code(zip) and Source Code(tar.gz) which were auto-generated by Github.
I did some changes to README.md file and wanted to include the latest README.md into the existing release rather than creating a new one such as v1.1.
So I logged into github and deleted the release and it disappeared.
I freshly created a new release with same tag v1.0 and as usual the two assets Source Code(zip) and Source Code(tar.gz) appeared again.
I downloaded the zip file to my desktop and inspected the contents. To my surprise the README.md file among the zip files was older one and not the latest. I thought that I had made some mistake.
So I repeated the process. Every time I downloaded the zip and found out only the older README.md again and again.
I realized that my delete action on the release had removed it from github but not the two assets. This means the assets should have been associated with tag v1.0 rather than with release.
To confirm my findings, I issued the command git push --delete origin v1.0 from my desktop.
I visited github and again created the release with tag v1.0. I inspected zip file after downloading.
At last, I found out that the latest README.md was sitting among the ziped files! That was what I wanted!!
The lesson learnt was that git command issued from desktop not only removed the release but also the tag associated with release.
Thus, the removal of tag v1.0 also removed the two assets associated with it.
In fact, I wanted to share this experience and so this post.

How do I programatically download the ZIP file for a GitHub repo's default branch?

I'm writing a PHP script that lets users enter a GitHub owner & repo name, and then it downloads a zip file from that repo.
GitHub allows linking directly to the download of the latest release for a repo: /owner/name/releases/latest/download/name.zip (see https://docs.github.com/en/free-pro-team#latest/github/administering-a-repository/linking-to-releases). So if a repo has a release, that works fine.
However, for repos without a release, I want to download from the default branch instead. GitHub provides a link for this (green 'Code' button > 'Download ZIP'), but that URL includes the branch name: /owner/name/archive/[BRANCH].zip.
Is there a way to link directly to the download for the latest branch without knowing what the branch might be called? For example, something like this hypothetical URL: /owner/name/archive/latest.zip
You would need to read the default branch of the repository first through GitHub API (See Get Repository)
Once you have the default branch, you can use it to complete your download URL
curl -L http://github.com/<user>/<repo>/archive/<branch>.zip --output <branch>.zip
Unless you need the default branch name for something, you can do this in one call.
https://api.github.com/repos/<user>/<repo>/zipball

Install BigBluebutton from your forked GitHub Repo, with your settings not the original repository

I create the settings on the git repository so i don't have to config again after the installation. The idea is to install from the github repo.
But, in the case of bigBluebutton, it gets the files from
https://ubuntu.bigbluebutton.org/bbb-install.sh . and when i check the file there is no reference to any github repository... so is not about changing urls only.
Could you put me in the right direction?
I want to do the same with open-edx
This question was asked recently in our bigbluebutton-setup forums
https://groups.google.com/d/msg/bigbluebutton-setup/NKMGDlqdHmk/DP7Tb0C3CgAJ
The short answer is we don't have any script that can update a production BigBlueButton instance with changes made to a forked version of BigBlueButton in GitHub. You would need to follow our docs to re-deploy the components that you update.

Using ReadTheDocs to host Sphinx Docs created with Jupyter

I continue to have failed builds with ReadTheDocs using a github repository with Jupyter notebooks rendered using sphinx and the readthedocs theme. I am able to render these locally, however when I try with RTD, I get the following fail message:
I tried placing the nbsphinx.py file in the repository but things still fail. Link to RTD is here:
https://readthedocs.org/projects/calculus-notes/
Github repo is here:
https://github.com/jfkoehler/calc_docs
RTD needs to install nbsphinx. To tell RTD to install packages, you must:
From RTD FAQ, My project isn’t building with autodoc:
enable the virtualenv feature in the Admin page of your project, which will install your project into a virtualenv, and allow you to specify a requirements.txt file for your project.
Create requirements.txt in your repo and add nbsphinx to its contents. See https://github.com/spatialaudio/nbsphinx/blob/0.2.14/doc/requirements.txt#L2
After you commit and push item 2 to your repo, then RTD should install nbsphinx and be able to build your docs successfully, or at least proceed to the next failure if there is one.

how to properly register a github fork with Bower

A while back I had to use a jQuery plugin in my project. I needed some different functionality,
so I rewrote the plugin and a few days back I published a fork on github. I wanted to add the
package to the bower repository.
The forked repository
I added a bower.json file to the repository and registered the package with the usual "bower register" command.
The problem is, when I try to install my package, bower installs the original script and not the fork.
What I already tried:
At first I thought it's because I didn't make a release, so I fixed that part. But It didn't help.
I also tried to change the version number to the version number of the original script with no luck.
So maybe the bower.json file I wrote was not well written, right? My next attempt was using Bower to
make a propper bower.json file for me using "bower init". No luck.
So what could I be doing wrong?
The GitHub help page defines a fork as a method to use someone else's project as a starting point for your own idea.
That was my intention since I rewrote the plugin to be oo oriented and added some functionality, but 80% of the code
used is still from the original plugin and it didn't feel right to just make a new repository. Should I instead make a new repository
and will registering my repo with Bower work then?
What is the usual approach if you did some medium to major changes to a repository? Do you fork it or publish a new repo?
Do you still make a pull request even if the changes are bigger?
This worked for me :
Fork the repository
Clone on your disk
Increment the version number in bower.json (ex. 2.0.1)
Commit and push
Create a new version tag higher than the forked repository. ex: git tag "2.0.1"
Push : git push --tag
bower install "https://github.com/myname/forkedrepo.git#2.0.1"
You don't need to create a new repository. A fork will work fine.
But you can't overload on someone else's registered package name with bower. It does look like you've changed the name from onepage-scroll to onepage-scroll-extended though.
If you want to figure out what Bower knows about your package:
Do: bower info onepage-scroll-extended
{
name: 'onepage-scroll-extended',
homepage: 'https://github.com/itd24/onepage-scroll-extended',
version: '1.1.1'
}
Available versions:
- 1.1.1
- 1.0.1
Here you can see that it does not have the full bower.json manifest information and the latest information that it has is for version 1.1.1 (not 1.1.3, your latest).
This is because you don't have a v1.1.3 tag in your repository's master branch. I can see a v1.1.1 and v1.2 tag, but no v1.1.3 tag. Create that tag and push it up to GitHub to enable you to bower install that new version.
You may also need to re-run the bower register command to tell it to pick up the latest manifest. This should be happening automatically (AFAIK). You don't include the bower register command that you ran, perhaps you used the wrong repo URL there. You should use something like:
bower register onepage-scroll-extended git#github.com:itd24/onepage-scroll-extended.git