Skip to content

adapter: mz_object_fully_qualified_names includes database and schema IDs #123

adapter: mz_object_fully_qualified_names includes database and schema IDs

adapter: mz_object_fully_qualified_names includes database and schema IDs #123

# Copyright 2020 The Actions Ecosystem Authors
# Modifications Copyright Materialize, Inc. and contributors. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Portions of this file are derived from the README examples in the Action
# Slack Notifier project. The original source code was retrieved on
# January 5, 2022 from:
#
# https://github.com/actions-ecosystem/action-slack-notifier/blob/fc778468d09c43a6f4d1b8cccaca59766656996a/README.md
# Send a notification to the #epd-mz-introspection-council Slack channel when a change
# is made that adds or modifies an index on the mz_introspection cluster, or
# adds or modifies an object on which those indices depend.
# Also detects changes to catalog object retention.
#
# A notification is sent when all of these conditions are true:
# * A ready-to-review PR is (re-)opened, or a PR is moved from draft
# to ready-to-review.
# * The PR modifies the file 'test/sqllogictest/mz_introspection_index_accounting.slt',
# which is designed to detect new or modified mz_introspection indexes, OR
# * The PR changes the "is_retained_metrics..." field of any catalog object,
# as detected in the file 'src/catalog/src/builtin.rs'.
name: Slack Mz Introspection Council Notifications
on:
pull_request_target:
types:
- opened
- reopened
- ready_for_review
paths:
- src/catalog/src/builtin.rs
- test/sqllogictest/mz_introspection_index_accounting.slt
jobs:
notify:
name: "Notify on mz_introspection index changes"
runs-on: ubuntu-latest
if: ${{ !github.event.pull_request.draft }}
steps:
- name: "Path filter"
id: filter
uses: dorny/paths-filter@v2
with:
filters: |
builtin-rs:
- 'src/catalog/src/builtin.rs'
index-slt:
- 'test/sqllogictest/mz_introspection_index_accounting.slt'
- name: Checkout
uses: actions/checkout@v4
- name: "Check Retained Metric Changes"
id: check-retain-metrics
if: steps.filter.outputs.builtin-rs == 'true'
run: |
# Check for the text "is_retained_metrics" modified in builtin.rs in the pull request
if git diff ${{ github.event.pull_request.base.sha }} -- 'src/catalog/src/builtin.rs' | grep -i 'is_retained_metrics'; then
echo "changed=true" >> $GITHUB_OUTPUT
fi
- name: "Push to Slack"
if: steps.filter.outputs.index-slt == 'true' || steps.check-retain-metrics.outputs.changed == 'true'
uses: actions-ecosystem/action-slack-notifier@fc778468d09c43a6f4d1b8cccaca59766656996a
with:
slack_token: ${{ secrets.SLACK_TOKEN }}
channel: epd-mz-introspection-council
custom_payload: |
{
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "A new builtin index change is ready for review!"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": ${{ toJSON(format('• *PR:* <{0}|{1}>', github.event.pull_request.html_url, github.event.pull_request.title)) }}
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "• *Author:* <${{ github.event.pull_request.user.html_url }}|${{ github.event.pull_request.user.login }}>"
}
}
]
}