GithubHelp home page GithubHelp logo

Image out of date about containers HOT 8 CLOSED

foldingathome avatar foldingathome commented on July 17, 2024
Image out of date

from containers.

Comments (8)

RJSzynal avatar RJSzynal commented on July 17, 2024

If it's any help, you can get the latest version number using the following command so that the dockerfile will always just get whatever is the latest:
curl -s https://download.foldingathome.org/ | grep "debian-stable-64bit" | grep -Po '(?<=fahclient_)\d.\d.\d'

from containers.

beberg avatar beberg commented on July 17, 2024

As mentioned in the README, the containers follow the latest STABLE releases of clients. Right now the benchmark for that is 2 weeks without a fix. So it's intentional the containers aren't following along since the bugs are worse when you have 1000 of them running at a time.

As soon as the 7.6.x client reaches a stable state, the client versions and checksums will be updated.

from containers.

RJSzynal avatar RJSzynal commented on July 17, 2024

I'm not sure I understand. 7.6 is the latest stable version: https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-64bit/v7.6/fahclient_7.6.9_amd64.deb

from containers.

RJSzynal avatar RJSzynal commented on July 17, 2024

Also, correct image tagging should give the user the option to run whatever version they want.
I recommend creating 3 tags per build (Major.Minor.Patch, Major.Minor, and Major) to allow people to chose what they follow then update the latest tag when you're happy that it is stable. You could also perhaps have some sort of next type tag which is the latest build without the 2 week wait.

from containers.

RJSzynal avatar RJSzynal commented on July 17, 2024

If it helps, here is a Makefile which builds various images: https://github.com/RJSzynal/dockerfiles/blob/master/makefile
Feel free to copy anything from there.
I would also recommend including whatever you use to actually build the image in this repo (makefile, CI script, whatever) so that people can see how it is built and can make improvement PRs.

For this project I would recommend the following:

	version=$$(curl -s https://download.foldingathome.org/ | grep "debian-stable-64bit" | grep -Po '(?<=fahclient_)\d.\d.\d') && \
	docker build -t foldingathome/fah-gpu:$${version} -t foldingathome/fah-gpu:$${version%.*} -t foldingathome/fah-gpu:$${version%%.*} -t foldingathome/fah-gpu:latest . && \
	docker push foldingathome/fah-gpu:$${version} && \
	docker push foldingathome/fah-gpu:$${version%.*} && \
	docker push foldingathome/fah-gpu:$${version%%.*} && \
	docker push foldingathome/fah-gpu:next

If it auto-builds nightly then you'll always have the newest versions available without having to do anything.
Then you can manually execute the following when you want to tag latest:

docker tag foldingathome/fah-gpu:7.6.9 foldingathome/fah-gpu:latest
docker push foldingathome/fah-gpu:latest

Hopefully this is all helpful in reducing the mount of hands-on maintenance this project will require, freeing up you time to work on improvements or other projects.

from containers.

RJSzynal avatar RJSzynal commented on July 17, 2024

Ah, I've just realised that the https://download.foldingathome.org/ json returns the previous version and that this must be what you meant by the 2 week delay.
Apologies for the misunderstanding, I was confused by the fact that the new version is incorrectly under the https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-64bit route instead of the https://download.foldingathome.org/releases/public/release/fahclient/debian-testing-64bit

In that case, my last example could just tag the build with latest.

from containers.

beberg avatar beberg commented on July 17, 2024

The team has agreed to a 2-week stabilization period. Now mentioned in the top level README. 7.6.12 is in beta, so that threshold isn't met yet.

We aren't yet committed to following strict Semantic Versioning. Once that is the case, there will be the familiar 7, 7.5, 7.5.1 style tags, before that it would be misleading. This will probably get sorted out after 7.6 solves the immediate COVID needs.

We have talked about a nightly tag, but it comes with some issues. Nightly client builds need to be watched carefully and monitored. Install/uninstall/upgrade test cycles, performance monitoring, etc. Often with short work units, and with tight coordination with the development team. All of those things are much easier with the standard clients than with containers.

from containers.

RJSzynal avatar RJSzynal commented on July 17, 2024

Thank you for explaining that, I can appreciate it now although I would say that people using a nightly build know exactly what they're getting into and don't expect a stable experience.

from containers.

Related Issues (17)

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.