-
Notifications
You must be signed in to change notification settings - Fork 747
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge "v2-preview" branch into "main" (#150)
* 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>
- Loading branch information
1 parent
ebb424f
commit b53500d
Showing
67 changed files
with
47,113 additions
and
28,375 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name: Build Action | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
- releases/* | ||
- v2-preview | ||
paths-ignore: | ||
- '**.md' | ||
pull_request: | ||
paths-ignore: | ||
- '**.md' | ||
|
||
jobs: | ||
build: | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-latest, windows-latest, macos-latest] | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Setup Node.JS 12 | ||
uses: actions/setup-node@v2 | ||
with: | ||
node-version: 12.x | ||
- run: npm ci | ||
- run: npm run build | ||
- run: npm run format-check | ||
- run: npm test | ||
- name: Verify no unstaged changes | ||
if: runner.os != 'windows' | ||
run: bash __tests__/verify-no-unstaged-changes.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
name: Validate local file | ||
on: | ||
push: | ||
branches: | ||
- main | ||
- releases/* | ||
- v2-preview | ||
paths-ignore: | ||
- '**.md' | ||
pull_request: | ||
paths-ignore: | ||
- '**.md' | ||
|
||
jobs: | ||
setup-java-local-file-adopt: | ||
name: Validate installation from local file Adopt | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [macos-latest, windows-latest, ubuntu-latest] | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
- name: Download Adopt OpenJDK file | ||
run: | | ||
if ($IsLinux) { | ||
$downloadUrl = "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-jdk_x64_linux_hotspot_11.0.10_9.tar.gz" | ||
$localFilename = "java_package.tar.gz" | ||
} elseif ($IsMacOS) { | ||
$downloadUrl = "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-jdk_x64_mac_hotspot_11.0.10_9.tar.gz" | ||
$localFilename = "java_package.tar.gz" | ||
} elseif ($IsWindows) { | ||
$downloadUrl = "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-jdk_x64_windows_hotspot_11.0.10_9.zip" | ||
$localFilename = "java_package.zip" | ||
} | ||
echo "LocalFilename=$localFilename" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | ||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, "$env:RUNNER_TEMP/$localFilename") | ||
shell: pwsh | ||
- name: setup-java | ||
uses: ./ | ||
id: setup-java | ||
with: | ||
distribution: 'jdkfile' | ||
jdkFile: ${{ runner.temp }}/${{ env.LocalFilename }} | ||
java-version: '11.0.0-ea' | ||
architecture: x64 | ||
- name: Verify Java version | ||
run: bash __tests__/verify-java.sh "11.0.10" "${{ steps.setup-java.outputs.path }}" | ||
shell: bash | ||
|
||
setup-java-local-file-zulu: | ||
name: Validate installation from local file Zulu | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [macos-latest, windows-latest, ubuntu-latest] | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
- name: Download Zulu OpenJDK file | ||
run: | | ||
if ($IsLinux) { | ||
$downloadUrl = "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-linux_x64.tar.gz" | ||
$localFilename = "java_package.tar.gz" | ||
} elseif ($IsMacOS) { | ||
$downloadUrl = "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz" | ||
$localFilename = "java_package.tar.gz" | ||
} elseif ($IsWindows) { | ||
$downloadUrl = "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-win_x64.zip" | ||
$localFilename = "java_package.zip" | ||
} | ||
echo "LocalFilename=$localFilename" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | ||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, "$env:RUNNER_TEMP/$localFilename") | ||
shell: pwsh | ||
- name: setup-java | ||
uses: ./ | ||
id: setup-java | ||
with: | ||
distribution: 'jdkfile' | ||
jdkFile: ${{ runner.temp }}/${{ env.LocalFilename }} | ||
java-version: '11.0.0-ea' | ||
architecture: x64 | ||
- name: Verify Java version | ||
run: bash __tests__/verify-java.sh "11.0" "${{ steps.setup-java.outputs.path }}" | ||
shell: bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,153 @@ | ||
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" | ||
} |
Oops, something went wrong.