mirror of
https://github.com/actions/setup-java
synced 2024-11-24 02:02:03 +00:00
b53500dabc
* actions/setup-java@v2 - Support different distributions (#132) * Implement support for custom vendors in setup-java * minor improvements * minor refactoring * Add unit tests and e2e tests * Update documentation for setup-java@v2 release * minor improvements * regenerate dist * fix comments * resolve comments * resolve comments * fix tests * Update README.md Co-authored-by: George Adams <george.adams@microsoft.com> * Apply suggestions from code review Co-authored-by: Konrad Pabjan <konradpabjan@github.com> * fix minor nitpicks * handle 4th digit * pull latest main * Update README.md * rename adoptium to adopt * rename adoptium to adopt * rename adoptium to adopt * Update README.md * make java-version and distribution required for action * update readme * fix tests * fix e2e tests Co-authored-by: George Adams <george.adams@microsoft.com> Co-authored-by: Konrad Pabjan <konradpabjan@github.com> * Add "overwrite-settings" input parameter (#136) * add overwrite-settings parameter * fix e2e tests * print debug * fix e2e tests * add comment * remove comment * Add "Contents/Home" postfix on macOS if provider creates it (#139) * Update e2e-versions.yml * Update e2e-versions.yml * implement fix * Update e2e-versions.yml * Update installer.ts * fix filter logic * Update e2e-versions.yml * remove extra logic * Update e2e-versions.yml * Add check-latest flag (#141) * add changes for check-latest * run prerelease script * resolving comments * fixing tests * fix spelling * improve core.info messages * run format * run prerelease * change version to fix test * resolve comment for check-latest * Update README.md * added hosted tool cache section * Apply suggestions from code review Co-authored-by: Maxim Lobanov <v-malob@microsoft.com> Co-authored-by: Konrad Pabjan <konradpabjan@github.com> * Avoid "+" sign in Java path in v2-preview (#145) * try to handle _ versions * more logs * more debug * test 1 * more fixes * fix typo * Update e2e-versions.yml * add unit-tests * remove debug info from tests * debug pre-cached versions * change e2e tests to ubuntu-latest * update npm licenses Co-authored-by: George Adams <george.adams@microsoft.com> Co-authored-by: Konrad Pabjan <konradpabjan@github.com> Co-authored-by: Dmitry Shibanov <dmitry-shibanov@github.com>
153 lines
No EOL
4.7 KiB
YAML
153 lines
No EOL
4.7 KiB
YAML
name: Validate publishing functionality
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- releases/*
|
|
- v2-preview
|
|
paths-ignore:
|
|
- '**.md'
|
|
pull_request:
|
|
paths-ignore:
|
|
- '**.md'
|
|
|
|
defaults:
|
|
run:
|
|
shell: pwsh
|
|
|
|
jobs:
|
|
setup-java-publishing:
|
|
name: Validate settings.xml
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
- name: setup-java
|
|
uses: ./
|
|
id: setup-java
|
|
with:
|
|
distribution: 'adopt'
|
|
java-version: '11'
|
|
server-id: maven
|
|
server-username: MAVEN_USERNAME
|
|
server-password: MAVEN_CENTRAL_TOKEN
|
|
gpg-passphrase: MAVEN_GPG_PASSPHRASE
|
|
- name: Validate settings.xml
|
|
run: |
|
|
$xmlPath = Join-Path $HOME ".m2" "settings.xml"
|
|
Get-Content $xmlPath | ForEach-Object { Write-Host $_ }
|
|
|
|
[xml]$xml = Get-Content $xmlPath
|
|
$servers = $xml.settings.servers.server
|
|
if (($servers[0].id -ne 'maven') -or ($servers[0].username -ne '${env.MAVEN_USERNAME}') -or ($servers[0].password -ne '${env.MAVEN_CENTRAL_TOKEN}')) {
|
|
throw "Generated XML file is incorrect"
|
|
}
|
|
|
|
if (($servers[1].id -ne 'gpg.passphrase') -or ($servers[1].passphrase -ne '${env.MAVEN_GPG_PASSPHRASE}')) {
|
|
throw "Generated XML file is incorrect"
|
|
}
|
|
|
|
test-publishing-overwrite:
|
|
name: settings.xml is overwritten if flag is true
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
- name: Create fake settings.xml
|
|
run: |
|
|
$xmlDirectory = Join-Path $HOME ".m2"
|
|
$xmlPath = Join-Path $xmlDirectory "settings.xml"
|
|
New-Item -Path $xmlDirectory -ItemType Directory
|
|
Set-Content -Path $xmlPath -Value "Fake_XML"
|
|
- name: setup-java
|
|
uses: ./
|
|
id: setup-java
|
|
with:
|
|
distribution: 'adopt'
|
|
java-version: '11'
|
|
server-id: maven
|
|
server-username: MAVEN_USERNAME
|
|
server-password: MAVEN_CENTRAL_TOKEN
|
|
gpg-passphrase: MAVEN_GPG_PASSPHRASE
|
|
- name: Validate settings.xml is overwritten
|
|
run: |
|
|
$xmlPath = Join-Path $HOME ".m2" "settings.xml"
|
|
Get-Content $xmlPath | ForEach-Object { Write-Host $_ }
|
|
|
|
$content = Get-Content $xmlPath -Raw
|
|
if ($content -notlike '*maven*') {
|
|
throw "settings.xml file is not overwritten"
|
|
}
|
|
|
|
test-publishing-skip-overwrite:
|
|
name: settings.xml is not overwritten if flag is false
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
- name: Create fake settings.xml
|
|
run: |
|
|
$xmlDirectory = Join-Path $HOME ".m2"
|
|
$xmlPath = Join-Path $xmlDirectory "settings.xml"
|
|
New-Item -Path $xmlDirectory -ItemType Directory
|
|
Set-Content -Path $xmlPath -Value "Fake_XML"
|
|
- name: setup-java
|
|
uses: ./
|
|
id: setup-java
|
|
with:
|
|
distribution: 'adopt'
|
|
java-version: '11'
|
|
server-id: maven
|
|
server-username: MAVEN_USERNAME
|
|
server-password: MAVEN_CENTRAL_TOKEN
|
|
overwrite-settings: false
|
|
gpg-passphrase: MAVEN_GPG_PASSPHRASE
|
|
- name: Validate that settings.xml is not overwritten
|
|
run: |
|
|
$xmlPath = Join-Path $HOME ".m2" "settings.xml"
|
|
$content = Get-Content -Path $xmlPath -Raw
|
|
Write-Host $content
|
|
|
|
if ($content -notlike "*Fake_XML*") {
|
|
throw "settings.xml file was overwritten but it should not be"
|
|
}
|
|
|
|
test-publishing-custom-location:
|
|
name: settings.xml in custom location
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
- name: setup-java
|
|
uses: ./
|
|
id: setup-java
|
|
with:
|
|
distribution: 'adopt'
|
|
java-version: '11'
|
|
server-id: maven
|
|
server-username: MAVEN_USERNAME
|
|
server-password: MAVEN_CENTRAL_TOKEN
|
|
gpg-passphrase: MAVEN_GPG_PASSPHRASE
|
|
settings-path: ${{ runner.temp }}
|
|
- name: Validate settings.xml location
|
|
run: |
|
|
$path = Join-Path $env:RUNNER_TEMP "settings.xml"
|
|
if (-not (Test-Path $path)) {
|
|
throw "settings.xml file is not found in expected location"
|
|
} |