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

2.15 merge #1401

Merged
merged 35 commits into from
Sep 3, 2024
Merged
Show file tree
Hide file tree
Changes from 33 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
2207a38
[AUTO-11176] fix automation chaos test (#13904)
anirudhwarrier Jul 19, 2024
5b668c1
Remove the old log buffer (#13821)
ferglor Jul 19, 2024
4565fef
run tests also if CL image build was skipped (tag), fix notification …
Tofel Jul 19, 2024
518350d
Ukflake TestFunctionsConnectorHandler (#13916)
bolekk Jul 23, 2024
2b09956
fail explicitly if base_ref is empty in PR/MQ (#13910)
Tofel Jul 23, 2024
780d304
Notify slack on new (pre)release tags (#13914)
chainchad Jul 23, 2024
c5224df
add startonce protection to syncer (#13917)
ettec Jul 24, 2024
d777fd8
[KS-370] Pass config from onchain registry to execute calls (#13750)
cedric-cordenier Jul 24, 2024
3ecb954
@chainlink.contracts release v1.2.0 (#13895)
chainchad Jul 24, 2024
e7552f8
Small fixes (#13926)
cedric-cordenier Jul 25, 2024
d6ebada
keystone end to end integration tests (#13838)
ettec Jul 28, 2024
683a12e
FUN-1527 Add updateFromPrevious method to Functions ToS (#13795)
KuphJr Jul 28, 2024
27d9c71
KS-391: Capabilities Registry Fixes (#13937)
cds95 Jul 29, 2024
ca6e1c2
check for nils in log processor call (#13940)
Tofel Jul 29, 2024
d150bc6
bump deps (#13901)
jmank88 Jul 29, 2024
9f850e3
Bump version and update CHANGELOG for core v2.14.0 (#13752)
snehaagni Jul 29, 2024
9bd5793
Bump version and update CHANGELOG fore core v2.15.0
chainchad Jul 29, 2024
e9d23b9
Fix syntax error in workflow (#13952)
chainchad Jul 29, 2024
e12146a
Fix syntax error in workflow (#13952)
chainchad Jul 29, 2024
b028bf5
Bump slack-notify-git-ref action for fixes
chainchad Jul 30, 2024
f5b81f6
Bump slack-notify-git-ref action for fixes
chainchad Jul 30, 2024
136e074
Cleanup old CRIB file
chainchad Jul 31, 2024
d7a70b2
Cleanup accidental CRIB remnant
chainchad Jul 31, 2024
69cccdf
Use changeset github changelog generator
chainchad Aug 1, 2024
96e7bc1
Merge pull request #13991 from smartcontractkit/chore/release/2.15.0-…
chainchad Aug 1, 2024
c919da6
Fix version
chainchad Aug 6, 2024
606cb3f
Fix version
chainchad Aug 6, 2024
883c9f9
Finalize date on changelog for 2.15.0 (#14144)
chainchad Aug 19, 2024
43f261e
Merge tag 'v2.15.0' into 2.15-merge
mateusz-sekara Sep 2, 2024
f105b1b
Post merge fixes
mateusz-sekara Sep 2, 2024
084cfec
Merge f105b1b56a0f3cb312200fe48eba5486ddca95c1 into a793f34cdd1e87b31…
mateusz-sekara Sep 2, 2024
66f42c9
Update gethwrappers
app-token-issuer-infra-releng[bot] Sep 2, 2024
10ecf42
Adding missing prom reporter. Post merge fixes
mateusz-sekara Sep 2, 2024
a9b8f33
Merge branch 'ccip-develop' into 2.15-merge
mateusz-sekara Sep 3, 2024
554f7c7
Removing .swp file, probably accidentally committed
mateusz-sekara Sep 3, 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
5 changes: 0 additions & 5 deletions .changeset/cool-mirrors-beg.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/red-meals-mix.md

This file was deleted.

10 changes: 10 additions & 0 deletions .github/actions/build-sign-publish-chainlink/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,13 @@ inputs:
description: When set to the string boolean value of "true", the resulting build image signature will be verified
default: "false"
required: false
outputs:
docker-image-tag:
description: The docker image tag that was built and pushed
value: ${{ steps.save-non-root-image-name-env.outputs.image-tag }}
docker-image-digest:
description: The docker image digest that was built and pushed
value: ${{ steps.save-non-root-image-name-env.outputs.image-digest }}

runs:
using: composite
Expand Down Expand Up @@ -208,10 +215,13 @@ runs:
IMAGES_NAME_RAW=${{ fromJSON(steps.buildpush-nonroot.outputs.metadata)['image.name'] }}
IMAGE_DIGEST=${{ fromJSON(steps.buildpush-nonroot.outputs.metadata)['containerimage.digest'] }}
IMAGE_NAME=$(echo "$IMAGES_NAME_RAW" | cut -d"," -f1)
IMAGE_TAG=$(echo "$IMAGES_NAME_RAW" | cut -d":" -f2)
echo "nonroot_image_name=${IMAGE_NAME}" >> $GITHUB_ENV
echo '### Docker Image' >> $GITHUB_STEP_SUMMARY
echo "Image Name: ${IMAGE_NAME}" >> $GITHUB_STEP_SUMMARY
echo "Image Digest: ${IMAGE_DIGEST}" >> $GITHUB_STEP_SUMMARY
echo "image-tag=${IMAGE_TAG}" >> $GITHUB_OUTPUT
echo "image-digest=${IMAGE_DIGEST}" >> $GITHUB_OUTPUT

- name: Check if non-root image runs as root
id: check-nonroot-runs-root
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/automation-ondemand-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ jobs:
- name: chaos
id: chaos
suite: chaos
nodes: 15
nodes: 20
os: ubuntu-latest
enabled: ${{ inputs.enableChaos }}
pyroscope_env: ci-automation-on-demand-chaos
Expand Down
51 changes: 51 additions & 0 deletions .github/workflows/build-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ on:
branches:
- "release/**"

env:
ECR_HOSTNAME: public.ecr.aws
ECR_IMAGE_NAME: chainlink/chainlink

jobs:
checks:
name: "Checks"
Expand All @@ -30,17 +34,23 @@ jobs:
permissions:
id-token: write
contents: read
outputs:
docker-image-tag: ${{ steps.build-sign-publish.outputs.docker-image-tag }}
docker-image-digest: ${{ steps.build-sign-publish.outputs.docker-image-digest }}
steps:
- name: Checkout repository
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2

- name: Build, sign and publish chainlink image
id: build-sign-publish
uses: ./.github/actions/build-sign-publish-chainlink
with:
publish: true
aws-role-to-assume: ${{ secrets.AWS_OIDC_IAM_ROLE_ARN }}
aws-role-duration-seconds: ${{ secrets.AWS_ROLE_DURATION_SECONDS }}
aws-region: ${{ secrets.AWS_REGION }}
ecr-hostname: ${{ env.ECR_HOSTNAME }}
ecr-image-name: ${{ env.ECR_IMAGE_NAME }}
sign-images: true
sign-method: "keypair"
cosign-private-key: ${{ secrets.COSIGN_PRIVATE_KEY }}
Expand All @@ -60,3 +70,44 @@ jobs:
hostname: ${{ secrets.GRAFANA_INTERNAL_HOST }}
this-job-name: build-sign-publish-chainlink
continue-on-error: true

# Notify Slack channel for new git tags.
slack-notify:
if: github.ref_type == 'tag'
needs: [build-sign-publish-chainlink]
runs-on: ubuntu-24.04
environment: build-publish
steps:
- name: Checkout repository
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: Notify Slack
uses: smartcontractkit/.github/actions/slack-notify-git-ref@31e00facdd8f57a2bc7868b5e4c8591bf2aa3727 # [email protected]
with:
slack-channel-id: ${{ secrets.SLACK_CHANNEL_RELEASE_NOTIFICATIONS }}
slack-bot-token: ${{ secrets.SLACK_BOT_TOKEN_RELENG }} # Releng Bot
git-ref: ${{ github.ref_name }}
git-ref-type: ${{ github.ref_type }}
changelog-url: >-
${{
github.ref_type == 'tag' &&
format(
'https://github.com/{0}/blob/{1}/CHANGELOG.md',
github.repository,
github.ref_name
) || ''
}}
docker-image-name: >-
${{
github.ref_type == 'tag' &&
format(
'{0}/{1}:{2}',
env.ECR_HOSTNAME,
env.ECR_IMAGE_NAME,
needs.build-sign-publish-chainlink.outputs.docker-image-tag
) || ''
}}
docker-image-digest: >-
${{
github.ref_type == 'tag' &&
needs.build-sign-publish-chainlink.outputs.docker-image-digest || ''
}}
22 changes: 20 additions & 2 deletions .github/workflows/client-compatibility-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,12 @@ jobs:
- name: Check for go.mod changes
id: changes
run: |
if [ -z "${{ github.base_ref }}" ]; then
echo "No base branch found, this should not happen in a PR or MQ. Please reach out to the Test Tooling team."
echo "Github even that triggered the workflow: $GITHUB_EVENT_NAME"
echo "Github ref that triggered the workflow: $GITHUB_REF"
exit 1
fi
git fetch origin ${{ github.base_ref }}
# if no match is found then grep exits with code 1, but if there is a match it exits with code 0
# this will return a match if there are any changes on that corresponding line, for example if spacing was changed
Expand Down Expand Up @@ -120,6 +126,7 @@ jobs:
evm_implementations: ${{ steps.select-implementations.outputs.evm_implementations }}
chainlink_version: ${{ steps.select-chainlink-version.outputs.chainlink_version }}
latest_image_count: ${{ steps.get-image-count.outputs.image_count }}
chainlink_ref_path: ${{ steps.select-chainlink-version.outputs.cl_ref_path }}
steps:
# ghlatestreleasechecker is a tool to check if new release is available for a given repo
- name: Set Up ghlatestreleasechecker
Expand Down Expand Up @@ -186,28 +193,39 @@ jobs:
# we use 100 days since we really want the latest one, and it's highly improbable there won't be a release in last 100 days
chainlink_version=$(ghlatestreleasechecker "smartcontractkit/chainlink" 100)
echo "chainlink_version=$chainlink_version" >> $GITHUB_OUTPUT
cl_ref_path="release"
elif [ "$GITHUB_EVENT_NAME" = "workflow_dispatch" ]; then
echo "Fetching Chainlink version from input"
if [ -n "${{ github.event.inputs.chainlinkVersion }}" ]; then
echo "Chainlink version provided in input"
chainlink_version="${{ github.event.inputs.chainlinkVersion }}"
if [[ "$chainlink_version" =~ ^[0-9a-f]{40}$ ]]; then
cl_ref_path="commit"
else
cl_ref_path="release"
fi
else
echo "Chainlink version not provided in input. Using latest commit SHA."
chainlink_version=${{ github.sha }}
cl_ref_path="commit"
fi
echo "chainlink_version=$chainlink_version" >> $GITHUB_OUTPUT
echo "cl_ref_path=$cl_ref_path" >> $GITHUB_OUTPUT
elif [ "$GITHUB_EVENT_NAME" = "pull_request" ]; then
echo "Fetching Chainlink version from PR's head commit"
chainlink_version="${{ github.event.pull_request.head.sha }}"
echo "chainlink_version=$chainlink_version" >> $GITHUB_OUTPUT
echo "cl_ref_path=commit" >> $GITHUB_OUTPUT
elif [ "$GITHUB_EVENT_NAME" = "merge_queue" ]; then
echo "Fetching Chainlink version from merge queue's head commit"
chainlink_version="${{ github.event.merge_group.head_sha }}"
echo "chainlink_version=$chainlink_version" >> $GITHUB_OUTPUT
echo "cl_ref_path=commit" >> $GITHUB_OUTPUT
elif [ "$GITHUB_REF_TYPE" = "tag" ]; then
echo "Fetching Chainlink version from tag"
chainlink_version="${{ github.ref_name }}"
echo "chainlink_version=$chainlink_version" >> $GITHUB_OUTPUT
echo "cl_ref_path=release" >> $GITHUB_OUTPUT
else
echo "Unsupported trigger event. It's probably an issue with the pipeline definition. Please reach out to the Test Tooling team."
exit 1
Expand Down Expand Up @@ -511,7 +529,7 @@ jobs:

run-client-compatibility-matrix:
name: ${{ matrix.evm_node.product }} compatibility with ${{ matrix.evm_node.docker_image }}
if: always() && needs.should-run.outputs.should_run == 'true' && needs.build-chainlink.result == 'success' && needs.prepare-compatibility-matrix.outputs.matrix != ''
if: always() && needs.should-run.outputs.should_run == 'true' && (needs.build-chainlink.result == 'success' || needs.build-chainlink.result == 'skipped') && needs.prepare-compatibility-matrix.outputs.matrix != ''
environment: integration
permissions:
checks: write
Expand Down Expand Up @@ -671,7 +689,7 @@ jobs:
"type": "section",
"text": {
"type": "mrkdwn",
"text": "<${{ github.server_url }}/${{ github.repository }}/releases/tag/${{ github.ref_name }}|${{ github.ref_name }}> | <${{ github.server_url }}/${{ github.repository }}/commit/${{ needs.select-versions.outputs.chainlink_version }}|${{ needs.select-versions.outputs.chainlink_version }}> | <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|Run>"
"text": "<${{ github.server_url }}/${{ github.repository }}/${{ needs.select-versions.outputs.chainlink_ref_path }}/${{ needs.select-versions.outputs.chainlink_version }}|${{ needs.select-versions.outputs.chainlink_version }}> | <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|Run>"
}
}
]
Expand Down
8 changes: 2 additions & 6 deletions .mockery.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -258,14 +258,10 @@ packages:
ORM:
Runner:
PipelineParamUnmarshaler:
github.com/smartcontractkit/chainlink/v2/core/services/headreporter:
github.com/smartcontractkit/chainlink/v2/core/services/promreporter:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not familiar with prom or headreporter. What's the reason for removing headreporter completely like this?

Copy link
Contributor Author

@mateusz-sekara mateusz-sekara Sep 3, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's the state of the repo on v2.15.0. It seems that promreporter replaced headreporter

config:
dir: "{{ .InterfaceDir }}"
filename: "{{ .InterfaceName | snakecase }}_mock.go"
inpackage: true
mockname: "Mock{{ .InterfaceName | camelcase }}"
dir: core/internal/mocks
interfaces:
HeadReporter:
PrometheusBackend:
github.com/smartcontractkit/libocr/commontypes:
config:
Expand Down
Binary file added .swp
mateusz-sekara marked this conversation as resolved.
Show resolved Hide resolved
Binary file not shown.
Loading
Loading