42 Commits

Author SHA1 Message Date
2f53a7669c Merge pull request #84 from s4u/mvn-3.9.8
Maven 3.9.8 as default
2024-06-29 09:29:19 +02:00
1bea7e41c5 Maven 3.9.8 as default 2024-06-29 09:23:28 +02:00
816f5e6ba8 Configure custom maven repositories 2024-06-29 09:19:04 +02:00
25553285e3 Bump actions/checkout from 4.1.6 to 4.1.7
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.6 to 4.1.7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](a5ac7e51b4...692973e3d9)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 15:37:39 +02:00
4894416432 Merge pull request #80 from s4u/pin-test
Pin all actions to their current releases' SHA in test
2024-05-17 20:06:22 +02:00
a9992a1ccd Pin all actions to their current releases' SHA in test 2024-05-17 20:00:29 +02:00
3b45b50cd5 Feature/proxy settings (#75)
* Issue 62

* Issue 62
2024-05-17 19:57:17 +02:00
5a52b9da46 Merge pull request #78 from brrygrdn/brrygrdn/pin-composed-actions-versions-by-sha
Pin composed actions to their current releases' SHA
2024-05-17 19:54:43 +02:00
e2f38a4518 Pin all actions to their current releases' SHA 2024-05-17 19:51:52 +02:00
9d09e3987e Merge pull request #79 from s4u/zulu-as-default
Use zulu java distribution as default
2024-05-17 19:50:51 +02:00
f480a422c2 Use zulu java distribution as default
The temurin distribution doesn't support JDK 8 on new macOS runners
2024-05-17 18:03:48 +02:00
6d44c18d67 Merge pull request #73 from s4u/fix-misspell
Fix misspell in test action
2024-02-11 13:37:22 +01:00
9f3d803b4e Fix misspell in test action 2024-02-11 13:26:42 +01:00
023b47f3ae Merge pull request #72 from s4u/mvn396
Maven 3.9.6 as default
2024-02-11 13:00:29 +01:00
5257c30aee Maven 3.9.6 as default 2024-02-11 12:49:28 +01:00
88b5bc7548 Merge pull request #70 from NotMyFault/update-deps-node-20
Update stCarolas/setup-maven to v5
2024-02-11 12:38:27 +01:00
6c5362973d Bump actions/cache from 3 to 4
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-11 12:30:38 +01:00
f8353fecf3 Update stCarolas/setup-maven to v5
Signed-off-by: Alexander Brandes <mc.cache@web.de>
2024-02-11 12:22:35 +01:00
9337884575 Bump s4u/maven-settings-action from 2.8.0 to 3.0.0
Bumps [s4u/maven-settings-action](https://github.com/s4u/maven-settings-action) from 2.8.0 to 3.0.0.
- [Release notes](https://github.com/s4u/maven-settings-action/releases)
- [Commits](https://github.com/s4u/maven-settings-action/compare/v2.8.0...v3.0.0)

---
updated-dependencies:
- dependency-name: s4u/maven-settings-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-01 20:49:36 +01:00
c6cceea941 Bump actions/setup-java from 3 to 4
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3 to 4.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-01 20:45:57 +01:00
fa2c7e4517 Merge pull request #64 from s4u/mvn-3.9.5
Maven 3.9.5 as default
2023-11-23 17:52:07 +01:00
78d72295d8 Maven 3.9.5 as default 2023-11-23 17:49:38 +01:00
5727e29093 Added toggle for cache 2023-11-23 17:38:21 +01:00
57ca7f1a81 Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-22 08:40:57 +02:00
41e894b5c6 #58 New feature to support repository and token options (#59) 2023-09-22 08:29:12 +02:00
c1ef1c9458 Merge pull request #57 from s4u/docs
Documentation improvements
2023-08-23 23:02:20 +02:00
fe0723070c Documentation improvements 2023-08-23 22:57:55 +02:00
f416ae1666 Merge pull request #56 from s4u/jdk-default
Java 17 as default
2023-08-23 21:25:04 +02:00
428a7bd6a8 Java 17 as default 2023-08-23 21:13:07 +02:00
7b66d0ca2e Merge pull request #55 from s4u/m394
Maven 3.9.4 as default
2023-08-23 20:47:55 +02:00
2dce5ee2b1 Maven 3.9.4 as default 2023-08-23 20:43:44 +02:00
e912d59387 Add the ability to specify ref for checkout action (#52) 2023-08-17 10:59:46 +02:00
721df57437 Merge pull request #51 from s4u/m392
Maven 3.9.2 as default
2023-06-09 13:43:17 +02:00
21adf11259 Maven 3.9.2 as default 2023-06-09 13:39:57 +02:00
94605e0cdf Merge pull request #50 from s4u/enforcer-3.2.1
Bump m-enforcer-p to 3.2.1, simplify test project
2023-02-22 22:29:49 +01:00
ff947fe3e9 Bump m-enforcer-p to 3.2.1, simplify test project 2023-02-22 22:25:50 +01:00
35afc95be0 Merge pull request #49 from s4u/mvn-3.9.0
Maven 3.9.0 as default
2023-02-22 22:20:33 +01:00
4f918ce4df Maven 3.9.0 as default 2023-02-22 22:15:46 +01:00
e3f10494a8 File sync from s4u/.github - Use shared release-drafter.yml 2022-11-13 09:59:03 +00:00
7cf09e2e6e File sync from s4u/.github - Use shared release-drafter.yml 2022-11-13 09:42:45 +00:00
deb771502d File sync from s4u/.github - 2022-11-13 09:36:02 +00:00
e5734e3ce7 File sync from s4u/.github - 2022-11-13 09:27:48 +00:00
5 changed files with 97 additions and 91 deletions

View File

@ -9,14 +9,4 @@ on:
jobs:
update_release_draft:
name: Update Release Draft
runs-on: ubuntu-latest
concurrency: release-drafter
if: >
github.repository_owner == 's4u'
&& !startsWith(github.event.head_commit.message , '[maven-release-plugin]')
steps:
- uses: release-drafter/release-drafter@v5.21.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: s4u/.github/.github/workflows/release-drafter.yml@master

View File

@ -18,14 +18,14 @@ jobs:
strategy:
matrix:
os: [ 'ubuntu-latest', 'windows-latest', 'macOS-latest' ]
java: [ '8', '11', '17' ]
maven: [ '3.5.4', '3.6.3', '3.8.6' ]
java: [ '8', '11', '17', '21' ]
maven: [ '3.8.8', '3.9.8' ]
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: ./
with:
@ -36,31 +36,27 @@ jobs:
- run: mvn -V validate -Drequire.java=${{ matrix.java }} -Drequire.maven=${{ matrix.maven }}
shell: bash
test-deault:
test-default:
name: Test with defaults
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: ./
with:
java-version: 8
- run: mvn -V validate -Drequire.java=8 -Drequire.maven=3.8.6
- run: mvn -V validate -Drequire.java=17 -Drequire.maven=3.9.8
shell: bash
test-ok:
name: Test OK
runs-on: ubuntu-latest
needs: [ test, test-deault ]
needs: [ test, test-default ]
if: always()
steps:
- run: echo "needs.test.result=${{ needs.test.result }} needs.test-deault.result=${{ needs.test-deault.result }}"
- run: 'true'
if: needs.test.result == 'success' && needs.test-deault.result == 'success'
if: join(needs.*.result, ',') == 'success,success'
- run: 'false'
if: needs.test.result != 'success' || needs.test-deault.result != 'success'
if: join(needs.*.result, ',') != 'success,success'

View File

@ -9,38 +9,38 @@ This is composite action which help to prepare GitHub Actions environment for Ma
- [stCarolas/setup-maven](https://github.com/marketplace/actions/setup-maven)
- [s4u/maven-settings-action](https://github.com/marketplace/actions/maven-settings-action)
# Contributions
:exclamation: You **should not** include above actions in your configuration - in other case those will be **called twice**. :exclamation:
- Contributions are welcome!
- Give :star: - if you want to encourage me to work on a project
- Don't hesitate to create issues for new features you dream of or if you suspect some bug
For default values you only need:
# Project versioning
```yml
steps:
This project uses [Semantic Versioning](https://semver.org/).
We recommended using the latest and specific release version.
In order to keep your project dependencies up to date you can watch this repository *(Releases only)*
or use automatic tools like [Dependabot](https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates).
- name: Setup Maven Action
uses: s4u/setup-maven-action@< version >
- run: mvn -V ...
```
# Params mapping for sub actions
**Notice** when used this action you should not used mentioned below actions again.
## checkout
| params | destination | default |
|------------------------------|---------------------|---------|
| checkout-fetch-depth | fetch-depth | |
| checkout-path | path | |
| checkout-persist-credentials | persist-credentials | false |
| params | destination | default |
|------------------------------|---------------------|--------------------------|
| checkout-fetch-depth | fetch-depth | |
| checkout-path | path | |
| checkout-ref | ref | |
| checkout-repository | repository | ${{ github.repository }} |
| checkout-token | token | ${{ github.token }} |
| checkout-persist-credentials | persist-credentials | false |
## setup-java
| params | destination | default |
|-------------------|--------------|---------|
| java-version | java-version | |
| java-distribution | distribution | temurin |
| java-version | java-version | 17 |
| java-distribution | distribution | zulu |
## cache
@ -60,6 +60,7 @@ So we can use for action:
| params | description |
|----------------|----------------------------------------------------------|
| cache-enabled | enable cache. Default true |
| cache-path | default cache path for Maven with value ~/.m2/repository |
| cache-path-add | additional value for cache path |
| cache-prefix | prefix value for `key` and `restore-keys` cache params |
@ -69,7 +70,7 @@ So we can use for action:
| params | destination | default |
|---------------|---------------|---------|
| maven-version | maven-version | 3.8.6 |
| maven-version | maven-version | 3.9.8 |
## maven-settings-action
@ -79,6 +80,8 @@ So we can use for action:
| settings-mirrors | mirrors |
| settings-properties | properties |
| settings-sonatypeSnapshots | sonatypeSnapshots |
| settings-proxies | proxies |
| settings-repositories | repositories |
# Testing against different Maven versions
@ -90,7 +93,7 @@ jobs:
strategy:
matrix:
maven: [ '3.5.4', '3.6.3', '3.8.6' ]
maven: [ '3.8.8', '3.9.8' ]
name: Maven ${{ matrix.maven }} sample
@ -105,6 +108,20 @@ jobs:
- run: mvn -V ...
```
# Contributions
- Contributions are welcome!
- Give :star: - if you want to encourage me to work on a project
- Don't hesitate to create issues for new features you dream of or if you suspect some bug
# Project versioning
This project uses [Semantic Versioning](https://semver.org/).
We recommended using the latest and specific release version.
In order to keep your project dependencies up to date you can watch this repository *(Releases only)*
or use automatic tools like [Dependabot](https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates).
# License
The scripts and documentation in this project are released under the [MIT License](LICENSE)

View File

@ -21,19 +21,38 @@ inputs:
default: 'false'
required: false
checkout-ref:
description: 'The branch, tag, or SHA of the repository to clone'
required: false
checkout-repository:
description: 'The repository to checkout if not the repository that triggered the action. For use when building GitHub Apps'
required: false
default: ${{ github.repository }}
checkout-token:
description: 'Token to use for checkout if checking out a repository out of scope for GITHUB_TOKEN'
required: false
default: ${{ github.token }}
# java jdk params
java-version:
description: 'The Java version to set up'
default: '17'
required: true
java-distribution:
description: 'Java distribution'
default: 'temurin'
default: 'zulu'
required: false
# cache
cache-enabled:
description: 'Enable cache'
default: 'true'
required: false
cache-prefix:
description: 'Cache key prefix'
required: false
@ -50,44 +69,56 @@ inputs:
# maven version
maven-version:
description: 'The Maven version to set up'
default: '3.8.6'
default: '3.9.8'
required: false
# maven settings.xml
settings-servers:
description: 'servers definition in json array, eg: [{"id": "serverId", "username": "username", "password": "password"}]'
description: 'servers definition in json array, e.g.: [{"id": "serverId", "username": "username", "password": "password"}]'
required: false
settings-mirrors:
description: 'mirrors definition in json array, eg: [{"id": "id", "name": "name", "mirrorOf": "mirrorOf", "url": "url"}]'
description: 'mirrors definition in json array, e.g.: [{"id": "id", "name": "name", "mirrorOf": "mirrorOf", "url": "url"}]'
required: false
settings-properties:
description: 'json array with properties, eg [{"propertyName1": "propertyValue1"}, {"propertyName2": "propertyValue2"}]'
description: 'json array with properties, e.g.: [{"propertyName1": "propertyValue1"}, {"propertyName2": "propertyValue2"}]'
required: false
settings-sonatypeSnapshots:
description: 'add https://oss.sonatype.org/content/repositories/snapshots to repository list - true or false'
required: false
settings-proxies:
description: 'proxies definition in json array, e.g.: [{"id": "http-proxy", "active": "true", "protocol": "http", "host": "host", "port": "port", "nonProxyHosts": "host1|host2"}]'
required: false
settings-repositories:
description: 'repository settings definition in json array, e.g.: [ { "id": "repoId","name": "repoName","url": "url","snapshots": { "enabled": true } } ]'
required: false
runs:
using: 'composite'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: '${{ inputs.checkout-fetch-depth }}'
path: '${{ inputs.checkout-path }}'
persist-credentials: '${{ inputs.checkout-persist-credentials }}'
ref: '${{ inputs.checkout-ref }}'
repository: '${{ inputs.checkout-repository }}'
token: '${{ inputs.checkout-token }}'
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
overwrite-settings: false
java-version: '${{ inputs.java-version }}'
distribution: '${{ inputs.java-distribution }}'
- uses: actions/cache@v3
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
if: inputs.cache-enabled == 'true'
with:
path: |
${{ inputs.cache-path }}
@ -100,14 +131,16 @@ runs:
shell: bash
id: current-maven
- uses: stCarolas/setup-maven@v4.5
- uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
if: inputs.maven-version != steps.current-maven.outputs.version
with:
maven-version: '${{ inputs.maven-version }}'
- uses: s4u/maven-settings-action@v2.8.0
- uses: s4u/maven-settings-action@7802f6aec16c9098b4798ad1f1d8ac75198194bd # v3.0.0
with:
servers: '${{ inputs.settings-servers}}'
mirrors: '${{ inputs.settings-mirrors}}'
properties: '${{ inputs.settings-properties}}'
sonatypeSnapshots: '${{ inputs.settings-sonatypeSnapshots}}'
servers: '${{ inputs.settings-servers }}'
mirrors: '${{ inputs.settings-mirrors }}'
properties: '${{ inputs.settings-properties }}'
sonatypeSnapshots: '${{ inputs.settings-sonatypeSnapshots }}'
proxies: '${{ inputs.settings-proxies }}'
repositories: '${{ inputs.settings-repositories }}'

34
pom.xml
View File

@ -36,7 +36,6 @@
<properties>
<require.maven/>
<require.java/>
<_require.java/>
</properties>
<build>
@ -44,11 +43,10 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0-M3</version>
<version>3.2.1</version>
<executions>
<execution>
<goals>
<goal>display-info</goal>
<goal>enforce</goal>
</goals>
<phase>validate</phase>
@ -57,7 +55,7 @@
<configuration>
<rules>
<requireJavaVersion>
<version>${_require.java}</version>
<version>${require.java}</version>
</requireJavaVersion>
<requireMavenVersion>
<version>[${require.maven}]</version>
@ -67,32 +65,4 @@
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>java8-version-label</id>
<activation>
<property>
<name>require.java</name>
<value>8</value>
</property>
</activation>
<properties>
<_require.java>1.8</_require.java>
</properties>
</profile>
<profile>
<id>non-java8-version-label</id>
<activation>
<property>
<name>require.java</name>
<value>!8</value>
</property>
</activation>
<properties>
<_require.java>${require.java}</_require.java>
</properties>
</profile>
</profiles>
</project>