jts icon indicating copy to clipboard operation
jts copied to clipboard

Builds and tests all major Java versions on Ubuntu and MacOS OSes.

Open carldea opened this issue 3 years ago • 8 comments

Combined as one commit and signed by yours truly. This was derived from the branch https://github.com/carldea/jts/tree/ci-verify-java-vers-os-matrix and PR https://github.com/locationtech/jts/pull/638

Excerpt:

jobs:
  build-and-test:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        java: [8, 11, 15]
        os: [ubuntu-latest, macOS-latest]
      fail-fast: false
      max-parallel: 3

What's nice is GitHub will build and test up to 4 runners in parallel.

Please use this PR to merge and delete or decline the following PR https://github.com/locationtech/jts/pull/638

carldea avatar Nov 30 '20 19:11 carldea

@jnh5y I believe everything is ready for the merge. Not sure why the Eclipse Foundation legal agreement row above is complaining. Any ideas?

carldea avatar Nov 30 '20 20:11 carldea

Ah, it is complaining since the commits are not signed-off. So sorry for the trouble.

When I need to sort this, I checkout the tip of 'master', create a brand new branch, and then do a git merge --squash oldBranch, and then a git commit -s.

jnh5y avatar Nov 30 '20 22:11 jnh5y

Is this still fairly fast to run CI? It's nice if the CI is as fast as possible, to make PR turnaround quick.

dr-jts avatar Nov 30 '20 22:11 dr-jts

Is this still fairly fast to run CI? It's nice if the CI is as fast as possible, to make PR turnaround quick.

Fair question. It looks like this run took around 5 and a half minutes: https://github.com/locationtech/jts/actions/runs/392415941

My primary project can take 40-50 minutes for all the CI builds and integration tests, so from my point of view, that's blazing;).

Do you have a threshold for how long the GitHub Actions ought to take?

jnh5y avatar Nov 30 '20 22:11 jnh5y

Is this still fairly fast to run CI? It's nice if the CI is as fast as possible, to make PR turnaround quick.

I think so, especially when you can have up to 4 in parallel (and it's free). In the YAML markup it can run based on Git events. In this case if you have a branch shared by other developers the CI will run the workflow on a pull event.

name: GitHub CI

on: [push, pull_request]

So, after a push it's really nice to click on the Actions tab and view all the build & tests states (running, failed, etc.).

carldea avatar Nov 30 '20 22:11 carldea

Do you have a threshold for how long the GitHub Actions ought to take?

Faster is better. My last PR took 1m16s : https://github.com/locationtech/jts/actions/runs/392613116

dr-jts avatar Nov 30 '20 22:11 dr-jts

@jnh5y James,

Ah, it is complaining since the commits are not signed-off. So sorry for the trouble.

When I need to sort this, I checkout the tip of 'master', create a brand new branch, and then do a git merge --squash oldBranch, and then a git commit -s.

On the command line Instead of a squashing of the previous branch this new PR is a new branch where I performed the following: git co master git br new-branch git co new-branch git commit -a -m 'blahblah // here i forgot to add sign-off by info git commit -s --amend -m '...... signed off by name <email address>' on a branch (new branch from master) then git co master then git merge <new branch> then vi editor came up I exited. then git push origin master from my forked JTS then created this PR

Do you need me to take additional steps?

carldea avatar Nov 30 '20 23:11 carldea

@jnh5y @dr-jts All ready to go. I was able to squash commits and re-verified my Eclipse Foundation email/key info.

carldea avatar Dec 01 '20 01:12 carldea