You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by GitBox <gi...@apache.org> on 2020/12/20 04:29:46 UTC

[GitHub] [avro] kojiromike opened a new pull request #1043: AVRO-3009 Test in GitHub Actions

kojiromike opened a new pull request #1043:
URL: https://github.com/apache/avro/pull/1043


   ### Jira
   
   - [x] My PR addresses [AVRO-3009](https://issues.apache.org/jira/browse/AVRO-3009/).
   - [x] My PR depends on GitHub Actions.
   
   ### Tests
   
   - [x] My PR is about the build/test system.
   
   ### Commits
   
   - [x] My commits reference the JIRA issue.
   - [x] In addition, my commits follow the guidelines from "[How to write a good git commit message](https://chris.beams.io/posts/git-commit/)":
     1. Subject is separated from body by a blank line
     1. Subject is limited to 50 characters (not including Jira issue reference)
     1. Subject does not end with a period
     1. Subject uses the imperative mood ("add", not "adding")
     1. Body wraps at 72 characters
     1. Body explains "what" and "why", not "how"
   
   ### Documentation
   
   - [ ] In case of new functionality, my PR adds documentation that describes how to use it.
     - All the public functions and the classes in the PR contain Javadoc that explain what it does
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [avro] kojiromike commented on a change in pull request #1043: AVRO-3009 Test in GitHub Actions

Posted by GitBox <gi...@apache.org>.
kojiromike commented on a change in pull request #1043:
URL: https://github.com/apache/avro/pull/1043#discussion_r546398701



##########
File path: .github/workflows/test-lang-c++.yml
##########
@@ -0,0 +1,44 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more

Review comment:
       I can. Do you want me to move the lang directory as well?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [avro] potiuk commented on a change in pull request #1043: AVRO-3009 Test in GitHub Actions

Posted by GitBox <gi...@apache.org>.
potiuk commented on a change in pull request #1043:
URL: https://github.com/apache/avro/pull/1043#discussion_r546799686



##########
File path: .github/workflows/test-lang-java.yml
##########
@@ -0,0 +1,99 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: 'Test Java'
+on:
+  workflow_dispatch:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+    paths:
+    - lang/java/**
+
+defaults:
+  run:
+    working-directory: lang/java
+
+jobs:
+  test:
+    name: Java ${{ matrix.java }} Test
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        java:
+        - '8'
+        - '11'
+    steps:
+      - uses: actions/checkout@v2
+
+      - name: Cache Local Maven Repository
+        uses: actions/cache@v2
+        with:
+          path: ~/.m2/repository
+          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+          restore-keys: |
+            ${{ runner.os }}-maven-

Review comment:
       The reason for using the "restore-keys" might be when you want to optimize time of cache rebuilding.
   
   Caches in GA are immutable. Once you create them,  they can never change. This means that when any of your pom.xml changes (or file is added there) you have to start building the cache from the scratch. 
   
   The "restore-keys" is useful in case you have some "base" cache that you want to start from if you have new files affecting "hashFiles" calucation. 
   
   
   But for that you need at least once have the build that had no  '/pom.xml. files' at all. Then the hashFiles() function would return an empty string and that would become your 'base' cache that you want to start from. 
   
   In your case, this could be really useful if your cache consists of a lot of "common" files and only incremental changes when you add pom.xml files.
   
   BTW. Hello @Fokko :)
   




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [avro] kojiromike commented on pull request #1043: AVRO-3009 Test in GitHub Actions

Posted by GitBox <gi...@apache.org>.
kojiromike commented on pull request #1043:
URL: https://github.com/apache/avro/pull/1043#issuecomment-751835634


   @rdblue This PR introduces [github actions paths](https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestpaths), which I'm using here. In this case, if a changeset only contains changes for lang/perl, then only lang/perl tests will run.
   
   IIUC, the outcome should be about the same as what the iceberg approach does, except that it doesn't depend on GitHub to do the check behind the scenes. Am I missing anything?


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [avro] potiuk commented on a change in pull request #1043: AVRO-3009 Test in GitHub Actions

Posted by GitBox <gi...@apache.org>.
potiuk commented on a change in pull request #1043:
URL: https://github.com/apache/avro/pull/1043#discussion_r546799686



##########
File path: .github/workflows/test-lang-java.yml
##########
@@ -0,0 +1,99 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: 'Test Java'
+on:
+  workflow_dispatch:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+    paths:
+    - lang/java/**
+
+defaults:
+  run:
+    working-directory: lang/java
+
+jobs:
+  test:
+    name: Java ${{ matrix.java }} Test
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        java:
+        - '8'
+        - '11'
+    steps:
+      - uses: actions/checkout@v2
+
+      - name: Cache Local Maven Repository
+        uses: actions/cache@v2
+        with:
+          path: ~/.m2/repository
+          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+          restore-keys: |
+            ${{ runner.os }}-maven-

Review comment:
       The reason for using the "restore-keys" might be when you want to optimize time of cache rebuilding.
   
   Caches in GA are immutable. Once you create them,  they can never change. This means that when any of your pom.xml changes (or file is added there) you have to start building the cache from the scratch. 
   
   The "restore-keys" is useful in case you have some "base" cache that you want to start from if you have new files affecting "hashFiles" calucation. 
   
   
   But for that you need at least once have the build that had no  '/pom.xml. files' at all. Then the hashFiles() function would return an empty string and that would become your 'base' cache that you want to start from. 
   
   In your case, this could be really useful if your cache consists of a lot of "common" files and only incremental changes when you add pom.xml files.
   
   UPDATE: actually you do not need to run a non-pom install. It turns out that restore-key is matched by prefix and in the case of yours the most recent cache will be used as a base to build the new cache. Which is precisely what you want I believe.
   
   BTW. Hello @Fokko :)
   




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [avro] kojiromike commented on a change in pull request #1043: AVRO-3009 Test in GitHub Actions

Posted by GitBox <gi...@apache.org>.
kojiromike commented on a change in pull request #1043:
URL: https://github.com/apache/avro/pull/1043#discussion_r546398398



##########
File path: .github/workflows/test-lang-java.yml
##########
@@ -0,0 +1,99 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: 'Test Java'
+on:
+  workflow_dispatch:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+    paths:
+    - lang/java/**
+
+defaults:
+  run:
+    working-directory: lang/java
+
+jobs:
+  test:
+    name: Java ${{ matrix.java }} Test
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        java:
+        - '8'
+        - '11'
+    steps:
+      - uses: actions/checkout@v2
+
+      - name: Cache Local Maven Repository
+        uses: actions/cache@v2
+        with:
+          path: ~/.m2/repository
+          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+          restore-keys: |
+            ${{ runner.os }}-maven-

Review comment:
       TBH I don't really know if I'm doing this right. I just cargo-culted it from https://github.com/actions/cache/blob/main/examples.md#macos-and-ubuntu. That said, the actions themselves report on cache hits and misses, so we should be able to tell pretty soon.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [avro] potiuk commented on a change in pull request #1043: AVRO-3009 Test in GitHub Actions

Posted by GitBox <gi...@apache.org>.
potiuk commented on a change in pull request #1043:
URL: https://github.com/apache/avro/pull/1043#discussion_r546806104



##########
File path: .github/workflows/test-lang-java.yml
##########
@@ -0,0 +1,99 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: 'Test Java'
+on:
+  workflow_dispatch:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+    paths:
+    - lang/java/**
+
+defaults:
+  run:
+    working-directory: lang/java
+
+jobs:
+  test:
+    name: Java ${{ matrix.java }} Test
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        java:
+        - '8'
+        - '11'
+    steps:
+      - uses: actions/checkout@v2
+
+      - name: Cache Local Maven Repository
+        uses: actions/cache@v2
+        with:
+          path: ~/.m2/repository
+          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+          restore-keys: |
+            ${{ runner.os }}-maven-

Review comment:
       More details: https://docs.github.com/en/free-pro-team@latest/actions/guides/caching-dependencies-to-speed-up-workflows#matching-a-cache-key




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [avro] kojiromike commented on a change in pull request #1043: AVRO-3009 Test in GitHub Actions

Posted by GitBox <gi...@apache.org>.
kojiromike commented on a change in pull request #1043:
URL: https://github.com/apache/avro/pull/1043#discussion_r546398309



##########
File path: .github/workflows/test-lang-perl.yml
##########
@@ -0,0 +1,133 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: 'Test Perl'
+on:
+  workflow_dispatch:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+    paths:
+    - lang/perl/**
+
+defaults:
+  run:
+    working-directory: lang/perl
+
+jobs:
+  test:
+    name: Perl ${{ matrix.perl }} Tests
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        perl:
+        - '5.32'
+    steps:
+      - uses: actions/checkout@v2
+
+      - uses: shogo82148/actions-setup-perl@v1
+        with:
+          perl-version: ${{ matrix.perl }}
+
+      - name: Install Dependencies
+        run: |
+          sudo apt-get -qqy install --no-install-recommends libjansson-dev \
+                                                            libcompress-raw-zlib-perl \
+                                                            libcpan-uploader-perl \
+                                                            libencode-perl \
+                                                            libio-string-perl \
+                                                            libjson-xs-perl \
+                                                            libmodule-install-perl \
+                                                            libmodule-install-readmefrompod-perl \
+                                                            libobject-tiny-perl \
+                                                            libperl-critic-perl \
+                                                            libsnappy-dev \
+                                                            libtest-exception-perl \
+                                                            libtest-pod-perl
+          cpanm --mirror https://www.cpan.org/ install Compress::Zstd \
+                                                       Error::Simple \
+                                                       Module::Install::Repository \
+                                                       Regexp::Common \
+                                                       Try::Tiny \
+                                                       inc::Module::Install
+
+      - name: Lint
+        run: ./build.sh lint
+
+      - name: Test
+        run: ./build.sh test
+
+  interop:

Review comment:
       Don't we benefit from having them separate, so they can be run in parallel?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [avro] tjwp commented on a change in pull request #1043: AVRO-3009 Test in GitHub Actions

Posted by GitBox <gi...@apache.org>.
tjwp commented on a change in pull request #1043:
URL: https://github.com/apache/avro/pull/1043#discussion_r546365288



##########
File path: .github/workflows/test-lang-ruby.yml
##########
@@ -0,0 +1,121 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: 'Test Ruby'
+on:
+  workflow_dispatch:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+    paths:
+    - lang/ruby/**
+
+defaults:
+  run:
+    working-directory: lang/ruby
+
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+
+      - uses: actions/setup-ruby@v1
+        with:
+          ruby-version: '2.7'

Review comment:
       For now this should probably be 2.5, the earliest release that is still receiving security updates, so that we not using newer features that are not back-compatible.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [avro] kojiromike merged pull request #1043: AVRO-3009 Test in GitHub Actions

Posted by GitBox <gi...@apache.org>.
kojiromike merged pull request #1043:
URL: https://github.com/apache/avro/pull/1043


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [avro] potiuk commented on a change in pull request #1043: AVRO-3009 Test in GitHub Actions

Posted by GitBox <gi...@apache.org>.
potiuk commented on a change in pull request #1043:
URL: https://github.com/apache/avro/pull/1043#discussion_r546799686



##########
File path: .github/workflows/test-lang-java.yml
##########
@@ -0,0 +1,99 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: 'Test Java'
+on:
+  workflow_dispatch:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+    paths:
+    - lang/java/**
+
+defaults:
+  run:
+    working-directory: lang/java
+
+jobs:
+  test:
+    name: Java ${{ matrix.java }} Test
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        java:
+        - '8'
+        - '11'
+    steps:
+      - uses: actions/checkout@v2
+
+      - name: Cache Local Maven Repository
+        uses: actions/cache@v2
+        with:
+          path: ~/.m2/repository
+          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+          restore-keys: |
+            ${{ runner.os }}-maven-

Review comment:
       The reason for using the "restore-keys" might be when you want to optimize time of cache rebuilding.
   
   Caches in GA are immutable. Once you create them,  they can never change. This means that when any of your pom.xml changes (or file is added there) you have to start building the cache from the scratch. 
   
   The "restore-keys" is useful in case you have some "base" cache that you want to start from if you have new files affecting "hashFiles" calucation. 
   
   
   But for that you need at least once have the build that had no  '/pom.xml. files' at all. Then the hashFiles() function would return an empty string and that would become your 'base' cache that you want to start from. 
   
   In your case, this could be really useful if your cache consists of a lot of "common" files and only incremental changes when you add pom.xml files.
   
   UPDATE: actually you do not need to run a non-pom install. It turns out that restore-key is matched by prefix and in the case of yours the most recent cache will be used as a base to build the new cache. Which is precisely what you want I believe.
   
   BTW. Hello @Fokko :)  - in short - no - hashKey should not be added to restore-keys :)
   




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [avro] potiuk commented on a change in pull request #1043: AVRO-3009 Test in GitHub Actions

Posted by GitBox <gi...@apache.org>.
potiuk commented on a change in pull request #1043:
URL: https://github.com/apache/avro/pull/1043#discussion_r546801943



##########
File path: .github/workflows/test-lang-ruby.yml
##########
@@ -0,0 +1,135 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: 'Test Ruby'
+on:
+  workflow_dispatch:

Review comment:
       Is there a reason why you are using workflow_dispatch (which is a manually triggered event? ) Is it because you are testing ?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [avro] rdblue commented on pull request #1043: AVRO-3009 Test in GitHub Actions

Posted by GitBox <gi...@apache.org>.
rdblue commented on pull request #1043:
URL: https://github.com/apache/avro/pull/1043#issuecomment-751811604


   +1 for moving to actions! I think it will be much easier to work with the project with each language tested individually. Thanks for taking the time to work on this.
   
   As a follow-up, it would be great to disable tests for languages that weren't changed. We do that in Iceberg, so you can see an example of how we disable Python tests: https://github.com/apache/iceberg/blob/master/.github/workflows/python-ci.yml#L28


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [avro] Fokko commented on a change in pull request #1043: AVRO-3009 Test in GitHub Actions

Posted by GitBox <gi...@apache.org>.
Fokko commented on a change in pull request #1043:
URL: https://github.com/apache/avro/pull/1043#discussion_r546360312



##########
File path: .github/workflows/test-lang-c++.yml
##########
@@ -0,0 +1,44 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more

Review comment:
       Minor thing, but I would suggest to name cpp.yml? Having +'es in the filename feels a bit weird to me.

##########
File path: .github/workflows/test-lang-perl.yml
##########
@@ -0,0 +1,133 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: 'Test Perl'
+on:
+  workflow_dispatch:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+    paths:
+    - lang/perl/**
+
+defaults:
+  run:
+    working-directory: lang/perl
+
+jobs:
+  test:
+    name: Perl ${{ matrix.perl }} Tests
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        perl:
+        - '5.32'
+    steps:
+      - uses: actions/checkout@v2
+
+      - uses: shogo82148/actions-setup-perl@v1
+        with:
+          perl-version: ${{ matrix.perl }}
+
+      - name: Install Dependencies
+        run: |
+          sudo apt-get -qqy install --no-install-recommends libjansson-dev \
+                                                            libcompress-raw-zlib-perl \
+                                                            libcpan-uploader-perl \
+                                                            libencode-perl \
+                                                            libio-string-perl \
+                                                            libjson-xs-perl \
+                                                            libmodule-install-perl \
+                                                            libmodule-install-readmefrompod-perl \
+                                                            libobject-tiny-perl \
+                                                            libperl-critic-perl \
+                                                            libsnappy-dev \
+                                                            libtest-exception-perl \
+                                                            libtest-pod-perl
+          cpanm --mirror https://www.cpan.org/ install Compress::Zstd \
+                                                       Error::Simple \
+                                                       Module::Install::Repository \
+                                                       Regexp::Common \
+                                                       Try::Tiny \
+                                                       inc::Module::Install
+
+      - name: Lint
+        run: ./build.sh lint
+
+      - name: Test
+        run: ./build.sh test
+
+  interop:

Review comment:
       Maybe we can also merge the interop tests in the unittests?

##########
File path: .github/workflows/test-lang-java.yml
##########
@@ -0,0 +1,99 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: 'Test Java'
+on:
+  workflow_dispatch:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+    paths:
+    - lang/java/**
+
+defaults:
+  run:
+    working-directory: lang/java
+
+jobs:
+  test:
+    name: Java ${{ matrix.java }} Test
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        java:
+        - '8'
+        - '11'
+    steps:
+      - uses: actions/checkout@v2
+
+      - name: Cache Local Maven Repository
+        uses: actions/cache@v2
+        with:
+          path: ~/.m2/repository
+          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+          restore-keys: |
+            ${{ runner.os }}-maven-

Review comment:
       This should also include the `hashFiles`?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [avro] tjwp commented on a change in pull request #1043: AVRO-3009 Test in GitHub Actions

Posted by GitBox <gi...@apache.org>.
tjwp commented on a change in pull request #1043:
URL: https://github.com/apache/avro/pull/1043#discussion_r546595706



##########
File path: .github/workflows/test-lang-ruby.yml
##########
@@ -0,0 +1,121 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: 'Test Ruby'
+on:
+  workflow_dispatch:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+    paths:
+    - lang/ruby/**
+
+defaults:
+  run:
+    working-directory: lang/ruby
+
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+
+      - uses: actions/setup-ruby@v1
+        with:
+          ruby-version: '2.7'

Review comment:
       Nice! I'm very excited about this change and more stable builds for this project!




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [avro] kojiromike commented on a change in pull request #1043: AVRO-3009 Test in GitHub Actions

Posted by GitBox <gi...@apache.org>.
kojiromike commented on a change in pull request #1043:
URL: https://github.com/apache/avro/pull/1043#discussion_r546955711



##########
File path: .github/workflows/test-lang-ruby.yml
##########
@@ -0,0 +1,135 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: 'Test Ruby'
+on:
+  workflow_dispatch:

Review comment:
       Well, I wanted to be able to manually trigger these things for testing, but tbh I could never get this to work.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [avro] kojiromike commented on pull request #1043: AVRO-3009 Test in GitHub Actions

Posted by GitBox <gi...@apache.org>.
kojiromike commented on pull request #1043:
URL: https://github.com/apache/avro/pull/1043#issuecomment-753330258


   Based on the vote in the thread @Fokko linked above, I'm merging this. We can work out any lingering roughness in future prs, which this change will facilitate.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [avro] kojiromike commented on a change in pull request #1043: AVRO-3009 Test in GitHub Actions

Posted by GitBox <gi...@apache.org>.
kojiromike commented on a change in pull request #1043:
URL: https://github.com/apache/avro/pull/1043#discussion_r546462108



##########
File path: .github/workflows/test-lang-ruby.yml
##########
@@ -0,0 +1,121 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: 'Test Ruby'
+on:
+  workflow_dispatch:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+    paths:
+    - lang/ruby/**
+
+defaults:
+  run:
+    working-directory: lang/ruby
+
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+
+      - uses: actions/setup-ruby@v1
+        with:
+          ruby-version: '2.7'

Review comment:
       I've done a Ruby matrix now, with 2.5-2.7 being tested.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [avro] kojiromike commented on a change in pull request #1043: AVRO-3009 Test in GitHub Actions

Posted by GitBox <gi...@apache.org>.
kojiromike commented on a change in pull request #1043:
URL: https://github.com/apache/avro/pull/1043#discussion_r550780960



##########
File path: .github/workflows/test-lang-c++.yml
##########
@@ -0,0 +1,44 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more

Review comment:
       @Fokko Happy New Year! I'm going to leave this as-is, for consistency with the lang/c++ directory, which I think would be out of scope to change right now. If you want to rename the lang to cpp, let's discuss that in another thread on dev@




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [avro] kojiromike commented on a change in pull request #1043: AVRO-3009 Test in GitHub Actions

Posted by GitBox <gi...@apache.org>.
kojiromike commented on a change in pull request #1043:
URL: https://github.com/apache/avro/pull/1043#discussion_r546398398



##########
File path: .github/workflows/test-lang-java.yml
##########
@@ -0,0 +1,99 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: 'Test Java'
+on:
+  workflow_dispatch:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+    paths:
+    - lang/java/**
+
+defaults:
+  run:
+    working-directory: lang/java
+
+jobs:
+  test:
+    name: Java ${{ matrix.java }} Test
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        java:
+        - '8'
+        - '11'
+    steps:
+      - uses: actions/checkout@v2
+
+      - name: Cache Local Maven Repository
+        uses: actions/cache@v2
+        with:
+          path: ~/.m2/repository
+          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+          restore-keys: |
+            ${{ runner.os }}-maven-

Review comment:
       TBH I don't really know if I'm doing this right. I just cargo-culted it from https://github.com/actions/cache/blob/main/examples.md#macos-and-ubuntu




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [avro] rdblue commented on pull request #1043: AVRO-3009 Test in GitHub Actions

Posted by GitBox <gi...@apache.org>.
rdblue commented on pull request #1043:
URL: https://github.com/apache/avro/pull/1043#issuecomment-751839527


   > the outcome should be about the same as what the iceberg approach does, except that it doesn't depend on GitHub to do the check behind the scenes
   
   Sounds great! I'll have to look into that for Iceberg. I just assumed that since 26 checks were passing for this PR that it wasn't already implemented.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org