You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by Michael Smith <mi...@smith-li.com> on 2021/01/01 16:32:22 UTC

GitHub Actions

I merged AVRO-3009 as discussed in the recent thread. As it turns out,
some things that had worked in my tests and work generally are not
enabled by infra. Thus, some languages' tests are not able to run.
Also, the C test failed with

Could not transfer artifact org.apache.commons:commons-lang3:jar:3.7
from/to central (https://repo.maven.apache.org/maven2): Transfer
failed for https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.7/commons-lang3-3.7.jar:
Connection reset -> [Help 1]

which I think is due to rate limiting, because it succeeded for other
tests trying to do the same thing. This jar should be cached, but it
may not have had a chance to get into the cache yet.

If anyone wants to help, the language-specific setups for each test
could be smoother I'm sure.

Re: GitHub Actions

Posted by Ryan Skraba <ry...@skraba.com>.
This is an amazing gift for us after holiday vacations!  Thanks so much
Michael for this work!

Although I think the RPC interop tests are pretty important for validation,
I don't think they've caught very many bugs in the past and it's not
critical (in my opinion) to restore them immediately.

It would be really cool to run the perf tests on master periodically and
collect the results.  Perhaps the RPC interop tests could be part of that
process?  I don't think it's necessary to do perf and interop tests to
validate every PR.

I'd propose keeping our ubertool docker image, even if it's not part of the
Avro CI process anymore, for two reasons!

1. It's a way to "prove" the requirements to build Avro (also noted in
BUILD.md, but I'd be just as happy seeing the Dockerfile as the source or
truth), and

2. It's checked into github, so it's easy to find which dependencies/etc
were used to build a specific release for reproducibility (to some
degree... we aren't rigorous about pinning versions).

I haven't investigated thoroughly -- are the nektos/act docker images and
process just as good for the above?

BTW, Travis hasn't been green in a month, I don't see any value in
reactivating it today.

Once again, thanks SO much!  Ryan


On Mon, Jan 4, 2021 at 3:02 PM Michael A. Smith <mi...@smith-li.com>
wrote:

> On Mon, Jan 4, 2021 at 4:57 AM Ismaël Mejía <ie...@gmail.com> wrote:
> >
> > Excellent work / idea / development. 2021 starting great !
> >
> > I really like the idea of devs not having to wait for the all
> > languages build to have feedback earlier, but we probably need an
> > extra action for interop tests and that should match the supported
> > languages.
>
> We have a pretty large matrix of tests in Actions: We run both the
> main unit tests for each language as well as the interop data tests.
> The only thing we don't run is the tests in share:
>
>
> https://github.com/apache/avro/blob/master/share/test/interop/bin/test_rpc_interop.sh
> and
> https://github.com/apache/avro/blob/master/share/test/run-perf.sh
>
> I had some work in progress on the test_rpc_interop.sh, but decided to
> defer it because
>
> 1. I want a chance to drop py3 and replace it with lang/py's
> implementation, but haven't gotten around to it yet.
> 2. Setting up an action with a container with three different
> languages is tough, and we're already seeing heavy queueing with the
> tests we have.
> 3. It only seems to do java, ruby and py3, and wasn't the primary
> reason why travis was regularly failing.
>
> > We still need to discuss two more things:
> >
> > - What is the future of the docker image? I really like to be able to
> > test locally and it is a must when doing a release, but I am not sure
> > about the 'double' maintenance.
>
> I think Fokko recommended using https://github.com/nektos/act, to run
> github actions locally. It isn't perfect (for one thing, the base
> image is huge), but I think after some experience it will get
> smoother, and it is already better than building our own giant image.
> I can put together a quick PR with a default .actrc that will make it
> basically functional, if slow.
>
> > - What is the criteria to disable travis (and when)?
>
> I already disabled travis. Did you want to put it back? I feel it's
> hampering contributions.
>
> > On Fri, Jan 1, 2021 at 5:52 PM Michael Smith <mi...@smith-li.com>
> wrote:
> > >
> > > Oh, and Happy New Year, everybody!
> > >
> > > I've opened Jira tickets for Perl, PHP and C, and have opened an Infra
> > > ticket for the PHP issue, which will inform what we can do about both
> > > PHP and Perl. The C issue may resolve itself if we try again later,
> > > but if it persists I will try to make the caching more aggressive.
> > >
> > > In the good news column, Actions appear to be working well for Rat,
> > > Ruby, Java, C#, JavaScript, C++ and Python.
> > >
> > > On Fri, Jan 1, 2021 at 12:32 PM Michael Smith <mi...@smith-li.com>
> wrote:
> > > >
> > > > I merged AVRO-3009 as discussed in the recent thread. As it turns
> out,
> > > > some things that had worked in my tests and work generally are not
> > > > enabled by infra. Thus, some languages' tests are not able to run.
> > > > Also, the C test failed with
> > > >
> > > > Could not transfer artifact org.apache.commons:commons-lang3:jar:3.7
> > > > from/to central (https://repo.maven.apache.org/maven2): Transfer
> > > > failed for
> https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.7/commons-lang3-3.7.jar
> :
> > > > Connection reset -> [Help 1]
> > > >
> > > > which I think is due to rate limiting, because it succeeded for other
> > > > tests trying to do the same thing. This jar should be cached, but it
> > > > may not have had a chance to get into the cache yet.
> > > >
> > > > If anyone wants to help, the language-specific setups for each test
> > > > could be smoother I'm sure.
>

Re: GitHub Actions

Posted by "Michael A. Smith" <mi...@smith-li.com>.
On Mon, Jan 4, 2021 at 4:57 AM Ismaël Mejía <ie...@gmail.com> wrote:
>
> Excellent work / idea / development. 2021 starting great !
>
> I really like the idea of devs not having to wait for the all
> languages build to have feedback earlier, but we probably need an
> extra action for interop tests and that should match the supported
> languages.

We have a pretty large matrix of tests in Actions: We run both the
main unit tests for each language as well as the interop data tests.
The only thing we don't run is the tests in share:

https://github.com/apache/avro/blob/master/share/test/interop/bin/test_rpc_interop.sh
and
https://github.com/apache/avro/blob/master/share/test/run-perf.sh

I had some work in progress on the test_rpc_interop.sh, but decided to
defer it because

1. I want a chance to drop py3 and replace it with lang/py's
implementation, but haven't gotten around to it yet.
2. Setting up an action with a container with three different
languages is tough, and we're already seeing heavy queueing with the
tests we have.
3. It only seems to do java, ruby and py3, and wasn't the primary
reason why travis was regularly failing.

> We still need to discuss two more things:
>
> - What is the future of the docker image? I really like to be able to
> test locally and it is a must when doing a release, but I am not sure
> about the 'double' maintenance.

I think Fokko recommended using https://github.com/nektos/act, to run
github actions locally. It isn't perfect (for one thing, the base
image is huge), but I think after some experience it will get
smoother, and it is already better than building our own giant image.
I can put together a quick PR with a default .actrc that will make it
basically functional, if slow.

