How we cobbled together a free Spectacularly Adequate Build Page.

This is a story of how we cobbled together a collection of free build bot apps for pygame - the python game development library. So the internet could build our software for us. Hey, many Free and Open Source projects might find this useful too... I thought... so here is the story.

Continuous integration is great. It's even greater when you have dozens of platforms, and many versions of a python interpreter you need to have things run on. It means your python 2 contributors on linux can see that their change broke an OS X build on python 3. Every change you make things get built for all the different platforms, and tests are run, installers are built, and packages are made.

In 2008 the pygame project had the great fortune for 'thorbrian' and some other contributors to set up a build page for Windows, and Mac. Two platforms which had sort of tricky python build setups not so commonly understood in the FOSS world.

"The Spectacularly Adequate Automated Pygame Build Page" was born. And it was spectacularly adequate. Everyone rejoiced.

We rejoiced in how spectacularly adequate it was.

So now people could download builds when we made changes. Then they could test them on their weird windows machine with directx N, and some strange AMD card they found in a rubbish bin somewhere.

Occasionally it would connect to the SVN code repository (yes, it was that old) and it would grab the code and do a build. Awesome. This was some years before things like TravisCI provided free infrastructure to the world (massive shoutout and thankyou the the travis mob).

But at some point a few years later the machines stopped building things. They crashed. Unfortunately no one was able to replace them.

So, a couple of years ago we began the slow process of finding a replacement. There were a few missteps. Of course! Trying to setup our own virtual machines. That worked for a little while. But VMs were changing at such a rate, and no one really had space to host machines that worked all that well. We even started on a project to let anyone upload a build. But this never was finished. We tried to get in contact with a few other python projects, and open source projects but no one was all that interested in replying to emails it seems.

So our project sort of stalled. This wasn't the only reason, but one big one. Without builds being made automatically we went back into the world of things breaking all the time, and waiting for random do-gooders of the internet to build packages for us.

Launchpad - Ubuntu GNU/linux.

Launchpad is a sort of code repository in the sky things for Ubuntu. You can use it for other things, but this is the main thing. It used to be based on the Bazaar version control language, but actually supports other things too.

Heard of PPA in the ubuntu world? That's what launchpad does, you can host .deb packages for linux. Not only can you host them, but you can get them built for you. Even on some strange architectures like PPC, and ARM. Pretty damn cool.

You can link up your code to be built by launchpad. Note, you'll need git, and not mecurial (last we tried it didn't work). So, because we are still using mecurial version control (hg) we had to have a git mirror of our hg repo.
https://code.launchpad.net/~pygame/+recipe/pygame-daily

Look at all the builds! This is just python3.
So now we have more than 16 builds happening just for python3. So we have PPA archives people can add to their ubuntu install, and pygame can be updated every time we make a change (which passes tests). Launchpad is a bit rough, but because it's used by Ubuntu I hope it will be around for quite some time.

Of course you need to have debian packaging files setup for your program to be packaged. But if you (or a maintainer) has done that, then it should be quite easy to do. Someone may already have even set up a PPA for their own personal use. So you might have zero work to do.

Another challenge we had is that a 'build badge' doesn't exist. You know the type which tells you if a build is breaking or not? So we had to write a little script which scrapes the build pages for us and creates a little svg file. Another cool thing about launchpad is that it links to the Ubuntu and Debian bug trackers. So you can search in there for any patches and bugs people contribute to those projects. (Often it is far easier for people to submit a patch or bug report to their distro rather than upstream).

Thanks launchpad, and thanks Canonical. You provide a great service to the world. Trillions of industry running on your backs. I owe many {insert_beverage_of_choice} to the people who keep this going.

Appveyor.

We use Appveyor or its windows build support. It also integrates really nicely with bitbucket, so we don't need to use the github mirror for this one.

Our build scripts for appveyor are in the appveyor directory of the pygame repository. We don't build all of the dependencies for windows automatically, since that would take quite some time. Lenard has produced some 'prebuilts', which are downloaded by Appveyor for us (see appveyor/install.ps1).

Thanks very much appveyor, for allowing open source projects to use their build system for free. The windows using world owes you!

Travisci

Travisci works with github, so that when a commit happens the builds are done and the tests are run.

We use Travisci for our mac builds and our manylinux builds.

Manylinux is a fairly new thing, which is a binary that will work on many versions of Linux. It does this by not linking to new library symbols in. You can find binary wheels on pypi marked with either  manylinux1_i686 or manylinux1_x86_64.

All the travisci related config for building pygame on there is held in .travis* files starting with .travis.yml.

homebrew

Homebrew is a package manager for Macs. It provides build scripts and binary packages so people don't need to build everything themselves from source all the time.

We use these scripts in our builds for the macs. This lets us use the mac build scripts in order that we can try to keep maintenance for these scripts inside homebrew itself.

