From 8fde9ef88d58711733e6df5700d076de0cfa9d10 Mon Sep 17 00:00:00 2001 From: Christian Stein Date: Tue, 24 Nov 2020 06:09:08 +0100 Subject: [PATCH 1/8] Introduce basic GitHub workflow --- .github/workflows/ci.yml | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..78c365955 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,36 @@ +name: CI + +on: [ push, pull_request ] + +jobs: + features: + name: "JDK ${{ matrix.feature }} on ${{ matrix.os }}" + strategy: + fail-fast: false + matrix: + os: [ ubuntu-latest ] # [ ubuntu-latest, macos-latest, windows-latest ] + feature: [ 15 ] # [ 15, 14, ..., 11 ] + runs-on: ${{ matrix.os }} + steps: + - name: 'Check out repository' + 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- + - name: 'Set up JDK ${{ matrix.java }}' + uses: actions/setup-java@v1 + with: + java-version: ${{ matrix.java }} + - name: 'Install' + run: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V + - name: 'Test' + run: mvn test -B + - name: 'Publish snapshot' + if: github.ref == 'refs/heads/master' && ${{ matrix.os }} == 'ubuntu-latest' + shell: bash + run: | + echo "TODO util/publish-snapshot-on-commit.sh" From 4e9fc0b04683e3f7af75d81a5c7c7da3227521e1 Mon Sep 17 00:00:00 2001 From: Christian Stein Date: Tue, 24 Nov 2020 06:11:54 +0100 Subject: [PATCH 2/8] Introduce basic GitHub workflow --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 78c365955..5db233d21 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,13 +3,13 @@ name: CI on: [ push, pull_request ] jobs: - features: - name: "JDK ${{ matrix.feature }} on ${{ matrix.os }}" + build: + name: "JDK ${{ matrix.java }} on ${{ matrix.os }}" strategy: fail-fast: false matrix: os: [ ubuntu-latest ] # [ ubuntu-latest, macos-latest, windows-latest ] - feature: [ 15 ] # [ 15, 14, ..., 11 ] + java: [ 15 ] # [ 15, 14, ..., 11 ] runs-on: ${{ matrix.os }} steps: - name: 'Check out repository' @@ -30,7 +30,7 @@ jobs: - name: 'Test' run: mvn test -B - name: 'Publish snapshot' - if: github.ref == 'refs/heads/master' && ${{ matrix.os }} == 'ubuntu-latest' + if: github.ref == 'refs/heads/master' && ${{ matrix.os }} == 'ubuntu-latest' && ${{ matrix.java }} == '15' shell: bash run: | echo "TODO util/publish-snapshot-on-commit.sh" From 17d6b1f109dec7646818570f9c09934d42f41d43 Mon Sep 17 00:00:00 2001 From: Christian Stein Date: Tue, 24 Nov 2020 06:21:36 +0100 Subject: [PATCH 3/8] Replace Travis CI and AppVeyor checks with GitHub Actions' equivalents --- .github/workflows/ci.yml | 2 +- .travis.yml | 42 ---------------------------------------- appveyor.yml | 39 ------------------------------------- 3 files changed, 1 insertion(+), 82 deletions(-) delete mode 100644 .travis.yml delete mode 100644 appveyor.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5db233d21..2d59b2515 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-latest ] # [ ubuntu-latest, macos-latest, windows-latest ] + os: [ ubuntu-latest, macos-latest, windows-latest ] java: [ 15 ] # [ 15, 14, ..., 11 ] runs-on: ${{ matrix.os }} steps: diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index b8a7c33af..000000000 --- a/.travis.yml +++ /dev/null @@ -1,42 +0,0 @@ -language: java - -notifications: - email: - recipients: - - google-java-format-dev+ci@google.com - on_success: change - on_failure: always - -jdk: - - openjdk11 - - openjdk14 - - openjdk-ea - -matrix: - allow_failures: - - jdk: openjdk-ea - -# see https://github.com/travis-ci/travis-ci/issues/8408 -before_install: -- unset _JAVA_OPTIONS - -install: echo "The default Travis install script is being skipped!" - -# use travis-ci docker based infrastructure -sudo: false - -cache: - directories: - - $HOME/.m2 - -script: -- mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V -- mvn test -B - -env: - global: - - secure: KkUX74NDDk95WR60zwN6x6pz49KAfR0zUu1thxl8Kke0+WVoIv1EBo7/e4ZXTdBKxlzQCX9Aa0OlIyUlhGJeuNIGtX16lcNyZNmKSacfrT68MpZqi+nAiYp8tnOyW/zuI+shSKHkGQOFq6c9KTtR9vG8kjr1Q9dNl/H5QjGaG1ZMiU/mGH9ompf+0nQTMDLKaEWV+SpKGjK5U1Zs2p08I9KKePbZoi9L2oAw5cH9wW8Q3pQJds6Rkwy9aecxRd4xmTza7Lb04dmByjqY8gsIjrTN0onOndBmLKTHiH5NVLKf0ilEVGiMQ1x4eCQolcRpGzxdTTKI0ahiWS59UABVoy1sXYqkIbZjpmMuGhHvbRir7YEXaG8LRUAxdWd9drJfvKQeBphQlIJKwajHSiMAdc9zisQg1UW75HSGKoPDHpzq+P7YBil2PUjk+5yUy5OytX6IebFT4KdeCO2ayu338yqb2t8q98elMoD5jwFVD0tpkLQ6xsYodClSGfMCVfP2zTkB7c4sHZV7tJS68CiNt7sCwz9CTNApFiSWMBxLKkKQ7VSBTy9bAn+phvW0u/maGsrRnehmsV3PVPtEsMlrqeMGwaPqIwx1l6otVQCnGRt3e8z3HoxY6AaBPaX0Z8lH2y+BxYhWTYzGhRxyyV666u/9yekTXmH53c7at7mau6Q= - - secure: VWnZcPA4esdaMJgh0Mui7K5O++AGZY3AYswufd0UUbAmnK60O6cDBOSelnr7hImDgZ09L2RWMXIVCt4b+UFXoIhqrvZKVitUXPldS6uNJeGT9p6quFf36o8Wf0ppKWnPd66AY6ECnE75Ujn1Maw899kb3zY2SvIvzA7HlXqtmowHCVGoJ4ou6LQxJpVEJ4hjvS2gQMF9W31uOzRzMI1JhdZioYmqe6eq9sGmRZZiYON7jBqX8f4XW0tTZoK+dVRNwYQcwyqcvQpxeI15VWDq5cqjBw3ps5XSEYTNIFUXREnEEi+vLdCuw/YRZp1ij7LiQKp6bcb2KROXaWii4VpUNWxIAflm4Nvn/8pa/3CUwqIbxTSAL+Qkb2iEzuYuNPGLr72mQgGEnlSpaqzUx0miwjJ41x3Q8mf72ihIME7YQGMDJL7TA7/GjXFeSxroPk65tbssAGmbjwGGJX67NHUzeQPW2QPA2cohCHyopKB9GqhKgKwKjenkCUaBGCaZReZz9XkSkHTXlxxSakMTmgJnA9To9d2lPOy0nppUvrd/0uAbPuxxCZqXElRvOvHKzpV1ZpKpqSxvjh63mCQRTi2rFiPn8uFaajai9mHaPoGmNwQwIUbAviNqifuIEPpc6cOuyV0MWJwdFLo1SKamJya/MwQz+IwXuY2TX7Fmv9HovdM= - -after_success: -- util/publish-snapshot-on-commit.sh diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index ac535c9a6..000000000 --- a/appveyor.yml +++ /dev/null @@ -1,39 +0,0 @@ -# Don't build branches that are not PRs, to avoid double builds. -branches: - only: - - master - -os: Visual Studio 2015 - -install: - - ps: | - Add-Type -AssemblyName System.IO.Compression.FileSystem - if (!(Test-Path -Path "C:\maven" )) { - (new-object System.Net.WebClient).DownloadFile( - 'http://www.us.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.zip', - 'C:\maven-bin.zip' - ) - [System.IO.Compression.ZipFile]::ExtractToDirectory("C:\maven-bin.zip", "C:\maven") - } - - cmd: SET JAVA_HOME=C:\Program Files\Java\jdk11 - - cmd: SET PATH=C:\maven\apache-maven-3.3.9\bin;%JAVA_HOME%\bin;%PATH% - - cmd: SET MAVEN_OPTS=-XX:MaxPermSize=2g -Xmx4g - - cmd: SET JAVA_OPTS=-XX:MaxPermSize=2g -Xmx4g - -build_script: - - mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V - -test_script: - - mvn test -B - -cache: - - C:\maven\ - - C:\Users\appveyor\.m2 - -notifications: - - provider: Email - to: - - google-java-format-dev+ci@google.com - on_build_success: false - on_build_failure: true - on_build_status_changed: true From c2d1c7444c1df74f893013af1f90c34f7ea9cdac Mon Sep 17 00:00:00 2001 From: Christian Stein Date: Tue, 24 Nov 2020 07:19:13 +0100 Subject: [PATCH 4/8] Run with Java 14 --- .github/workflows/ci.yml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2d59b2515..4ebd35bbb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,13 +3,13 @@ name: CI on: [ push, pull_request ] jobs: - build: + test: name: "JDK ${{ matrix.java }} on ${{ matrix.os }}" strategy: fail-fast: false matrix: os: [ ubuntu-latest, macos-latest, windows-latest ] - java: [ 15 ] # [ 15, 14, ..., 11 ] + java: [ 14 ] # [ 15, 14, ..., 11 ] runs-on: ${{ matrix.os }} steps: - name: 'Check out repository' @@ -29,8 +29,3 @@ jobs: run: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V - name: 'Test' run: mvn test -B - - name: 'Publish snapshot' - if: github.ref == 'refs/heads/master' && ${{ matrix.os }} == 'ubuntu-latest' && ${{ matrix.java }} == '15' - shell: bash - run: | - echo "TODO util/publish-snapshot-on-commit.sh" From 380bc6bd3382a4b075688650f0c8e0abb8a19852 Mon Sep 17 00:00:00 2001 From: Christian Stein Date: Tue, 24 Nov 2020 07:23:58 +0100 Subject: [PATCH 5/8] Back to 15 with using bash on all platforms --- .github/workflows/ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4ebd35bbb..73c297397 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ jobs: fail-fast: false matrix: os: [ ubuntu-latest, macos-latest, windows-latest ] - java: [ 14 ] # [ 15, 14, ..., 11 ] + java: [ 15 ] # [ 15, 14, ..., 11 ] runs-on: ${{ matrix.os }} steps: - name: 'Check out repository' @@ -26,6 +26,8 @@ jobs: with: java-version: ${{ matrix.java }} - name: 'Install' + shell: bash run: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V - name: 'Test' + shell: bash run: mvn test -B From 6faf60cb90bc873bccef79fbac5a0b51fbae4b1e Mon Sep 17 00:00:00 2001 From: Christian Stein Date: Tue, 24 Nov 2020 08:13:27 +0100 Subject: [PATCH 6/8] Prepare publishing snapshots --- .github/workflows/ci.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 73c297397..6fa42f7da 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,3 +31,28 @@ jobs: - name: 'Test' shell: bash run: mvn test -B + + publish_snapshot: + name: 'Publish snapshot' + needs: test + if: github.event_name == 'push' && github.repository == 'google/google-java-format' && github.ref == 'refs/heads/master' + runs-on: ubuntu-latest + steps: + - name: 'Check out repository' + 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- + - name: 'Set up JDK 15' + uses: actions/setup-java@v1 + with: + java-version: 15 + server-id: sonatype-nexus-snapshots + server-username: CI_DEPLOY_USERNAME + server-password: CI_DEPLOY_PASSWORD + - name: 'Publish' + run: mvn source:jar deploy -B -DskipTests=true -Dinvoker.skip=true -Dmaven.javadoc.skip=true From b8793f9e927b0a711a37802fdb9054fe2081d6ae Mon Sep 17 00:00:00 2001 From: Christian Stein Date: Tue, 24 Nov 2020 09:52:55 +0100 Subject: [PATCH 7/8] Restore AppVeyor configuration for the time being --- appveyor.yml | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 appveyor.yml diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 000000000..ac535c9a6 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,39 @@ +# Don't build branches that are not PRs, to avoid double builds. +branches: + only: + - master + +os: Visual Studio 2015 + +install: + - ps: | + Add-Type -AssemblyName System.IO.Compression.FileSystem + if (!(Test-Path -Path "C:\maven" )) { + (new-object System.Net.WebClient).DownloadFile( + 'http://www.us.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.zip', + 'C:\maven-bin.zip' + ) + [System.IO.Compression.ZipFile]::ExtractToDirectory("C:\maven-bin.zip", "C:\maven") + } + - cmd: SET JAVA_HOME=C:\Program Files\Java\jdk11 + - cmd: SET PATH=C:\maven\apache-maven-3.3.9\bin;%JAVA_HOME%\bin;%PATH% + - cmd: SET MAVEN_OPTS=-XX:MaxPermSize=2g -Xmx4g + - cmd: SET JAVA_OPTS=-XX:MaxPermSize=2g -Xmx4g + +build_script: + - mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V + +test_script: + - mvn test -B + +cache: + - C:\maven\ + - C:\Users\appveyor\.m2 + +notifications: + - provider: Email + to: + - google-java-format-dev+ci@google.com + on_build_success: false + on_build_failure: true + on_build_status_changed: true From a689f6234aed2e32bd7aca093b92e391ac6c8170 Mon Sep 17 00:00:00 2001 From: Christian Stein Date: Wed, 25 Nov 2020 07:32:08 +0100 Subject: [PATCH 8/8] Add Java 11 to the test matrix --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6fa42f7da..c3e53dd5e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ jobs: fail-fast: false matrix: os: [ ubuntu-latest, macos-latest, windows-latest ] - java: [ 15 ] # [ 15, 14, ..., 11 ] + java: [ 15, 11 ] runs-on: ${{ matrix.os }} steps: - name: 'Check out repository'