mirror of
https://github.com/actions/setup-java.git
synced 2026-06-29 18:40:33 +03:00
b150355f04
* Add verify-signature plumbing and Temurin verification support * Rebuild dist after signature verification changes * Refine signature verification errors and regenerate dist * refactor: make gpg.ts generic, move Adoptium-specific constant to temurin distribution * fix: mock renameWinArchive in temurin tests and add signature e2e job * refactor: bundle Adoptium public key, replace keyserver lookup with local import * feat: add verify-signature-public-key input to allow custom GPG key override * refactor: extract Adoptium public key to adoptium-key.ts; tighten gpg.ts cleanup scope * Add verify-signature plumbing and Temurin verification support * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Add Microsoft signature verification support * Regenerate dist bundles for Microsoft signature checks * Harden Microsoft signature URL handling * Add setup-java-microsoft-signature-verification e2e job * chore: regenerate dist files * Fix e2e-versions: remove duplicate job, update signature jobs to checkout@v7 with env vars * Fix Prettier formatting in test files * fix: mock renameWinArchive in microsoft-installer tests to fix Windows CI failure * fix: use --homedir flag instead of GNUPGHOME env var for Windows GPG compatibility The Git-bundled GPG on Windows (MSYS2-based) does not automatically convert Windows-style paths in environment variables like GNUPGHOME. This caused GPG to fail with exit code 2 when verifying Microsoft JDK signatures on Windows, because the GNUPGHOME path (D:\a\_temp\...) was not recognized as a valid POSIX path. Fix: pass --homedir as an explicit command-line argument to both gpg --import and gpg --verify. MSYS2 does correctly convert Windows paths in command-line arguments, so this approach works reliably on Windows, Linux, and macOS. * fix: convert Windows paths to POSIX format for MSYS2 GPG on Windows The Git-bundled GPG on Windows (C:\Program Files\Git\usr\bin\gpg.exe) is an MSYS2-based binary that uses POSIX path conventions internally. When Windows-style paths with backslashes and drive letters (D:\a\_temp\...) are passed as arguments, GPG may fail to resolve them correctly, resulting in a fatal error (exit code 2). Fix: add a toGpgPath() helper that converts Windows paths to MSYS2 POSIX format (/d/a/_temp/...) before passing them to any gpg command. On Linux and macOS the helper is a no-op. Applied to all four paths used in verifyPackageSignature: - gpgHome (--homedir argument) - publicKeyFile (--import argument) - signaturePath (--verify signature argument) - archivePath (--verify data argument) * Fix gpg test formatting --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Bruno Borges <brborges@microsoft.com>
35 lines
1.6 KiB
TypeScript
35 lines
1.6 KiB
TypeScript
export const MACOS_JAVA_CONTENT_POSTFIX = 'Contents/Home';
|
|
export const INPUT_JAVA_VERSION = 'java-version';
|
|
export const INPUT_JAVA_VERSION_FILE = 'java-version-file';
|
|
export const INPUT_ARCHITECTURE = 'architecture';
|
|
export const INPUT_JAVA_PACKAGE = 'java-package';
|
|
export const INPUT_DISTRIBUTION = 'distribution';
|
|
export const INPUT_JDK_FILE = 'jdkFile';
|
|
export const INPUT_CHECK_LATEST = 'check-latest';
|
|
export const INPUT_VERIFY_SIGNATURE = 'verify-signature';
|
|
export const INPUT_VERIFY_SIGNATURE_PUBLIC_KEY = 'verify-signature-public-key';
|
|
export const INPUT_SERVER_ID = 'server-id';
|
|
export const INPUT_SERVER_USERNAME = 'server-username';
|
|
export const INPUT_SERVER_PASSWORD = 'server-password';
|
|
export const INPUT_SETTINGS_PATH = 'settings-path';
|
|
export const INPUT_OVERWRITE_SETTINGS = 'overwrite-settings';
|
|
export const INPUT_GPG_PRIVATE_KEY = 'gpg-private-key';
|
|
export const INPUT_GPG_PASSPHRASE = 'gpg-passphrase';
|
|
|
|
export const INPUT_DEFAULT_GPG_PRIVATE_KEY = undefined;
|
|
export const INPUT_DEFAULT_GPG_PASSPHRASE = 'GPG_PASSPHRASE';
|
|
|
|
export const INPUT_CACHE = 'cache';
|
|
export const INPUT_CACHE_DEPENDENCY_PATH = 'cache-dependency-path';
|
|
export const INPUT_JOB_STATUS = 'job-status';
|
|
|
|
export const STATE_GPG_PRIVATE_KEY_FINGERPRINT = 'gpg-private-key-fingerprint';
|
|
|
|
export const M2_DIR = '.m2';
|
|
export const MVN_SETTINGS_FILE = 'settings.xml';
|
|
export const MVN_TOOLCHAINS_FILE = 'toolchains.xml';
|
|
export const INPUT_MVN_TOOLCHAIN_ID = 'mvn-toolchain-id';
|
|
export const INPUT_MVN_TOOLCHAIN_VENDOR = 'mvn-toolchain-vendor';
|
|
|
|
export const DISTRIBUTIONS_ONLY_MAJOR_VERSION = ['corretto'];
|