Thanks very much to the homebrew pygame maintainers!

Other distros.

Other software distributions also build pygame for us. From raspbian, Debian, to Fedora, to homebrew, to exotic rewrites of BeOS . Each of these packagings are done by different people. We try to keep in touch with things going on by looking into their bug trackers from time to time.

A list of pygame bugtrackers for different distros is kept here: https://www.pygame.org/wiki/patchesandbugs However, this does not show the build status, or allow you to download packages. We don't maintain a list like that (but it's probably something we should do!).

Bringing it all together?

We put some badges into the readme, so that you can see if things are building or failing the build. You can also go from those links to download binaries. Also the Hacking wiki page is where we keep links to all the build pages and instructions for pygame developers.
The build badges in the readme, linking to travisci, launchpad, and appveyor.

Now, once again people can contribute to pygame without having to set up a dozen build environments. It is Spectacularly Adequate.



Thanks to Lenard Linstrom, Paul Craven, Thomas Kluyver, and others for getting this all up and going. As well as to the people who package pygame for all other platforms.

Comments

Nikita Soni said…
AVG key activation is a must through www.avg.com/retail webpage. avg.com/retail AVG antivirus offers advanced security program that blocks threats, identity theft viruses. avg.com/retail Know step by step process how to download, install and activate the AVG product. Enter your AVG license for AVG Retail. avg.com/retail If you need any assistance related to activation and installation of your AVG Antivirus you can visit at avg.com/retail.

Avg retail activation the technical world is improvising day by avg.com/retail day and as per the technology is improvising the online.A Complete Guide of avg.com/retail antivirus. AVG antivirus is the most trusted and prominent brand among other antivirus.AVG Antivirus, developed avg.com/retail AVG Technologies, is antivirus software that comes with highly advanced security tools. AVG is good for malware protection for AVG.
Nikita Soni said…

Amazon.com/mytv is a video streaming service available for Amazon Prime members. With an eligible Amazon Prime membership, you have access to thousands of Prime Video titles at no additional cost.Choose Register option on the Amazon website- to get a 5–6 character code, then sign in to your Amazon account and enter your code to enjoy watching your favorite movies at. amazon.com/mytv If you are facing any kind of issue regarding amazon tv registration, login or any other troubleshooting visit to get the best and simple way to resolve all your issues. We provide 24*7 services to our users.
Nikita Soni said…

Norton web security is commonly used antivirus gives the least requesting to use and most intutive affirmation for your PC and your mobiles .present it and negligence viruses,spyware,root-units - , Download norton 360 hackers.for more nuances visit norton.com/setup

You will use your Microsoft account for everything you do with Office . If you use a Microsoft service, such as Outlook.com, office.com/setup OneDrive, Xbox Live, or Skype, you already have an account.

To enact the Norton setup, select the Activate Now option at the base. To recharge the membership for Norton, select the Help choice and snap on Enter item key. Cautiously norton.com/setup type the right Norton item key in the clear. Snap on the Next catch.Go through with for more details.
Nikita Soni said…
Redeem McAfee for downloading & installing the software and activating its subscription. Visit mcafee.com/activate for more.Visit www.mcafee.com/activate to get the latest details of subscription plans. Download mcafee.com/activate install and activate McAfee at mcafee.com/activate.

Download Norton Mobile Security and Antivirus application that can shield your records from getting affected from any online malware or contamination norton setup product key.Go to the Norton Security norton.com/setup Online page and click Get Norton Security Online. Type in your Xfinity ID and password, if you're asked. Create a Norton account, then sign in. Choose whether you want to install it on this device or another one. Start your installation. Click Run norton.com/setup Let the program run. If Windows asks for permission, click Yes.
Nikita Soni said…
Amazon Instant Video application on your LG TV or Blu-ray Player and then Prime Instant Video to start watching. amazon.com/mytv Amazon.com/mytv is a registration portal of Amazon Prime from which members can watch thousands of movies and TV shows for amazon.com/mytv free from their device some features require a premium subscription. The instant video service can only be watched after registering your device with a simple subscription code.

Follow the below-stated steps to activate Amazon Prime Video on your Smart TV now: GO to the home page of the Smart TV and search for Amazon Prime Video. Amazon App will open in front of you. primevideo.com/mytv Here you will find “Register on the Amazon Website” and “Sign in and Start”.
Nikita Soni said…

Amazon.com mytv is a registration portal of Amazon Prime amazon.com/mytv from which members can watch thousands of movies and TV shows.

Giving users an unparalleled streaming experience, Team roku.com/link takes great pride in being the number one streaming service providers in the world.

To Activating Hulu, you have to visit www.hulu.com/activate. Enter the code offered on your hulu.com/activate TV screen and clue in to your Hulu account. Article by Activate.
Nikita Soni said…

Amazon Prime video is amazon's real time stage which is the primary contender of Netflix and other worldwide streaming channels.And also have and acct with amazon when do i do now. amazon.com/mytv Name of my tv - Answered by a verified TV Technician. We use cookies to give you the best possible experience on our website. amazon.com/mytv Exclusive content and Amazon Original series Enjoy exclusive movies and TV shows like The Grand amazon.com/mytv Tour and award-winning titles like The Man in the High Castle, Mozart in the Jungle, and Transparent.
Nikita Soni said…

The HBO Max content offering is a superset of what was available hbomax.com/tvsignin under the Now moniker, with the same $14.99 monthly subscription price.HBO Max is a new streaming service with an extensive library. hbomax.com/tvsignin Here's an HBO Max show and movies list including original series and more.To complete the HBO Max TV sign in process,hbomax.com/tvsignin choose the button below and then enter the code from your TV. The HBO Store offers free products sometimes ...

Complete the HBO Max TV sign in process by entering the code from your device. hbomax.com/tvsignin Watch and chat now with millions of other fans from around the world.‎HBO Max is the streaming platform that bundles all of HBO together with even hbomax.com/tvsignin more of your favorite TV series, blockbuster movies, plus new Max Originals.Complete the HBO Max TV sign in process by entering the code from your device. hbomax.com/tvsignin Catch hit movies, popular shows, live news, sports & more the web or on your ..
Nikita Soni said…
Aka.ms/mfasetup is a security enhancement that allows you to present at least aka.ms/mfasetup two pieces of evidence, or factors, to identify yourself when logging into an account. It is a method of confirming your identity by using a combination of two different factors – 1) Something you know (password) and 2) aka.ms/mfasetup something you have.Microsoft wrote it recently in their security blog. You have 99.9 percent less chance of a hacker Office 365 account if you don't have an MFA! A 2nd factor is really necessary. Often hackers already have your password in their possession. aka.ms/mfasetup Activating aka.ms/mfasetup to protect your identity is very important. If someone gets access to your mailbox this person can also misuse your identity. But important is not only to protect your mailbox but also your Google Account, your Facebook, aka.ms/mfasetup PayPal and other important accounts you use.
Nikita Soni said…

Get more from Microsoft 365 with Sherweb. microsoft365.com/setup Sherweb is a value-added cloud solutions provider dedicated to your success. Go through microsoft365.com/setup webpage, Sign in, and enter the product key to microsoft365.com/setup download and install Microsoft 365 or Office on your computer. Go through microsoft365 com setup webpage, Sign in, and enter the product key to download and install Microsoft 365 or Office on your computer.Click download and install Office at microsoft365.com/setup once you Sign In to Microsoft 365 account.Make sure you have created the account. Visit microsoft365.com/setup or microsoft365.com/setup, Enter the Office Setup product key & Sign in to download Microsoft Office.

Go to the link aka.ms/mfasetup If the shown credentials are not the ones you intend to use, then click Sign out and sign in with a different account.
Nikita Soni said…

We've made it easy to download HP printer software to set up HP printer Setup your printer. Enter your product name and we'll get you the right printer setup software and drivers.HP printer Setup Installing an HP Printer in Windows Using a USB Cable. Go to 123.hp.com, enter your printer model, and then follow the onscreen instructions to download your driver.Go to HP Customer Support - Software and Driver Downloads, enter HP printer Setup your printer model, if prompted, and then confirm the operating system version is correct.

Download the latest HP Printer Drivers drivers, software, firmware, and diagnostics for your HP printers from the official HP Support website.Download the latest and official HP Printer Drivers version of drivers for HP LaserJet P1007 Printer. This driver package is available for 32 and 64 bit PCs. It is compatible.HP Printer Drivers Drivers are software that help your computer work with devices. Learn more & download drivers for your Brother printer, scanner, or other device. HP Printer Drivers DRIVER EPSON PRINTER IPAD PRO FOR WINDOWS 10. Get started with your new printer by downloading the software. 
Nikita Soni said…

One of the issues people are seeing is a message telling them to visit Disneyplus.com/begin Here are the FOUR STEPS to follow if you see..Disney Plus is one of the most popular Disneyplus.com/begin streaming services in the world right now. With Disney Plus, you can enjoy the full catalog of Disney HD video content that.

The HP LaserJet P2015dn black and white network-based laser hp printer drivers printer is ... and the printer's drivers are compatible with both Mac and Windows-based systems.Download HP printer drivers or install DriverPack Solution software for driver scan and update. hp printer drivers Download DriverPack Online.
Nikita Soni said…
My Printer is a utility software that allows you to access and easily change the canon printer setup settings of your printer such as the paper source. Installation of My Printer is optional.

