Compare commits

..
6 Commits
9 changed files with 1103 additions and 1643 deletions
+12
View File
@@ -239,6 +239,18 @@ jobs:
bundler: 2.2.3
- run: bundle --version | grep -F "Bundler version 2.2.3"
testBundlerDev:
name: "Test BUNDLED WITH Bundler dev"
runs-on: ubuntu-latest
env:
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/bundler-dev.gemfile
steps:
- uses: actions/checkout@v3
- uses: ./
with:
ruby-version: ruby-head
bundler-cache: true
testDependencyOnBundler1:
name: "Test gemfile depending on Bundler 1"
runs-on: ubuntu-latest
+2 -2
View File
@@ -17,8 +17,8 @@ This action currently supports these versions of MRI, JRuby and TruffleRuby:
| ----------- | -------- |
| `ruby` | 1.9.3, 2.0.0, 2.1.9, 2.2, all versions from 2.3.0 until 3.2.0-preview1, head, debug, mingw, mswin, ucrt |
| `jruby` | 9.1.17.0 - 9.3.9.0, head |
| `truffleruby` | 19.3.0 - 22.2.0, head |
| `truffleruby+graalvm` | 21.2.0 - 22.2.0, head |
| `truffleruby` | 19.3.0 - 22.3.0, head |
| `truffleruby+graalvm` | 21.2.0 - 22.3.0, head |
`ruby-debug` is the same as `ruby-head` but with assertions enabled (`-DRUBY_DEBUG=1`).
+11 -5
View File
@@ -6,6 +6,7 @@ const cache = require('@actions/cache')
const common = require('./common')
export const DEFAULT_CACHE_VERSION = '0'
export const BUNDLER_VERSION_REGEXP = /^\d+(?:\.\d+){0,2}$/
// The returned gemfile is guaranteed to exist, the lockfile might not exist
export function detectGemfiles() {
@@ -30,10 +31,14 @@ function readBundledWithFromGemfileLock(lockFile) {
const bundledWithLine = lines.findIndex(line => /^BUNDLED WITH$/.test(line.trim()))
if (bundledWithLine !== -1) {
const nextLine = lines[bundledWithLine+1]
if (nextLine && /^\d+/.test(nextLine.trim())) {
if (nextLine) {
const bundlerVersion = nextLine.trim()
console.log(`Using Bundler ${bundlerVersion} from ${lockFile} BUNDLED WITH ${bundlerVersion}`)
return bundlerVersion
if (BUNDLER_VERSION_REGEXP.test(bundlerVersion)) {
console.log(`Using Bundler ${bundlerVersion} from ${lockFile} BUNDLED WITH ${bundlerVersion}`)
return bundlerVersion
} else {
console.log(`Could not parse BUNDLED WITH version as a valid Bundler release, ignoring it: ${bundlerVersion}`)
}
}
}
}
@@ -95,7 +100,7 @@ export async function installBundler(bundlerVersionInput, rubygemsInputSet, lock
bundlerVersion = '2'
}
if (/^\d+(?:\.\d+){0,2}$/.test(bundlerVersion)) {
if (BUNDLER_VERSION_REGEXP.test(bundlerVersion)) {
// OK - input is a 1, 2, or 3 part version number
} else {
throw new Error(`Cannot parse bundler input: ${bundlerVersion}`)
@@ -117,7 +122,8 @@ export async function installBundler(bundlerVersionInput, rubygemsInputSet, lock
const gem = path.join(rubyPrefix, 'bin', 'gem')
// Workaround for https://github.com/rubygems/rubygems/issues/5245
const force = (platform.startsWith('windows-') && engine === 'ruby' && floatVersion >= 3.1) ? ['--force'] : []
// and for https://github.com/oracle/truffleruby/issues/2780
const force = ((platform.startsWith('windows-') && engine === 'ruby' && floatVersion >= 3.1) || (engine === 'truffleruby')) ? ['--force'] : []
const versionParts = [...bundlerVersion.matchAll(/\d+/g)].length
const bundlerVersionConstraint = versionParts === 3 ? bundlerVersion : `~> ${bundlerVersion}.0`
Generated Vendored
+1023 -1591
View File
File diff suppressed because it is too large Load Diff
+3
View File
@@ -0,0 +1,3 @@
source 'https://rubygems.org'
gem "path"
+13
View File
@@ -0,0 +1,13 @@
GEM
remote: https://rubygems.org/
specs:
path (2.0.1)
PLATFORMS
x86_64-linux
DEPENDENCIES
path
BUNDLED WITH
2.4.0.dev
+3 -3
View File
@@ -22,11 +22,11 @@
},
"homepage": "https://github.com/ruby/setup-ruby",
"dependencies": {
"@actions/cache": "^2.0.2",
"@actions/core": "^1.9.1",
"@actions/cache": "^3",
"@actions/core": "^1.10.0",
"@actions/exec": "^1.1.1",
"@actions/io": "^1.1.2",
"@actions/tool-cache": "^1.7.2",
"@actions/tool-cache": "^2",
"semver": "^7.3.7"
},
"devDependencies": {
+3 -3
View File
@@ -11,7 +11,7 @@
"2.7.0", "2.7.1", "2.7.2", "2.7.3", "2.7.4", "2.7.5", "2.7.6",
"3.0.0-preview1", "3.0.0-preview2", "3.0.0-rc1", "3.0.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4",
"3.1.0-preview1", "3.1.0", "3.1.1", "3.1.2",
"3.2.0-preview1", "3.2.0-preview2",
"3.2.0-preview1", "3.2.0-preview2", "3.2.0-preview3",
"head", "debug"
],
"jruby": [
@@ -24,12 +24,12 @@
"19.3.0", "19.3.1",
"20.0.0", "20.1.0", "20.2.0", "20.3.0",
"21.0.0", "21.1.0", "21.2.0", "21.2.0.1", "21.3.0",
"22.0.0.2", "22.1.0", "22.2.0",
"22.0.0.2", "22.1.0", "22.2.0", "22.3.0",
"head"
],
"truffleruby+graalvm": [
"21.2.0", "21.3.0",
"22.0.0.2", "22.1.0", "22.2.0",
"22.0.0.2", "22.1.0", "22.2.0", "22.3.0",
"head"
]
}
Generated
+33 -39
View File
@@ -2,22 +2,23 @@
# yarn lockfile v1
"@actions/cache@^2.0.2":
version "2.0.6"
resolved "https://registry.yarnpkg.com/@actions/cache/-/cache-2.0.6.tgz#fa5d150219c11eb297b2b766b5ba53aeee3e6e3e"
integrity sha512-Z39ZrWaTRRPaV/AOQdY7hve+Iy/HloH5prpz+k+0lZgGQs/3SeO0UYSIakVuXOk2pdMZnl0Nv0PoK1rmh9YfGQ==
"@actions/cache@^3":
version "3.0.6"
resolved "https://registry.yarnpkg.com/@actions/cache/-/cache-3.0.6.tgz#b76c51a78c927fcf0eb631b96a07e34f575c422b"
integrity sha512-Tttit+nqmxgb2M5Ufj5p8Lwd+fx329HOTLzxMrY4aaaZqBzqetgWlEfszMyiXfX4cJML+bzLJbyD9rNYt8TJ8g==
dependencies:
"@actions/core" "^1.2.6"
"@actions/core" "^1.10.0"
"@actions/exec" "^1.0.1"
"@actions/glob" "^0.1.0"
"@actions/http-client" "^2.0.1"
"@actions/io" "^1.0.1"
"@azure/abort-controller" "^1.1.0"
"@azure/ms-rest-js" "^2.6.0"
"@azure/storage-blob" "^12.8.0"
semver "^6.1.0"
uuid "^3.3.3"
"@actions/core@^1.2.6", "@actions/core@^1.9.1":
"@actions/core@^1.10.0", "@actions/core@^1.2.6":
version "1.10.0"
resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.10.0.tgz#44551c3c71163949a2f06e94d9ca2157a0cfac4f"
integrity sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==
@@ -40,13 +41,6 @@
"@actions/core" "^1.2.6"
minimatch "^3.0.4"
"@actions/http-client@^1.0.8":
version "1.0.11"
resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-1.0.11.tgz#c58b12e9aa8b159ee39e7dd6cbd0e91d905633c0"
integrity sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==
dependencies:
tunnel "0.0.6"
"@actions/http-client@^2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.0.1.tgz#873f4ca98fe32f6839462a6f046332677322f99c"
@@ -59,19 +53,19 @@
resolved "https://registry.yarnpkg.com/@actions/io/-/io-1.1.2.tgz#766ac09674a289ce0f1550ffe0a6eac9261a8ea9"
integrity sha512-d+RwPlMp+2qmBfeLYPLXuSRykDIFEwdTA0MMxzS9kh4kvP1ftrc/9fzy6pX6qAjthdXruHQ6/6kjT/DNo5ALuw==
"@actions/tool-cache@^1.7.2":
version "1.7.2"
resolved "https://registry.yarnpkg.com/@actions/tool-cache/-/tool-cache-1.7.2.tgz#389ad15916f91999959c6b2865144839ecc571a9"
integrity sha512-GYlcgg/PK2RWBrGG2sFg6s7im3S94LMKuqAv8UPDq/pGTZbuEvmN4a95Fn1Z19OE+vt7UbUHeewOD5tEBT+4TQ==
"@actions/tool-cache@^2":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@actions/tool-cache/-/tool-cache-2.0.1.tgz#8a649b9c07838d9d750c9864814e66a7660ab720"
integrity sha512-iPU+mNwrbA8jodY8eyo/0S/QqCKDajiR8OxWTnSk/SnYg0sj8Hp4QcUEVC1YFpHWXtrfbQrE13Jz4k4HXJQKcA==
dependencies:
"@actions/core" "^1.2.6"
"@actions/exec" "^1.0.0"
"@actions/http-client" "^1.0.8"
"@actions/http-client" "^2.0.1"
"@actions/io" "^1.1.1"
semver "^6.1.0"
uuid "^3.3.2"
"@azure/abort-controller@^1.0.0":
"@azure/abort-controller@^1.0.0", "@azure/abort-controller@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@azure/abort-controller/-/abort-controller-1.1.0.tgz#788ee78457a55af8a1ad342acb182383d2119249"
integrity sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==
@@ -87,14 +81,14 @@
tslib "^2.2.0"
"@azure/core-http@^2.0.0":
version "2.2.7"
resolved "https://registry.yarnpkg.com/@azure/core-http/-/core-http-2.2.7.tgz#f4f52b3b7b8adb5387acf11102e751358a31fa6f"
integrity sha512-TyGMeDm90mkRS8XzSQbSMD+TqnWL1XKGCh0x0QVGMD8COH2yU0q5SaHm/IBEBkzcq0u73NhS/p57T3KVSgUFqQ==
version "2.3.1"
resolved "https://registry.yarnpkg.com/@azure/core-http/-/core-http-2.3.1.tgz#eed8a7d012ba8c576c557828f66af0fc4e52b23a"
integrity sha512-cur03BUwV0Tbv81bQBOLafFB02B6G++K6F2O3IMl8pSE2QlXm3cu11bfyBNlDUKi5U+xnB3GC63ae3athhkx6Q==
dependencies:
"@azure/abort-controller" "^1.0.0"
"@azure/core-auth" "^1.3.0"
"@azure/core-tracing" "1.0.0-preview.13"
"@azure/core-util" "^1.1.0"
"@azure/core-util" "^1.1.1"
"@azure/logger" "^1.0.0"
"@types/node-fetch" "^2.5.0"
"@types/tunnel" "^0.0.3"
@@ -117,9 +111,9 @@
tslib "^2.2.0"
"@azure/core-paging@^1.1.1":
version "1.3.0"
resolved "https://registry.yarnpkg.com/@azure/core-paging/-/core-paging-1.3.0.tgz#ebf6520a931be7d5ff1cf58bc4fe6c14d6a3080d"
integrity sha512-H6Tg9eBm0brHqLy0OSAGzxIh1t4UL8eZVrSUMJ60Ra9cwq2pOskFqVpz2pYoHDsBY1jZ4V/P8LRGb5D5pmC6rg==
version "1.4.0"
resolved "https://registry.yarnpkg.com/@azure/core-paging/-/core-paging-1.4.0.tgz#b04a73ad18149733a848c3089a5e5ed144592338"
integrity sha512-tabFtZTg8D9XqZKEfNUOGh63SuYeOxmvH4GDcOJN+R1bZWZ1FZskctgY9Pmuwzhn+0Xvq9rmimK9hsvtLkeBsw==
dependencies:
tslib "^2.2.0"
@@ -131,7 +125,7 @@
"@opentelemetry/api" "^1.0.1"
tslib "^2.2.0"
"@azure/core-util@^1.1.0":
"@azure/core-util@^1.1.1":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.1.1.tgz#8f87b3dd468795df0f0849d9f096c3e7b29452c1"
integrity sha512-A4TBYVQCtHOigFb2ETiiKFDocBoI1Zk2Ui1KpI42aJSIDexF7DHQFpnjonltXAIU/ceH+1fsZAWWgvX6/AKzog==
@@ -162,9 +156,9 @@
xml2js "^0.4.19"
"@azure/storage-blob@^12.8.0":
version "12.11.0"
resolved "https://registry.yarnpkg.com/@azure/storage-blob/-/storage-blob-12.11.0.tgz#2e27902ab293715411ab1f7c8fae422ad0b4b827"
integrity sha512-na+FisoARuaOWaHWpmdtk3FeuTWf2VWamdJ9/TJJzj5ZdXPLC3juoDgFs6XVuJIoK30yuBpyFBEDXVRK4pB7Tg==
version "12.12.0"
resolved "https://registry.yarnpkg.com/@azure/storage-blob/-/storage-blob-12.12.0.tgz#25e277c885692d5adcd8c2a949789b2837a74c59"
integrity sha512-o/Mf6lkyYG/eBW4/hXB9864RxVNmAkcKHjsGR6Inlp5hupa3exjSyH2KjO3tLO//YGA+tS+17hM2bxRl9Sn16g==
dependencies:
"@azure/abort-controller" "^1.0.0"
"@azure/core-http" "^2.0.0"
@@ -176,9 +170,9 @@
tslib "^2.2.0"
"@opentelemetry/api@^1.0.1":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.2.0.tgz#89ef99401cde6208cff98760b67663726ef26686"
integrity sha512-0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g==
version "1.3.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.3.0.tgz#27c6f776ac3c1c616651e506a89f438a0ed6a055"
integrity sha512-YveTnGNsFFixTKJz09Oi4zYkiLT5af3WpZDu4aIUM7xX+2bHAkOJayFTVQd6zB8kkWPpbua4Ha6Ql00grdLlJQ==
"@types/node-fetch@^2.5.0":
version "2.6.2"
@@ -189,9 +183,9 @@
form-data "^3.0.0"
"@types/node@*":
version "18.8.5"
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.8.5.tgz#6a31f820c1077c3f8ce44f9e203e68a176e8f59e"
integrity sha512-Bq7G3AErwe5A/Zki5fdD3O6+0zDChhg671NfPjtIcbtzDNZTv4NPKMRFr7gtYPG7y+B8uTiNK4Ngd9T0FTar6Q==
version "18.11.9"
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.9.tgz#02d013de7058cea16d36168ef2fc653464cfbad4"
integrity sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==
"@types/tunnel@^0.0.3":
version "0.0.3"
@@ -394,9 +388,9 @@ tslib@^1.10.0:
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
tslib@^2.2.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
version "2.4.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e"
integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==
tunnel@0.0.6, tunnel@^0.0.6:
version "0.0.6"