Re: [maven-gh-actions-shared] branch main updated: first workflow
+1, we also do this in Apache Shiro [1] and the aspectj-maven-plugin (mojohaus) [2]. We don't reuse workflows yet, but what you have is just great! Thanks! - Ben [1]: https://github.com/apache/shiro/blob/df2f5481260bd778226473a658d237c047b7e840/.github/workflows/maven.yml [2]: https://github.com/mojohaus/aspectj-maven-plugin/blob/e19704cc40017ac69408e007c423f4ddbe865bca/.github/workflows/maven.yml Am Fr., 15. Okt. 2021 um 01:45 Uhr schrieb Olivier Lamy : > > We had a discussion on slack about having a first build such as only > ubuntu/jdk1,8 before running all the matrix and holding a lot of nodes from > the Apache org.. > This PR definitely does not do this! So I don't understand why this has > been merged! > Remember (as far I understand) nodes are shared between all projects from > Apache org. > There is no need to hold a lot of nodes if we are sure it fail (especially > as Apache have a lot projects using gh-actions) > > On Fri, 15 Oct 2021 at 07:52, wrote: > > > This is an automated email from the ASF dual-hosted git repository. > > > > slachiewicz pushed a commit to branch main > > in repository > > https://gitbox.apache.org/repos/asf/maven-gh-actions-shared.git > > > > > > The following commit(s) were added to refs/heads/main by this push: > > new eee837a first workflow > > eee837a is described below > > > > commit eee837abbc62df4e1097841b7cec8c5db6b30e2a > > Author: Slawomir Jaranowski > > AuthorDate: Thu Oct 14 22:41:33 2021 +0200 > > > > first workflow > > --- > > .github/workflows/maven-verify-with-its.yml | 67 + > > .gitignore | 1 + > > LICENSE | 202 > > > > README.md | 43 +- > > 4 files changed, 312 insertions(+), 1 deletion(-) > > > > diff --git a/.github/workflows/maven-verify-with-its.yml > > b/.github/workflows/maven-verify-with-its.yml > > new file mode 100644 > > index 000..a24464d > > --- /dev/null > > +++ b/.github/workflows/maven-verify-with-its.yml > > @@ -0,0 +1,67 @@ > > +# 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 > > +# > > +# http://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: Verify > > + > > +on: > > + workflow_call: > > +inputs: > > + os-matrix: > > +description: 'os matrix as json array' > > +default: '[ "ubuntu-latest", "windows-latest", "macOS-latest" ]' > > +type: string > > + > > + jdk-matrix: > > +description: 'jdk matrix as json array' > > +default: '[ "8", "11", "17" ]' > > +type: string > > + > > + matrix-exclude: > > +description: 'exclude for matrix as json' > > +default: '[]' > > +type: string > > + > > +jobs: > > + > > + verify: > > +name: ${{ matrix.os }} jdk-${{ matrix.jdk }} > > + > > +runs-on: ${{ matrix.os }} > > + > > +strategy: > > + fail-fast: true > > + matrix: > > +os: ${{ fromJSON( inputs.os-matrix ) }} > > +jdk: ${{ fromJSON( inputs.jdk-matrix ) }} > > +exclude: ${{ fromJSON( inputs.matrix-exclude ) }} > > + > > +steps: > > + - name: Checkout > > +uses: actions/checkout@v2.3.4 > > + > > + - name: Set up JDK > > +uses: actions/setup-java@v2.3.1 > > +with: > > + java-version: ${{ matrix.jdk }} > > + distribution: 'temurin' > > + cache: 'maven' > > + > > + - name: Build with Maven > > +run: mvn --errors --batch-mode --show-version -P run-its > > -D"invoker.streamLogsOnFailures" verify > > + > > + - name: Build Maven Site > > +run: mvn --errors --batch-mode --show-version site > > diff --git a/.gitignore b/.gitignore > > new file mode 100644 > > index 000..485dee6 > > --- /dev/null > > +++ b/.gitignore > > @@ -0,0 +1 @@ > > +.idea > > diff --git a/LICENSE b/LICENSE > > new file mode 100644 > > index 000..d645695 > > --- /dev/null > > +++ b/LICENSE > > @@ -0,0 +1,202 @@ > > + > > + Apache License > > + Version 2.0, January 2004 > > +http://www.apache.org/licenses/ > > + > > + TERMS AND CONDITIONS FOR
Re: [maven-gh-actions-shared] branch main updated: first workflow
We had a discussion on slack about having a first build such as only ubuntu/jdk1,8 before running all the matrix and holding a lot of nodes from the Apache org.. This PR definitely does not do this! So I don't understand why this has been merged! Remember (as far I understand) nodes are shared between all projects from Apache org. There is no need to hold a lot of nodes if we are sure it fail (especially as Apache have a lot projects using gh-actions) On Fri, 15 Oct 2021 at 07:52, wrote: > This is an automated email from the ASF dual-hosted git repository. > > slachiewicz pushed a commit to branch main > in repository > https://gitbox.apache.org/repos/asf/maven-gh-actions-shared.git > > > The following commit(s) were added to refs/heads/main by this push: > new eee837a first workflow > eee837a is described below > > commit eee837abbc62df4e1097841b7cec8c5db6b30e2a > Author: Slawomir Jaranowski > AuthorDate: Thu Oct 14 22:41:33 2021 +0200 > > first workflow > --- > .github/workflows/maven-verify-with-its.yml | 67 + > .gitignore | 1 + > LICENSE | 202 > > README.md | 43 +- > 4 files changed, 312 insertions(+), 1 deletion(-) > > diff --git a/.github/workflows/maven-verify-with-its.yml > b/.github/workflows/maven-verify-with-its.yml > new file mode 100644 > index 000..a24464d > --- /dev/null > +++ b/.github/workflows/maven-verify-with-its.yml > @@ -0,0 +1,67 @@ > +# 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 > +# > +# http://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: Verify > + > +on: > + workflow_call: > +inputs: > + os-matrix: > +description: 'os matrix as json array' > +default: '[ "ubuntu-latest", "windows-latest", "macOS-latest" ]' > +type: string > + > + jdk-matrix: > +description: 'jdk matrix as json array' > +default: '[ "8", "11", "17" ]' > +type: string > + > + matrix-exclude: > +description: 'exclude for matrix as json' > +default: '[]' > +type: string > + > +jobs: > + > + verify: > +name: ${{ matrix.os }} jdk-${{ matrix.jdk }} > + > +runs-on: ${{ matrix.os }} > + > +strategy: > + fail-fast: true > + matrix: > +os: ${{ fromJSON( inputs.os-matrix ) }} > +jdk: ${{ fromJSON( inputs.jdk-matrix ) }} > +exclude: ${{ fromJSON( inputs.matrix-exclude ) }} > + > +steps: > + - name: Checkout > +uses: actions/checkout@v2.3.4 > + > + - name: Set up JDK > +uses: actions/setup-java@v2.3.1 > +with: > + java-version: ${{ matrix.jdk }} > + distribution: 'temurin' > + cache: 'maven' > + > + - name: Build with Maven > +run: mvn --errors --batch-mode --show-version -P run-its > -D"invoker.streamLogsOnFailures" verify > + > + - name: Build Maven Site > +run: mvn --errors --batch-mode --show-version site > diff --git a/.gitignore b/.gitignore > new file mode 100644 > index 000..485dee6 > --- /dev/null > +++ b/.gitignore > @@ -0,0 +1 @@ > +.idea > diff --git a/LICENSE b/LICENSE > new file mode 100644 > index 000..d645695 > --- /dev/null > +++ b/LICENSE > @@ -0,0 +1,202 @@ > + > + Apache License > + Version 2.0, January 2004 > +http://www.apache.org/licenses/ > + > + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION > + > + 1. Definitions. > + > + "License" shall mean the terms and conditions for use, reproduction, > + and distribution as defined by Sections 1 through 9 of this > document. > + > + "Licensor" shall mean the copyright owner or entity authorized by > + the copyright owner that is granting the License. > + > + "Legal Entity" shall mean the union of the acting entity and all > + other entities that control, are controlled by, or are under common > + control with that entity. For the purposes of this definition, > + "control" means (i) the power, direct or indirect, to cause the > + direction or management of such entity, whether by co