samth
2019-12-2 09:31:03

@pocmatos I think even if AppVeyor is currently testing something different than Actions, we should get rid of it now and think about expanding platform coverage later subsequently.


pocmatos
2019-12-2 09:35:12

@samth I am looking at this.


pocmatos
2019-12-2 09:35:56

I think AppVeyor work is already covered by CI PR but not by CI Push. Although we run on a more recent VS installation. Appveyor on VS2012 and Actions in VS2019


samth
2019-12-2 09:36:46

I thought we did everything on Push that we did on PR? Or did you mean that the other way around?


samth
2019-12-2 09:37:07

And we probably care about VS2012 as well, but I don’t know that we care enough to run CI for it.



pocmatos
2019-12-2 09:37:43

Everything on PR is on Push except windows testing. Coming later on this evening.


samth
2019-12-2 09:37:57

Ah, ok.


pocmatos
2019-12-2 09:38:13

Do we care specifically for VS2012? Or do we just care for all version since 2012?


pocmatos
2019-12-2 09:38:44

Since I don’t use Windows at all, I am a bit lost as to what to test here (or even how to test specific VS versions).


samth
2019-12-2 09:39:10

Well, probably (a) we care generally about “older things” but without a specific policy and (b) VS2012 support implies it will work for later ones in “most” cases


pocmatos
2019-12-2 09:42:09

OK - Maybe we can try to add support for 2012 as well (on an upcoming nightly CI doing also emulation) and on push and pr test keep testing only 2019. What do you think?


samth
2019-12-2 09:43:19

That seems good to me. It might be worth trying to write down (in the new “build guide” @mflatt wrote) what systems/compilers are supported.


pocmatos
2019-12-2 09:43:57

Yes - I was actually going to update later on this page: https://github.com/racket/racket/wiki/Continuous-Integration


pocmatos
2019-12-2 09:44:13

I will add a summarized version to the build guide as well - it makes sense.


pocmatos
2019-12-2 09:47:40

By the way, do you know why we keep libffi in repo, given it’s something that the user can easily install? It would be better not to have these external deps in repo, as it create weak points in our code. Things like upstream bug fixes are not reflected in repo, etc. Also, makes me think we should test racket with upstream libffi and inrepo libffi, to cover our basis - however this will really increase the total number of jobs.


samth
2019-12-2 09:50:58

I think there are some patches, and it makes it easier to build Racket (esp on platforms like Windows)


pocmatos
2019-12-2 09:52:22

Argh… feel like cursing Windows. OK.


samth
2019-12-2 09:53:56

I think even on MacOS it’s not as easy to install build dependencies


samth
2019-12-2 09:54:56

I disabled AppVeyor as well


pocmatos
2019-12-2 09:55:35

Thanks.


pocmatos
2019-12-2 09:56:08

I have a busy day today but I will look at this again in the evening. Talk to you later.


samth
2019-12-2 09:57:20

@pocmatos one other thing — we have our quarterly Racket Core meeting today (I’m actually at the airport right now). Anything CI (or not-CI) related I should bring up?


pocmatos
2019-12-2 09:59:08

Yes - thanks for asking.


pocmatos
2019-12-2 10:00:41

I think it is important for the long term Racket project stability (which is directly related to CI) to be clear about what platform configurations (OS/Compilers/Compiler versions/Machine Architectures) we support.


pocmatos
2019-12-2 10:01:57

Of course, I can come up with a list (mostly it will be the things that I can test) but I think it would be ideal for the core team to say something like “I think it is important for us to support this list of configurations.” Doesn’t need to be straightaway but it would be important to have.


pocmatos
2019-12-2 10:02:05

This could drive not only CI but also future patches.


pocmatos
2019-12-2 10:03:17

There have been situations where patches were refactored because we want to support platforms that are impossible for us to test QNX. From a CI perspective this is suboptimal because from a CI pov - if it’s not tested, it doesn’t work. (or it will stop working soon).


pocmatos
2019-12-2 10:03:41

Also, patches that were changed because we need to support ANSI C or an old GCC.


pocmatos
2019-12-2 10:04:27

I think for CI sake and the sake of contributors (current and future ones) we need to have a set of platforms we support and that needs to be decided or at least approved by the core team.


pocmatos
2019-12-2 10:05:09

Again, I can come up with a proposal if the core team has better things to think about, but it should be approved and agreed with the core team.


pocmatos
2019-12-2 10:07:07

A good start if for the core team to look at rktio_platform.h


pocmatos
2019-12-2 10:07:19

Do we want to say we support all of that?


pocmatos
2019-12-2 10:07:28

If so, then we need to think how to test that.


pocmatos
2019-12-2 10:07:40

If not, lets write down what we support and remove it from the code base.


pocmatos
2019-12-2 10:08:17

Have a safe journey.


samth
2019-12-2 10:11:55

Thanks. I’ll bring this up. With that said, I’m pretty sure that Matthew will say the following: A list of currently-known supported platforms is a good idea, and he’ll volunteer to add that to the build guide. We (= you and me) should add something about tested platforms there as well. But he won’t want to remove code because even if it doesn’t work currently (likely, as you say) it contains useful knowledge about what it would take to fix that platform (such as QNX). Except in the case of platforms that we’re confident we don’t plan to support in the future (such as Windows XP, I think).


pocmatos
2019-12-2 10:16:42

Understood. I am not sure I fully understand his point of view on keeping code which is mostly likely broken given that with source code revision we can always go back in time to see how we did QNX (or others) if we ever need to support them again. Hopefully one day we’ll have the opportunity to discuss this face-to-face. Some things tend to get lost when discussions happen over the wire so I might be missing something important.


samth
2019-12-2 10:17:53

Come to RacketCon in the fall!


pocmatos
2019-12-2 10:17:54

In any case, your proposal of having a core team supported platforms list and a tested plaforms list is great. I would like prefer if they are both one and the same - the CI dream. :-)


samth
2019-12-2 10:18:33

Also, hopefully several people will be at PLDI in London this year


pocmatos
2019-12-2 10:18:34

I will come to RacketCon this year - yes.


pocmatos
2019-12-2 10:18:40

as in 2020


samth
2019-12-2 10:18:50

submit a talk!


pocmatos
2019-12-2 10:20:04

Sure! Who should I submit it to?


samth
2019-12-2 10:20:25

The call will happen in a few months, so you have a while :slightly_smiling_face:


pocmatos
2019-12-2 10:20:38

Ah - fair enough. :slightly_smiling_face:


pocmatos
2019-12-2 10:47:08

@samth appveyor needs to be disabled somewhere: https://ci.appveyor.com/project/plt/racket/builds/29247024


samth
2019-12-2 10:51:02

That happened before I disabled it


pocmatos
2019-12-2 10:53:29

Ah ! Thanks


philip.mcgrath
2019-12-2 20:54:20

@philip.mcgrath has joined the channel