Visit Disneyplus Begin com if you want to create your account on Disney Plus or if you're looking to obtain some Disneyplus.com/begin information about it. Disney Plus is an on-demand, ad-free streaming service for Disney fans. Disneyplus.com/begin living a seemingly perfect suburban life, but soon begin to question.
Nikita Soni said…

Download HP - Photosmart Printer Software Drivers for Windows to update Photosmart HP Printer Drivers Software Suite and Driver.HP Deskjet 3510 Printer Driver, free and safe download. HP Printer Drivers HP Deskjet 3510 Printer Driver latest version: Officially licensed driver for the HP Deskjet 3510 printer. Download the latest and official version of drivers HP Printer Drivers for HP LaserJet 1100 Printer series. This driver package is available for 32 and 64 bit PCs.HP Officejet 4620 Printer series drivers, free and safe download. [HP Printer Drivers HP Officejet 4620 Printer series drivers latest version: Install the latest driver for HP officejet 4620. 
Nikita Soni said…
HP printers are used worldwide and is a popular name in printing industry. HP printer setup All drivers for HP printers are available to download for free on official HP website.Connect your HP printer with Google Cloud Print. HP printer setup If your cloud ready printer is an HP ePrint printer, connecting to Google Cloud Print is as simple as entering ...The easiest way to install an HP printer is to start by going to Printer HP printer setup setup from the HP® Official site and follow the instructions to install your printer.Printer driver for color printing in Windows. HP printer setup It supports HP PCL 5c commands. Basically, this is the same driver as PCL5e with color printing functionality added.On HP printers with HP printer setup built-in displays, you can also access the HP Wireless Setup Wizard by navigating to your printer’s Network options.

Canon Printer Drivers along with the software should be canon printer drivers installed in order to facilitate seamless communication between devices.
Nikita Soni said…
Activating McAfee Antivirus. McAfee provides a 25-digit activation key for the mcafee.com/activate purchased McAfee products. It is available ...Get started with McAfee security. Follow the steps for mcafee.com/activate downloading. installing and activating McAfee setup.Get security from online-threats like viruses with McAfee antivirus. Download, install, and activate it on mcafee.com/activate Reach the link www.mcafee.com/activate to download and install McAfee. mcafee.com/activate Input product key via the link mcafee.com/activate to get McAfee activated.mcafee.com/activate products remain the most stable and reliable protection solutions over the world. As the digital world starts the importance of internet ...

Hp Printer Install Download free download - HP LaserJet 1020 Printer Driver, HP LaserJet HP printer Setup Pro P1102 Printer Driver, HP P2035 Laser Printer Driver, and many more programs
Nikita Soni said…

Watch TV shows and movies online. Stream TV episodes of Grey's Anatomy, This Is Us, Bob's Burgers, Brooklyn Nine-Nine, Empire, SNL, and popular hulu.com/activate movies on your favorite devices.As soon as Hulu activation is done you can start streaming at the same time. Your device is now activated and you can enjoy favourite movies, live matches and shows hulu.com/activate on your TV via Hulu.Click Activate Now and add Hulu to your account. You will receive a text message with an activation link. hulu.com/activate This is a required step to access your Hulu subscription and all its benefits.
Nikita Soni said…
Download Hp Printer Drivers For For Windows 10 . Free and safe download. hp printer drivers Download the latest version of the top software, games, programs and apps in 2021.

Visit mcafee.com/activate to successfully download, install, and activate your McAfee product. Get all-round protection from www.mcafee.com/activate.Visit mcafee.com/activate or www.mcafee.com/activate to download, install & activate mcafee antivirus on windows or mac PC using Code.

A startpage with online resources about portal.office.com Site details, Ranking, News feeds and Widgets, created by start.me.
Nikita Soni said…
Office 365 is a line of subscription services offered by Microsoft as part of the Microsoft microsoft365.com/setup Office product line. The brand encompasses plans that allow use of the ...
Learn about Microsoft 365, which teams collaboration software with the full Office suite of Microsoft Office 365 apps in one microsoft365.com/setup integrated solution.Office 365 helps you and your employees work together more effectively. Office 365 is a Cloud-based productivity suite that combines the microsoft365.com/setup latest edition of Microsoft ...Office 365 is a platform that delivers a range of integrated productivity, collaboration and cloud microsoft365.com/setup storage apps that can be accessed from your desktop computer, ...

The portal.office.com is designed to spread awareness regarding Microsoft Office. As we do not have any affiliation with portal.office.com the use of logos and images is just for information.visit the most interesting Portal Office pages, well-liked by users from USA and India, or check the rest of portal.office.com data below.Portal.office.com is a web project.
Slot said…
นับถือมาก
สมัครสล็อต

Popular posts from this blog

Draft 3 of, ^Let's write a unit test!^

Is PostgreSQL good enough?

post modern C tooling - draft 6