-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use Git LFS for the videos #58
Comments
Yes, this is not a great solution. Wondering if it’s better to just host them on YouTube. There’s not a lot of practical game and having them here. maybe Bitcoin.tv |
I just tried this in my fork at https://github.com/fiatjaf/bitcoinbinary.alt and it seems to be working:
It rewrites the entire history to remove the actual files and replace them with links that point to the actual files which are then stored on GitHub somewhere. The external links keep working. Going forward all .webm videos will be LFSed automatically. If rewriting history is unacceptable we can also just do LFS for files added from now going forward. |
That’s acceptable, the only challenge it is GitHub specific. Other hosted git alternatives may not support it. But even with that in mind, shouldn’t be a big deal. Are you willing to spend time on the GitHub actions bot to support it? |
Gitea, GitLab and BitBucket all support LFS apparently, but this repository is already so dependent on the GitHub Actions bot that I don't know if that matters much. Anyway, there are two other minor problems:
|
Yes, would have to pay which is not a huge deal but could easily become out of control with more projects being added. Maybe videos to to youtube and we only keep the most recent build version video here (which is what counts anyways.) |
But I really like the automated build videos! Have you thought about asciinema? That could work well, it records just the terminal, doesn't use a lot of space and we can even embed a JS player on the website for the recordings. It's also easy to record manually from people's own computers. I can try to get it working if you think it's a good idea. |
I have not played with that one. Maybe the past version archive is in asciinema while the latest tweeted version is video? |
Just saw this discussion and thought I'd mention just in case – the Twitter video gets uploaded from the GH Actions runner's ephemeral storage, and is not reliant on any file committed to the repo. So from that point of view, everything stored could be in asciinema format. |
@siim-m I just did that on fiatjaf@2a3a108. It generates the mp4 video and uploads to Twitter, then references the tweet from the HTML and also the asciinema The only problem is that using the asciinema JS player on the HTML page is not working, I think it's because GitHub refuses to let us load the asciinema file from JS: https://raw.githack.com/fiatjaf/bitcoinbinary.org/main/index.html, so now I'm thinking of uploading them to asciinema.com too. |
Wait, nevermind, it will work if the repository is published as a GitHub Page. Is that the case? Then this will work. |
I do believe it should be hosted on GH Pages (considering the CNAME file in the repo). @nvk can you confirm? I don't have enough permissions on repo to see the Pages related stuff. If that's the case, I think we could just reference the relative path of the .cast file rather than going via Githack. I haven't used that JS player before and don't know how it works but if you need help I'm happy to dig in and have a go. |
Yes. It’s hosted here. See your new permissions. |
Ooops, just checked, @siim-m you were admin already. |
OK, I got this working after a million attempts. Please take a look: https://fiatjaf.github.io/bitcoinbinary.org/ I've also changed the I did that such that the I've then deleted all entries from I don't understand why. I've double-checked and all projects seem to be set up for taking the sha256 in the same way, it is a mystery to me why that has worked for some and not for others. Do you have any ideas, @siim-m? (Blockstream Green, Bitcoin Core and CLN are showing the old |
That looks cool! Pretty clever how that JS player works.
Not very familiar with that part of the script, unfortunately. I'll have some more time tomorrow, so will take a closer look and see if I can find anything. |
@fiatjaf looks like it's due to various different issues and I believe they are all unrelated to what you were working on (some of them can be seen missing on the actual site as well). Below are two examples that I looked at in more detail and I suspect the others are similar. Example 1 - LNDIn # ...
GOPATH=~/go # Adding this line fixed the issue
SHA256=`shasum -a 256 $GOPATH/bin/lnd | cut -f 1 -d ' '`
# ... Example 2 - MyceliumLooking at the end of the video, looks like it didn't even build, so there would be no binary to hash. I suspect the reason is that in - name: Setup Java 8 (for Simple Bitcoin Wallet, Mycelium)
if: ${{ matrix.project == 'simple-bitcoin-wallet' || matrix.project == 'mycelium-android' }}
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '8' But in export JAVA_HOME=/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/8.0.332-9/x64 On the live site there is a SHA256 value for Mycelium, so I suspect that since then there was a minor release of Java 8 and that's why it has broken. |
When are we going to deploy this? |
@fiatjaf, could you do a PR from your fork and I'll try to get it deployed? Note we don't want Git LFS but asciinema is fine. |
The repository is getting very heavy with all these video proofs. Git LFS supposedly solves that. Is that desirable? If yes I can try to add it.
The text was updated successfully, but these errors were encountered: