mirror of
https://github.com/ruby/setup-ruby.git
synced 2026-09-13 14:34:21 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dc58db7220 | ||
|
|
0e7d36a67f |
@@ -113,6 +113,23 @@ jobs:
|
||||
bundler: 2.1.4
|
||||
- run: bundle --version | grep -F 2.1.4
|
||||
|
||||
testGemfileMatrix:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
gemfile: [ rails5, rails6 ]
|
||||
name: "Test with ${{ matrix.gemfile }} gemfile"
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: ./
|
||||
with:
|
||||
ruby-version: 2.6
|
||||
bundler-cache: true
|
||||
- run: bundle exec rails --version
|
||||
|
||||
lint:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
|
||||
+6
-4
@@ -52076,9 +52076,11 @@ async function bundleInstall(gemfile, lockFile, platform, engine, rubyVersion, b
|
||||
}
|
||||
|
||||
// config
|
||||
const path = 'vendor/bundle'
|
||||
const cachePath = 'vendor/bundle'
|
||||
// An absolute path, so it is reliably under $PWD/vendor/bundle, and not relative to the gemfile's directory
|
||||
const bundleCachePath = path.join(process.cwd(), cachePath)
|
||||
|
||||
await exec.exec('bundle', ['config', '--local', 'path', path], envOptions)
|
||||
await exec.exec('bundle', ['config', '--local', 'path', bundleCachePath], envOptions)
|
||||
|
||||
if (fs.existsSync(lockFile)) {
|
||||
await exec.exec('bundle', ['config', '--local', 'deployment', 'true'], envOptions)
|
||||
@@ -52089,7 +52091,7 @@ async function bundleInstall(gemfile, lockFile, platform, engine, rubyVersion, b
|
||||
}
|
||||
|
||||
// cache key
|
||||
const paths = [path]
|
||||
const paths = [cachePath]
|
||||
const baseKey = await computeBaseKey(platform, engine, rubyVersion, lockFile)
|
||||
const key = `${baseKey}-${await common.hashFile(lockFile)}`
|
||||
// If only Gemfile.lock changes we can reuse part of the cache, and clean old gem versions below
|
||||
@@ -52140,7 +52142,7 @@ async function bundleInstall(gemfile, lockFile, platform, engine, rubyVersion, b
|
||||
}
|
||||
|
||||
async function computeBaseKey(platform, engine, version, lockFile) {
|
||||
let key = `setup-ruby-bundler-cache-v2-${platform}-${engine}-${version}`
|
||||
let key = `setup-ruby-bundler-cache-v3-${platform}-${engine}-${version}`
|
||||
|
||||
if (engine !== 'jruby' && common.isHeadVersion(version)) {
|
||||
let revision = '';
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "rails", "~> 5.2.0"
|
||||
@@ -0,0 +1,3 @@
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "rails", "~> 6.0.0"
|
||||
@@ -248,9 +248,11 @@ async function bundleInstall(gemfile, lockFile, platform, engine, rubyVersion, b
|
||||
}
|
||||
|
||||
// config
|
||||
const path = 'vendor/bundle'
|
||||
const cachePath = 'vendor/bundle'
|
||||
// An absolute path, so it is reliably under $PWD/vendor/bundle, and not relative to the gemfile's directory
|
||||
const bundleCachePath = path.join(process.cwd(), cachePath)
|
||||
|
||||
await exec.exec('bundle', ['config', '--local', 'path', path], envOptions)
|
||||
await exec.exec('bundle', ['config', '--local', 'path', bundleCachePath], envOptions)
|
||||
|
||||
if (fs.existsSync(lockFile)) {
|
||||
await exec.exec('bundle', ['config', '--local', 'deployment', 'true'], envOptions)
|
||||
@@ -261,7 +263,7 @@ async function bundleInstall(gemfile, lockFile, platform, engine, rubyVersion, b
|
||||
}
|
||||
|
||||
// cache key
|
||||
const paths = [path]
|
||||
const paths = [cachePath]
|
||||
const baseKey = await computeBaseKey(platform, engine, rubyVersion, lockFile)
|
||||
const key = `${baseKey}-${await common.hashFile(lockFile)}`
|
||||
// If only Gemfile.lock changes we can reuse part of the cache, and clean old gem versions below
|
||||
@@ -312,7 +314,7 @@ async function bundleInstall(gemfile, lockFile, platform, engine, rubyVersion, b
|
||||
}
|
||||
|
||||
async function computeBaseKey(platform, engine, version, lockFile) {
|
||||
let key = `setup-ruby-bundler-cache-v2-${platform}-${engine}-${version}`
|
||||
let key = `setup-ruby-bundler-cache-v3-${platform}-${engine}-${version}`
|
||||
|
||||
if (engine !== 'jruby' && common.isHeadVersion(version)) {
|
||||
let revision = '';
|
||||
|
||||
Reference in New Issue
Block a user