From a8bc27ec3947fe38d822bd378bb779d20dc39e76 Mon Sep 17 00:00:00 2001 From: "Paulo F. Oliveira" Date: Wed, 25 Jun 2025 00:13:39 +0100 Subject: [PATCH] Add back deprecated runners with warning (#348) Add back deprecated elements, with a warning on support/maintenance --- dist/index.js | 34 +++++++++++++++++++++++++--------- src/setup-beam.js | 34 +++++++++++++++++++++++++--------- 2 files changed, 50 insertions(+), 18 deletions(-) diff --git a/dist/index.js b/dist/index.js index 7931c01..8617886 100644 --- a/dist/index.js +++ b/dist/index.js @@ -26486,17 +26486,33 @@ function getRunnerOSVersion() { macos14: 'macOS-14', macos15: 'macOS-15', } + const deprecatedImageOSToContainer = { + ubuntu18: 'ubuntu-18.04', + ubuntu20: 'ubuntu-20.04', + } const containerFromEnvImageOS = ImageOSToContainer[process.env.ImageOS] if (!containerFromEnvImageOS) { - throw new Error( - "Tried to map a target OS from env. variable 'ImageOS' (got " + - `${process.env.ImageOS}` + - "), but failed. If you're using a " + - "self-hosted runner, you should set 'env': 'ImageOS': ... to one of the following: " + - "['" + - `${Object.keys(ImageOSToContainer).join("', '")}` + - "']", - ) + const deprecatedContainerFromEnvImageOS = + deprecatedImageOSToContainer[process.env.ImageOS] + if (deprecatedContainerFromEnvImageOS) { + core.warning( + `You are using deprecated ImageOS ${deprecatedContainerFromEnvImageOS}. ` + + 'Support for maintenance is very limited. Consider a non-deprecated version as ' + + 'mentioned in the README.md.', + ) + + return deprecatedContainerFromEnvImageOS + } else { + throw new Error( + "Tried to map a target OS from env. variable 'ImageOS' (got " + + `${process.env.ImageOS}` + + "), but failed. If you're using a " + + "self-hosted runner, you should set 'env': 'ImageOS': ... to one of the following: " + + "['" + + `${Object.keys(ImageOSToContainer).join("', '")}` + + "']", + ) + } } return containerFromEnvImageOS diff --git a/src/setup-beam.js b/src/setup-beam.js index 177f64a..31b2d2d 100644 --- a/src/setup-beam.js +++ b/src/setup-beam.js @@ -611,17 +611,33 @@ function getRunnerOSVersion() { macos14: 'macOS-14', macos15: 'macOS-15', } + const deprecatedImageOSToContainer = { + ubuntu18: 'ubuntu-18.04', + ubuntu20: 'ubuntu-20.04', + } const containerFromEnvImageOS = ImageOSToContainer[process.env.ImageOS] if (!containerFromEnvImageOS) { - throw new Error( - "Tried to map a target OS from env. variable 'ImageOS' (got " + - `${process.env.ImageOS}` + - "), but failed. If you're using a " + - "self-hosted runner, you should set 'env': 'ImageOS': ... to one of the following: " + - "['" + - `${Object.keys(ImageOSToContainer).join("', '")}` + - "']", - ) + const deprecatedContainerFromEnvImageOS = + deprecatedImageOSToContainer[process.env.ImageOS] + if (deprecatedContainerFromEnvImageOS) { + core.warning( + `You are using deprecated ImageOS ${deprecatedContainerFromEnvImageOS}. ` + + 'Support for maintenance is very limited. Consider a non-deprecated version as ' + + 'mentioned in the README.md.', + ) + + return deprecatedContainerFromEnvImageOS + } else { + throw new Error( + "Tried to map a target OS from env. variable 'ImageOS' (got " + + `${process.env.ImageOS}` + + "), but failed. If you're using a " + + "self-hosted runner, you should set 'env': 'ImageOS': ... to one of the following: " + + "['" + + `${Object.keys(ImageOSToContainer).join("', '")}` + + "']", + ) + } } return containerFromEnvImageOS