> - What is the criteria to disable travis (and when)?

I already disabled travis. Did you want to put it back? I feel it's
hampering contributions.

> On Fri, Jan 1, 2021 at 5:52 PM Michael Smith <mi...@smith-li.com> wrote:
> >
> > Oh, and Happy New Year, everybody!
> >
> > I've opened Jira tickets for Perl, PHP and C, and have opened an Infra
> > ticket for the PHP issue, which will inform what we can do about both
> > PHP and Perl. The C issue may resolve itself if we try again later,
> > but if it persists I will try to make the caching more aggressive.
> >
> > In the good news column, Actions appear to be working well for Rat,
> > Ruby, Java, C#, JavaScript, C++ and Python.
> >
> > On Fri, Jan 1, 2021 at 12:32 PM Michael Smith <mi...@smith-li.com> wrote:
> > >
> > > I merged AVRO-3009 as discussed in the recent thread. As it turns out,
> > > some things that had worked in my tests and work generally are not
> > > enabled by infra. Thus, some languages' tests are not able to run.
> > > Also, the C test failed with
> > >
> > > Could not transfer artifact org.apache.commons:commons-lang3:jar:3.7
> > > from/to central (https://repo.maven.apache.org/maven2): Transfer
> > > failed for https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.7/commons-lang3-3.7.jar:
> > > Connection reset -> [Help 1]
> > >
> > > which I think is due to rate limiting, because it succeeded for other
> > > tests trying to do the same thing. This jar should be cached, but it
> > > may not have had a chance to get into the cache yet.
> > >
> > > If anyone wants to help, the language-specific setups for each test
> > > could be smoother I'm sure.

Re: GitHub Actions

Posted by Ismaël Mejía <ie...@gmail.com>.
Excellent work / idea / development. 2021 starting great !

I really like the idea of devs not having to wait for the all
languages build to have feedback earlier, but we probably need an
extra action for interop tests and that should match the supported
languages.

We still need to discuss two more things:

- What is the future of the docker image? I really like to be able to
test locally and it is a must when doing a release, but I am not sure
about the 'double' maintenance.
- What is the criteria to disable travis (and when)?

On Fri, Jan 1, 2021 at 5:52 PM Michael Smith <mi...@smith-li.com> wrote:
>
> Oh, and Happy New Year, everybody!
>
> I've opened Jira tickets for Perl, PHP and C, and have opened an Infra
> ticket for the PHP issue, which will inform what we can do about both
> PHP and Perl. The C issue may resolve itself if we try again later,
> but if it persists I will try to make the caching more aggressive.
>
> In the good news column, Actions appear to be working well for Rat,
> Ruby, Java, C#, JavaScript, C++ and Python.
>
> On Fri, Jan 1, 2021 at 12:32 PM Michael Smith <mi...@smith-li.com> wrote:
> >
> > I merged AVRO-3009 as discussed in the recent thread. As it turns out,
> > some things that had worked in my tests and work generally are not
> > enabled by infra. Thus, some languages' tests are not able to run.
> > Also, the C test failed with
> >
> > Could not transfer artifact org.apache.commons:commons-lang3:jar:3.7
> > from/to central (https://repo.maven.apache.org/maven2): Transfer
> > failed for https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.7/commons-lang3-3.7.jar:
> > Connection reset -> [Help 1]
> >
> > which I think is due to rate limiting, because it succeeded for other
> > tests trying to do the same thing. This jar should be cached, but it
> > may not have had a chance to get into the cache yet.
> >
> > If anyone wants to help, the language-specific setups for each test
> > could be smoother I'm sure.

Re: GitHub Actions

Posted by "Michael A. Smith" <mi...@smith-li.com>.
Just an update, the Perl and PHP issues have been resolved, thanks to quick
responses from Apache infra. The c problem was (as I suspected) rate
limiting, and will probably only happen occasionally, but we'll have to
decide if it's happening enough to warrant action.



On Fri, Jan 1, 2021 at 11:52 Michael Smith <mi...@smith-li.com> wrote:

> Oh, and Happy New Year, everybody!
>
> I've opened Jira tickets for Perl, PHP and C, and have opened an Infra
> ticket for the PHP issue, which will inform what we can do about both
> PHP and Perl. The C issue may resolve itself if we try again later,
> but if it persists I will try to make the caching more aggressive.
>
> In the good news column, Actions appear to be working well for Rat,
> Ruby, Java, C#, JavaScript, C++ and Python.
>
> On Fri, Jan 1, 2021 at 12:32 PM Michael Smith <mi...@smith-li.com>
> wrote:
> >
> > I merged AVRO-3009 as discussed in the recent thread. As it turns out,
> > some things that had worked in my tests and work generally are not
> > enabled by infra. Thus, some languages' tests are not able to run.
> > Also, the C test failed with
> >
> > Could not transfer artifact org.apache.commons:commons-lang3:jar:3.7
> > from/to central (https://repo.maven.apache.org/maven2): Transfer
> > failed for
> https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.7/commons-lang3-3.7.jar
> :
> > Connection reset -> [Help 1]
> >
> > which I think is due to rate limiting, because it succeeded for other
> > tests trying to do the same thing. This jar should be cached, but it
> > may not have had a chance to get into the cache yet.
> >
> > If anyone wants to help, the language-specific setups for each test
> > could be smoother I'm sure.
>

Re: GitHub Actions

Posted by Michael Smith <mi...@smith-li.com>.
Oh, and Happy New Year, everybody!

I've opened Jira tickets for Perl, PHP and C, and have opened an Infra
ticket for the PHP issue, which will inform what we can do about both
PHP and Perl. The C issue may resolve itself if we try again later,
but if it persists I will try to make the caching more aggressive.

In the good news column, Actions appear to be working well for Rat,
Ruby, Java, C#, JavaScript, C++ and Python.

On Fri, Jan 1, 2021 at 12:32 PM Michael Smith <mi...@smith-li.com> wrote:
>
> I merged AVRO-3009 as discussed in the recent thread. As it turns out,
> some things that had worked in my tests and work generally are not
> enabled by infra. Thus, some languages' tests are not able to run.
> Also, the C test failed with
>
> Could not transfer artifact org.apache.commons:commons-lang3:jar:3.7
> from/to central (https://repo.maven.apache.org/maven2): Transfer
> failed for https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.7/commons-lang3-3.7.jar:
> Connection reset -> [Help 1]
>
> which I think is due to rate limiting, because it succeeded for other
> tests trying to do the same thing. This jar should be cached, but it
> may not have had a chance to get into the cache yet.
>
> If anyone wants to help, the language-specific setups for each test
> could be smoother I'm sure.