Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 9.13.0 #2828

Merged
merged 132 commits into from
Aug 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
132 commits
Select commit Hold shift + click to select a range
78e4711
framework detection logic for padrino and Sinatra
prateeksen Jul 25, 2024
57e4eca
Updated os distribution identification logic
prateeksen Jul 25, 2024
534ddad
revert framework names
prateeksen Jul 25, 2024
8e17c94
Add Security Agent comments to `newrelic.yml` (#2773)
hannahramadan Jul 25, 2024
41f6415
add windows environment detection
prateeksen Jul 26, 2024
34610b8
Update spacing for configs to aid translation tool
kaylareopelle Jul 26, 2024
628c026
Merge branch 'dev' into default-source-spacing-fix
kaylareopelle Jul 26, 2024
1afba6d
add UTs for os_distribution utility method
prateeksen Jul 29, 2024
13500e0
removed training space for rubocop
prateeksen Jul 29, 2024
a0706c1
Merge pull request #2785 from newrelic/default-source-spacing-fix
kaylareopelle Jul 29, 2024
5510f54
CI: upgrade to Ruby 3.2.5
fallwith Jul 29, 2024
6a0fa46
optmized windows matching
prateeksen Jul 30, 2024
7f1dfee
Merge pull request #2779 from newrelic/minor-updates-in-env-info
fallwith Jul 30, 2024
6ca2297
grape and padrino frmework detection got env report
prateeksen Jul 30, 2024
98159f5
remove debug stdout
prateeksen Jul 30, 2024
0a571c6
Merge pull request #2788 from newrelic/ruby325
fallwith Jul 30, 2024
881f3d5
Exclude learn.newrelic.com from HealthyUrlsTest
kaylareopelle Aug 1, 2024
63c1e77
Merge pull request #2792 from newrelic/healthy-urls-update
kaylareopelle Aug 2, 2024
c99a9a3
Update lib/new_relic/control/frameworks/padrino.rb
prateeksen Aug 5, 2024
051ec8e
Update lib/new_relic/control/frameworks/grape.rb
prateeksen Aug 5, 2024
2ba1ef3
inherit padrino from sinatra instead of ruby framework
prateeksen Aug 5, 2024
10b410a
Add tests to verify framework detection
kaylareopelle Aug 5, 2024
07b52cf
Merge pull request #2789 from newrelic/grape-padrino-framework-detection
kaylareopelle Aug 5, 2024
d2e7548
Add changelog entry for grape/padrino
kaylareopelle Aug 5, 2024
5c53afb
Merge branch 'dev' into framework-detection-tests
kaylareopelle Aug 5, 2024
0df30bc
Merge pull request #2794 from newrelic/grape-padrino-changelog
kaylareopelle Aug 5, 2024
52d9881
Revert falcon detection changes
kaylareopelle Aug 5, 2024
587fcbb
Merge pull request #2793 from newrelic/framework-detection-tests
kaylareopelle Aug 5, 2024
8a80e08
Update lib/new_relic/local_environment.rb
kaylareopelle Aug 5, 2024
58757d3
Add test for falcon dispatcher detection
kaylareopelle Aug 5, 2024
f15d4d7
Merge branch 'falcon-detection' of github.com:newrelic/newrelic-ruby-…
kaylareopelle Aug 5, 2024
2dfc0a3
Update CHANGELOG to align with new code
kaylareopelle Aug 5, 2024
b47141e
Update CHANGELOG.md
kaylareopelle Aug 6, 2024
9f3b281
Merge pull request #2795 from newrelic/falcon-detection
kaylareopelle Aug 6, 2024
fa1462f
Initial commit for OpenSearch instrumentation
kaylareopelle Aug 7, 2024
f11602b
Draft opensearch service for CI
kaylareopelle Aug 7, 2024
7dae0d9
CI: Node.js 20 GHA updates (#2787)
hannahramadan Aug 7, 2024
c9cd857
Adjust test environment for opensearch
kaylareopelle Aug 7, 2024
bd239ac
Fix spacing
kaylareopelle Aug 7, 2024
858a9a5
Remove deprecation messages for completed actions
kaylareopelle Aug 7, 2024
8f6b709
Small updates to docker-compose and ci_cron
kaylareopelle Aug 7, 2024
7194bd0
Remove unnecessary ::
kaylareopelle Aug 7, 2024
dd1f09f
Update images for opensearch ci services
kaylareopelle Aug 7, 2024
7e4ba64
Update opensearch version
kaylareopelle Aug 7, 2024
430d6ba
disable security plugins
kaylareopelle Aug 7, 2024
314ea59
disable demo config
kaylareopelle Aug 7, 2024
77094d6
Remove options
kaylareopelle Aug 7, 2024
737c2b9
Simplify opensearch ci.yml service
kaylareopelle Aug 7, 2024
d2adc1e
Add details for health check
kaylareopelle Aug 8, 2024
dd9e115
JRuby fix for concurrency issue with manager cache
fallwith Aug 8, 2024
3e66700
Adjust opensearch ci service
kaylareopelle Aug 8, 2024
e95edfb
Remove other services for faster feedback
kaylareopelle Aug 8, 2024
4a9f08c
Add some services back
kaylareopelle Aug 8, 2024
ad099e6
Fix test port
kaylareopelle Aug 8, 2024
bc556fa
Remove security disabling
kaylareopelle Aug 8, 2024
b496be3
Add security disable configs back to opensearch
kaylareopelle Aug 9, 2024
cfab1c7
CHANGELOG entry for PR 2798
fallwith Aug 9, 2024
82078ae
try removing demo config only
kaylareopelle Aug 9, 2024
b8e52ad
Revert
kaylareopelle Aug 9, 2024
2304b1a
Push the version
kaylareopelle Aug 9, 2024
27e3a0d
update to match docker-rails and searchkick
kaylareopelle Aug 9, 2024
2c9b460
rubocop
kaylareopelle Aug 9, 2024
260c4c8
Merge pull request #2798 from newrelic/jruby_fix
fallwith Aug 9, 2024
d726f3c
Revert to what works locally
kaylareopelle Aug 9, 2024
4dac92a
Try to connect to elasticsearch
kaylareopelle Aug 9, 2024
fdd258c
Downgrade to 7.10 elasticsearch
kaylareopelle Aug 9, 2024
cede740
Update elasticsearch7 image to 7.10.1
kaylareopelle Aug 9, 2024
ab3b26f
Run tests on older opensearch
kaylareopelle Aug 9, 2024
c5c9413
Run only 'rest'
kaylareopelle Aug 9, 2024
3bdacb0
Opensearch 2 CI action step
kaylareopelle Aug 9, 2024
d186de4
only opensearch
kaylareopelle Aug 9, 2024
e86cbcf
fix error
kaylareopelle Aug 9, 2024
e007242
Add 2.4 back
kaylareopelle Aug 9, 2024
9dcb6ad
Cleanup post-CI
kaylareopelle Aug 9, 2024
39a6758
Make 'true' a string in suite condition
kaylareopelle Aug 9, 2024
a90fe02
Merge branch 'main' into opensearch-instrumentation
kaylareopelle Aug 9, 2024
7ea4df9
Merge branch 'dev' into opensearch-instrumentation
kaylareopelle Aug 9, 2024
9f26446
Add OpenSearch changelog entry
kaylareopelle Aug 9, 2024
b1d192f
CI: Rails v8.0 test fix, Rails v7.2 out of beta
fallwith Aug 10, 2024
195aaf7
CI: stream test - only check for send_test_stream
fallwith Aug 12, 2024
4f71983
Merge pull request #2802 from newrelic/sliar
fallwith Aug 12, 2024
0f77f60
Add a 2.4-compatible version to the gemspec
kaylareopelle Aug 12, 2024
53b2fe4
Update docker-compose.yml
kaylareopelle Aug 12, 2024
665d621
Revert changes to instrumentation generator
kaylareopelle Aug 12, 2024
1e09324
Merge branch 'opensearch-instrumentation' of github.com:newrelic/newr…
kaylareopelle Aug 12, 2024
2959ec8
Fix instrumentation generator
kaylareopelle Aug 12, 2024
35b1090
Update argument defaults to reduce object alloc
kaylareopelle Aug 12, 2024
9009a39
Merge pull request #2796 from newrelic/opensearch-instrumentation
kaylareopelle Aug 13, 2024
db7125e
Vendor workflow-conclusion (#2801)
hannahramadan Aug 13, 2024
9253cdb
Vendor variable-mapper (#2799)
hannahramadan Aug 13, 2024
3f1ddb9
Update path (#2807)
hannahramadan Aug 13, 2024
e3e813d
Vendor workflow conclusion action (#2808)
hannahramadan Aug 13, 2024
420c374
Enhanced AWS Lambda serverless functionality
fallwith Aug 13, 2024
4ad1ab4
CI fixes
fallwith Aug 13, 2024
acc9bb9
Merge pull request #2805 from newrelic/instrumentation-generator-updates
kaylareopelle Aug 14, 2024
ceeaa6c
style(readme): Align with NR style guide, improve structure
austin-schaefer Aug 14, 2024
597aba7
style(README): Fix capitalization on `Apps`
austin-schaefer Aug 14, 2024
5c13536
Merge pull request #2812 from newrelic/resurrection_hex
fallwith Aug 14, 2024
4c5c8db
Workflow-conclusion action fix (#2810)
hannahramadan Aug 14, 2024
4677f2e
ServerlessHandlerEventSources: json loading fixes
fallwith Aug 14, 2024
af5a204
serverless tests: require Ruby 3.2+ for 12 types
fallwith Aug 14, 2024
c115011
serverless: additional Ruby v3.2+ constraints
fallwith Aug 14, 2024
53ef893
serverless test: additional skips
fallwith Aug 14, 2024
60c2850
serverless handler: use #dup
fallwith Aug 14, 2024
0d693d3
Update CHANGELOG.md
fallwith Aug 15, 2024
6719a92
Bugfix: don't use `return` in Redis detection
fallwith Aug 16, 2024
4326957
CI: permit non 'gem' lines in Envfile
fallwith Aug 16, 2024
7149cfb
Merge pull request #2813 from austin-schaefer/patch-1
kaylareopelle Aug 16, 2024
b87231a
Merge pull request #2816 from newrelic/double_devon
fallwith Aug 16, 2024
8dbb901
Merge branch 'dev' into sselrevres
fallwith Aug 16, 2024
3b4cb7b
Update CHANGELOG.md
fallwith Aug 16, 2024
9271b6b
Update CHANGELOG.md
fallwith Aug 16, 2024
c27f24c
serverless: remove rescue left over from testing
fallwith Aug 16, 2024
af52a76
serverless: leverage #each_value
fallwith Aug 16, 2024
839bb1b
serverless tests: skip unless Ruby 3.2+
fallwith Aug 16, 2024
f3768db
serverless don't freeze a regex constant
fallwith Aug 16, 2024
0d72863
CI: use sqlite3 v2 for Rails EDGE
fallwith Aug 19, 2024
ec247f3
CI: don't use Rails EDGE with Ruby v3.4.0-preview1
fallwith Aug 19, 2024
6bb8311
Merge pull request #2818 from newrelic/marrowfat
fallwith Aug 19, 2024
4f76606
Merge pull request #2811 from newrelic/sselrevres
fallwith Aug 19, 2024
b1eef51
Merge pull request #2797 from newrelic/deprecation-msg-removal
kaylareopelle Aug 19, 2024
aef39fb
ServerlessHandler: error handling for URI parsing
fallwith Aug 19, 2024
c869cd9
serverless handler tested: comment disambiguation
fallwith Aug 19, 2024
7965561
Merge pull request #2821 from newrelic/james_best_face_barney_kessel_…
fallwith Aug 19, 2024
fff6656
bring in the latest cross-agent AWS Lambda JSON
fallwith Aug 20, 2024
77b0838
Merge pull request #2822 from newrelic/two_kinds_of_koalas
fallwith Aug 20, 2024
a885001
Add Bundler version conditions (#2823)
hannahramadan Aug 21, 2024
7adc0dc
Add CHANGELOG for Bundler version update
hannahramadan Aug 21, 2024
a50b328
Update CHANGELOG.md
hannahramadan Aug 21, 2024
f016fd1
Merge pull request #2825 from newrelic/bundler_changelog
fallwith Aug 21, 2024
dcc8ac0
bump version
newrelic-ruby-agent-bot Aug 21, 2024
454d61f
Merge pull request #2827 from newrelic/prerelease_updates_9.13.0-pre
fallwith Aug 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/issue_closer/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ inputs:
description: 'A GitHub token with PR read and Issue close permissions'
required: true
runs:
using: 'node16'
using: 'node20'
main: 'dist/index.js'
2 changes: 1 addition & 1 deletion .github/actions/simplecov-report/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,5 @@ inputs:
description: "GitHub token"
required: true
runs:
using: "node16"
using: "node20"
main: "dist/index.js"
22 changes: 22 additions & 0 deletions .github/actions/variable-mapper/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@

The MIT License (MIT)

Copyright (c) 2018 GitHub, Inc. and contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
195 changes: 195 additions & 0 deletions .github/actions/variable-mapper/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
# Github Action for mapping variables by a specific key

![build-test](https://github.com/kanga333/variable-mapper/workflows/build-test/badge.svg)

Variable-Mapper action maps variables by regular expressions.

- The map argument is a configuration in json format.
- The top-level key in JSON is a regular expression condition. They are evaluated in order from the top.
- The value is the key-value pair of variables to be exported.
- The key argument is the key to match the map.

## Sample Workflows

### Export variables corresponding to regular expression-matched keys

```yaml
on: [push]
name: Export variables corresponding to regular expression-matched keys
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: ./.github/actions/variable-mapper
with:
key: "${{github.base_ref}}"
map: |
{
"master": {
"environment": "production",
"AWS_ACCESS_KEY_ID": "${{ secrets.PROD_AWS_ACCESS_KEY_ID }}",
"AWS_SECRET_ACCESS_KEY": "${{ secrets.PROD_AWS_ACCESS_KEY_ID }}"
},
"staging": {
"environment": "staging",
"AWS_ACCESS_KEY_ID": "${{ secrets.STG_AWS_ACCESS_KEY_ID }}",
"AWS_SECRET_ACCESS_KEY": "${{ secrets.STG_AWS_ACCESS_KEY_ID }}"
},
".*": {
"environment": "development",
"AWS_ACCESS_KEY_ID": "${{ secrets.DEV_AWS_ACCESS_KEY_ID }}",
"AWS_SECRET_ACCESS_KEY": "${{ secrets.DEV_AWS_ACCESS_KEY_ID }}"
}
}
- name: Echo environment
run: echo ${{ env.environment }}
```

The key is evaluated from the top and exports the first matched variables.

### Export variables to output and environment and log

```yaml
on: [push]
name: Export variables to output and environment and log
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: kanga333/variable-mapper@master
id: export
with:
key: "${{github.base_ref}}"
map: |
{
"master": {
"environment": "production"
},
".*": {
"environment": "development"
}
}
export_to: env,log,output
- name: Echo environment and output
run: |
echo ${{ env.environment }}
echo ${{ steps.export.outputs.environment }}
```

The variables can be exported to log, env and output. (Default is `log,env`)

### Switching the behavior of getting the variable

The `mode` option can be used to change the behavior of getting variables.
`first_match`, `overwrite` and `fill` are valid values.

#### first_match mode (default)

`first_match` evaluates the regular expression of a key in order from the top and gets the variable for the first key to be matched.

```yaml
on: [push]
name: Exporting variables in the first match
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: kanga333/variable-mapper@master
id: export
with:
key: "first"
map: |
{
"first": {
"env1": "value1",
"env2": "value2"
},
".*": {
"env1": "value1_overwrite",
"env3": "value3"
}
}
export_to: env
mode: first_match
- name: Echo environment and output
run: |
echo ${{ env.env1 }}
echo ${{ env.env2 }}
echo ${{ env.env3 }}
```

In this workflow, only `env1:value1` and `env2:value2` are exported as env.

#### overwrite mode

`overwrite` evaluates the regular expression of the keys in order from the top, and then merges the variables associated with the matched keys in turn. If the same variable is defined, the later evaluated value is overwritten.

```yaml
on: [push]
name: Exporting variables by overwriting
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: kanga333/variable-mapper@master
id: export
with:
key: "first"
map: |
{
"first": {
"env1": "value1",
"env2": "value2"
},
".*": {
"env1": "value1_overwrite",
"env3": "value3"
}
}
export_to: env
mode: overwrite
- name: Echo environment and output
run: |
echo ${{ env.env1 }}
echo ${{ env.env2 }}
echo ${{ env.env3 }}
```

In this workflow, `env1:value1_overwrite`, `env2:value2` and `env3:value3` export as env.

#### fill mode

`fill` evaluates the regular expression of the keys in order from the top, and then merges the variables associated with the matched keys in turn. If the same variable is defined, later evaluated values are ignored and the first evaluated value takes precedence.

```yaml
on: [push]
name: Export parameters in filling
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: kanga333/variable-mapper@master
id: export
with:
key: "first"
map: |
{
"first": {
"env1": "value1",
"env2": "value2"
},
".*": {
"env1": "value1_overwrite",
"env3": "value3"
}
}
export_to: env
mode: fill
- name: Echo environment and output
run: |
echo ${{ env.env1 }}
echo ${{ env.env2 }}
echo ${{ env.env3 }}
```

In this workflow, `env1:value1`, `env2:value2` and `env3:value3` export as env.
21 changes: 21 additions & 0 deletions .github/actions/variable-mapper/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: 'variable-mapper'
description: 'Github Action for mapping variables by a specific key'
branding:
color: green
icon: arrow-right
author: 'kanga333'
inputs:
key:
description: 'Key to match the map argument'
map:
description: 'Pairs of regular expressions and variables'
default: ''
export_to:
description: 'Comma-separated list of targets to export variables to. log, env and output are valid values.'
default: 'log,env'
mode:
description: 'Specify the behavior of getting the variable. first_match, overwrite and fill are valid values.'
default: 'first_match'
runs:
using: 'node20'
main: 'dist/index.js'
Loading
Loading