Compare commits

...
4 Commits
Author SHA1 Message Date
Benoit Daloze 40bbc5ec66 Also include the commit in the cache key for truffleruby-head
* That way new caches can be created if the previous cache is for a different commit.
2020-07-11 16:08:35 +02:00
Benoit DalozeandEliza Brock Marcum 1bb7de255b Treat error from restoring the cache as a cache miss (#68)
* Don't retry or error out on restore cache errors

Co-authored-by: Eliza Brock Marcum <eliza@elizamarcum.com>
2020-07-11 16:02:33 +02:00
M. Adam Kendall 973b1baf94 Update README to reflect conditions for self-hosted runners 2020-07-09 01:07:29 +02:00
Benoit Daloze ef4b00fd12 Mention JRuby 9.2.12.0 in the README 2020-07-02 11:35:41 +02:00
3 changed files with 32 additions and 8 deletions
+8 -4
View File
@@ -15,7 +15,7 @@ This action currently supports these versions of MRI, JRuby and TruffleRuby:
| Interpreter | Versions |
| ----------- | -------- |
| Ruby | 2.2, 2.3.0 - 2.3.8, 2.4.0 - 2.4.10, 2.5.0 - 2.5.8, 2.6.0 - 2.6.6, 2.7.1, head, debug, mingw, mswin |
| JRuby | 9.1.17.0, 9.2.9.0 - 9.2.11.1, head |
| JRuby | 9.1.17.0, 9.2.9.0 - 9.2.12.0, head |
| TruffleRuby | 19.3.0 - 20.1.0, head |
| Rubinius | 4.14 |
@@ -31,7 +31,7 @@ On Windows, Ruby 2.4 uses OpenSSL 1.0.2, which is no longer maintained.
### Supported Platforms
The action works for all [GitHub-hosted runners](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners).
The action works for all [GitHub-hosted runners](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners), and [self-hosted runners](https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners), under [certain conditions](#limitations)
| Operating System | Recommended | Other Supported Versions |
| ----------- | -------- | -------- |
@@ -129,7 +129,7 @@ This caching speeds up installing gems significantly and avoids too many request
It needs a `Gemfile` under the [`working-directory`](#working-directory).
The caching works whether there is a `Gemfile.lock` or not.
If there is a `Gemfile.lock`, `bundle config --local deployment true` is used.
To perform caching, this action will use `bundle config --local path vendor/bundle`.
Therefore, the Bundler `path` should not be changed in your workflow for the cache to work.
@@ -194,7 +194,11 @@ This follows the [recommendations](https://github.com/actions/toolkit/blob/maste
## Limitations
* This action currently only works with GitHub-hosted runners, not private runners.
### Using self-hosted runners
You must meet the following parameters to use this action with self-hosted runners:
* Make sure that the operating system has `libyaml-0` installed
* The runner software is running as user `runner` with a home directory of `/home/runner`, or you have created a symlink for the home directory of whatever user that the runner is running as to `/home/runner`.
## History
Generated Vendored
+12 -2
View File
@@ -2427,7 +2427,17 @@ async function bundleInstall(platform, engine, version) {
console.log(`Cache key: ${key}`)
// restore cache & install
const cachedKey = await cache.restoreCache(paths, key, restoreKeys)
let cachedKey = null
try {
cachedKey = await cache.restoreCache(paths, key, restoreKeys)
} catch (error) {
if (error.name === cache.ValidationError.name) {
throw error;
} else {
core.info(`[warning] There was an error restoring the cache ${error.message}`)
}
}
if (cachedKey) {
console.log(`Found cache for key: ${cachedKey}`)
}
@@ -2459,7 +2469,7 @@ async function bundleInstall(platform, engine, version) {
async function computeBaseKey(platform, engine, version) {
let baseKey = `setup-ruby-bundle-install-${platform}-${engine}-${version}`
if (engine === 'ruby' && common.isHeadVersion(version)) {
if (engine !== 'jruby' && common.isHeadVersion(version)) {
let revision = '';
await exec.exec('ruby', ['-e', 'print RUBY_REVISION'], {
silent: true,
+12 -2
View File
@@ -241,7 +241,17 @@ async function bundleInstall(platform, engine, version) {
console.log(`Cache key: ${key}`)
// restore cache & install
const cachedKey = await cache.restoreCache(paths, key, restoreKeys)
let cachedKey = null
try {
cachedKey = await cache.restoreCache(paths, key, restoreKeys)
} catch (error) {
if (error.name === cache.ValidationError.name) {
throw error;
} else {
core.info(`[warning] There was an error restoring the cache ${error.message}`)
}
}
if (cachedKey) {
console.log(`Found cache for key: ${cachedKey}`)
}
@@ -273,7 +283,7 @@ async function bundleInstall(platform, engine, version) {
async function computeBaseKey(platform, engine, version) {
let baseKey = `setup-ruby-bundle-install-${platform}-${engine}-${version}`
if (engine === 'ruby' && common.isHeadVersion(version)) {
if (engine !== 'jruby' && common.isHeadVersion(version)) {
let revision = '';
await exec.exec('ruby', ['-e', 'print RUBY_REVISION'], {
silent: true,