Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
372 commits
Select commit Hold shift + click to select a range
ec47698
added data assets group to the tree
MikaKerman Sep 17, 2024
a9d15f9
replaced the elementary_output.json file
MikaKerman Sep 17, 2024
0ecd2b2
added test the report group views
MikaKerman Sep 17, 2024
7b5bf1f
Merge pull request #1704 from elementary-data/ele-3630-side-tree-sub-…
MikaKerman Sep 18, 2024
b3566ef
updated hash
ofek1weiss Sep 19, 2024
5db20d3
Merge pull request #1705 from elementary-data/ele-3648-update-hash
ofek1weiss Sep 19, 2024
e4fabc2
replaced the elementary_output.json file
MikaKerman Sep 19, 2024
984b3c6
removed the direct dwh and bi groups from the tree groups
MikaKerman Sep 19, 2024
43b6032
Merge pull request #1706 from elementary-data/ele-3630-side-tree-sub-…
MikaKerman Sep 19, 2024
9956a8d
Setup multi-platform Docker images to support both x86 and arm archit…
Sep 10, 2024
0f4a215
Merge pull request #1701 from JanDintel/multi-arch-docker-image
ofek1weiss Sep 23, 2024
982c5ce
handle case where column name is an empty string
ofek1weiss Oct 9, 2024
60fd215
Merge pull request #1719 from elementary-data/ele-3695-fix-elementary…
ofek1weiss Oct 9, 2024
bd60db1
GroupedAlerts base class
MikaKerman Oct 6, 2024
be005e6
splitted the grouped alert types into multiple modules
MikaKerman Oct 6, 2024
a3fac51
created all in one grouped alert type
MikaKerman Oct 6, 2024
ac97fe6
added group_all_alerts_threshold config key
MikaKerman Oct 6, 2024
1566dc0
moved data and unified_meta properties to the base grouped alert class
MikaKerman Oct 6, 2024
b8efe33
added abstract method for all-in-one alert template
MikaKerman Oct 6, 2024
cc5c8f1
Slack integration - added all in one alert template
MikaKerman Oct 6, 2024
de78be6
Teams integration - added all in one alert template
MikaKerman Oct 6, 2024
fd24e51
added a compact version of the all-in-one-alert, to avoid the slack m…
MikaKerman Oct 6, 2024
818886b
using send_alerts method instead of send_alert
MikaKerman Oct 7, 2024
0b012c2
supporting unified alert only in slack integration
MikaKerman Oct 7, 2024
23f824a
moved the compact schema to class attribute
MikaKerman Oct 8, 2024
eaf4c4a
changed send_alerts to return a generator
MikaKerman Oct 8, 2024
3b87737
refactored al-in-one alert templates
MikaKerman Oct 8, 2024
c3c2b5d
grouping alerts in the base integration
MikaKerman Oct 8, 2024
020c2c0
changed config group alerts config key name
MikaKerman Oct 10, 2024
164ac89
passing the threshold
MikaKerman Oct 10, 2024
d26d814
slack - reduced number of block to avoid the slack limit
MikaKerman Oct 10, 2024
3071e16
teams - change \n to <br>
MikaKerman Oct 10, 2024
6ec78e7
using GroupedAlert directly
MikaKerman Oct 10, 2024
d0e235d
Refactor grouped alerts to alerts groups
MikaKerman Oct 14, 2024
a624839
Move grouping_type module
MikaKerman Oct 14, 2024
a074335
Add const for default group alerts threshold
MikaKerman Oct 14, 2024
b7e70f7
Merge pull request #1716 from elementary-data/ele-3682-alerts-grouping
MikaKerman Oct 14, 2024
df2fd55
Add base alerts group class
MikaKerman Oct 20, 2024
cbe25dd
fixed model error icon in teams
MikaKerman Oct 20, 2024
dfac29f
added test for grouping alerts
MikaKerman Oct 20, 2024
063d2b4
Refactor unified_meta property in base_alerts_group.py and grouped_by…
MikaKerman Oct 23, 2024
9b59cd8
using the report link data text in the alerts group links
MikaKerman Oct 23, 2024
1f4e91c
Merge pull request #1725 from elementary-data/ele-3682-alerts-grouping
MikaKerman Oct 23, 2024
e18f353
ELE-3709: Use get_report_link from alert class (#1722)
dapollak Oct 29, 2024
6ad4970
adding link to the report in the teams alerts group template
MikaKerman Oct 29, 2024
183e169
Merge pull request #1734 from elementary-data/ele-3742-add-urls-to-te…
MikaKerman Oct 29, 2024
9c66df0
handle the case where full_refresh is None (#1735)
haritamar Oct 31, 2024
3d92557
send alerts - added debug logs
MikaKerman Nov 5, 2024
77cb308
Merge pull request #1737 from elementary-data/ele-3764-send-alerts-ad…
MikaKerman Nov 5, 2024
58c45fa
send alert to default channel as fallback
MikaKerman Nov 6, 2024
f935d7a
Merge pull request #1738 from elementary-data/ele-3775-send-alerts-to…
MikaKerman Nov 6, 2024
347da51
update dbt package revision
MikaKerman Nov 8, 2024
1c495ef
Merge pull request #1740 from elementary-data/dbt-package-revision
MikaKerman Nov 8, 2024
6541c48
Removed ephemeral models from lineage.
elongl Nov 13, 2024
940959c
Merge branch 'master' into ele-3806-remove-ephemeral-models-from-lineage
elongl Nov 13, 2024
ba8b114
Merge pull request #1746 from elementary-data/ele-3806-remove-ephemer…
elongl Nov 13, 2024
ad79e64
Fix test config defaults.
elongl Nov 14, 2024
8cb677a
Merge pull request #1748 from elementary-data/ele-3809-fix-test-confi…
elongl Nov 14, 2024
61bee5a
fix indentation in dbt tests alerts code examples (#1747)
japerry911 Nov 18, 2024
d85644d
Updated gcs client to use new method (#1739)
jcarpenter12 Nov 18, 2024
d32c132
Pr 1669 lock files (#1753)
haritamar Nov 18, 2024
c1f9167
Ele 3821 cli test bugfix (#1754)
haritamar Nov 18, 2024
d70f9e2
Response object has no attribute body, replaced with text
MikaKerman Nov 19, 2024
6a8a491
Merge pull request #1756 from elementary-data/ele-3826-fix-teams-webh…
MikaKerman Nov 19, 2024
79c36cd
added status codes to the webhook clients error response logs
MikaKerman Nov 19, 2024
578b8fd
Upgraded packaging version.
elongl Nov 19, 2024
0914002
Loosen 'packaging' requirement.
elongl Nov 19, 2024
d69a9a9
Merge pull request #1755 from elementary-data/ele-3815-add-and-use-lo…
elongl Nov 19, 2024
34eb3ae
Upgrade various actions to v4 (#1762)
haritamar Dec 12, 2024
4f96d4c
use alive_bar for progress indication, instead of sending iterator to…
MikaKerman Dec 17, 2024
6648299
changed _group_alerts method to static
MikaKerman Dec 17, 2024
7c46b1f
add check for empty alerts when grouping alerts
MikaKerman Dec 17, 2024
b63bbf6
add unit tests for _group_alerts method in BaseIntegration
MikaKerman Dec 17, 2024
24c46a1
Merge pull request #1764 from elementary-data/ele-3909-single-error-a…
MikaKerman Dec 17, 2024
d2d21e3
add meta to models (#1767)
dapollak Dec 23, 2024
319e48e
update FilterSchema to use generics for type safety
MikaKerman Dec 12, 2024
277cfe9
rename SupportedFilterTypes to FilterType
MikaKerman Dec 12, 2024
4302237
Refactor enums to inherit from str for improved functionality
MikaKerman Dec 12, 2024
48e47b8
add support in PendingAlertSchema to already parsed data
MikaKerman Dec 23, 2024
40d5896
add filter application methods to FilterSchema
MikaKerman Dec 23, 2024
fb1fbcc
refactor alert filtering logic to use a unified apply_filters_schema_…
MikaKerman Dec 23, 2024
bcc210e
Refactor alert tests to utilize unified filter application methods
MikaKerman Dec 23, 2024
ce244e9
Add new debug configurations for pytest in launch.json
MikaKerman Dec 23, 2024
e2826dc
enhance FiltersSchema with type hints
MikaKerman Dec 23, 2024
f160300
Added 'IS_NOT' filter type and updated methods to handle both 'ANY' a…
MikaKerman Dec 23, 2024
4f25fa5
Add unit tests for FilterSchema functionality
MikaKerman Dec 23, 2024
255bdb4
Enhance alert filtering tests in by adding comprehensive scenarios f…
MikaKerman Dec 23, 2024
b965c08
Add 'CONTAINS' filter type to FilterType enum and implement correspon…
MikaKerman Dec 23, 2024
cb191c1
added apply method to FiltersSchema
MikaKerman Dec 29, 2024
69393bd
Merge pull request #1768 from elementary-data/ele-3893-alert-rules-op…
MikaKerman Dec 29, 2024
e8dbdbb
Ele 3634 add snapshot to the report (#1703)
NoyaArie Jan 2, 2025
c9a7084
unique key optional (#1770)
NoyaArie Jan 7, 2025
1f0be2e
db name optional (#1771)
NoyaArie Jan 7, 2025
eacc506
update dbt package version 0.16.3 (#1776)
NoyaArie Jan 9, 2025
4f6b0a3
Enhance get_sources macro by adding 'meta' field to the output select…
dapollak Jan 12, 2025
81f8ccf
run tests on python 3.9 (#1781)
haritamar Jan 13, 2025
2e791af
when one of the dependancies appears, the exposure should be included
ofek1weiss Jan 15, 2025
9657b63
Merge pull request #1784 from elementary-data/ele-3965-fix-hibob-issu…
ofek1weiss Jan 15, 2025
b2892dd
Extract exposure logic
ofek1weiss Jan 16, 2025
fb3e32d
Merge pull request #1786 from elementary-data/ele-3971-allow-exposure…
ofek1weiss Jan 16, 2025
be0bf6d
Add message body blocks and structures
MikaKerman Jan 23, 2025
2d37747
Add README for Elementary Messages package
MikaKerman Jan 27, 2025
066e712
Merge pull request #1792 from elementary-data/ele-3997-message-body-i…
MikaKerman Jan 27, 2025
cc614cf
Add adaptive cards message formatting and unit tests
MikaKerman Jan 23, 2025
9c055a1
Merge pull request #1785 from elementary-data/ele-3960-adaptive-cards
MikaKerman Jan 27, 2025
98cef8a
update package version (#1793)
NoyaArie Feb 2, 2025
3acb11d
Add block type enum and update block classes with type annotations
MikaKerman Feb 3, 2025
6ffd1ef
Update forward references for recursive block types
MikaKerman Feb 3, 2025
63e198c
Refactor block builders to use Sequence instead of List
MikaKerman Feb 3, 2025
4914af4
Merge pull request #1795 from elementary-data/ele-3960-adaptive-cards
MikaKerman Feb 3, 2025
d7dcf4f
Add optional primary flag to FactBlock
MikaKerman Feb 4, 2025
e01645b
Merge pull request #1797 from elementary-data/ele-3960-adaptive-cards
MikaKerman Feb 4, 2025
f41c1d1
Add test alert message generation for dbt test alerts
MikaKerman Feb 3, 2025
5addebe
Add alert message generation for Elementary test alerts
MikaKerman Feb 3, 2025
d7f3ba8
Add snapshot alert message generation
MikaKerman Feb 3, 2025
bb01970
Add model alert message generation
MikaKerman Feb 3, 2025
bda25c0
Add source freshness alert message generation
MikaKerman Feb 3, 2025
880c61b
Add alerts group message generation
MikaKerman Feb 3, 2025
e1dceae
Enhance GroupedByTableAlerts with robust handling of multi-alert scen…
MikaKerman Feb 3, 2025
eb8666c
Add group by table alert message generation
MikaKerman Feb 3, 2025
66db6ec
Updated `get_details_blocks()` to always include tags, owners, and su…
MikaKerman Feb 4, 2025
a37d0a2
Added a divider block after the subtitle in the source freshness aler…
MikaKerman Feb 4, 2025
8843e5a
Refactor `get_display_name()` to handle optional status - Modified fu…
MikaKerman Feb 4, 2025
4a2eba9
Optimize `get_details_blocks()` with sorted unique lists
MikaKerman Feb 4, 2025
10e502c
basic block kit support
ofek1weiss Feb 4, 2025
c060370
Merge branch 'master' of github.com:elementary-data/elementary into e…
ofek1weiss Feb 4, 2025
fa1a64c
working
ofek1weiss Feb 4, 2025
9c35263
tests
ofek1weiss Feb 4, 2025
eedc3d5
code quality
ofek1weiss Feb 4, 2025
221d8a3
Refactor alert message generation with a unified builder approach
MikaKerman Feb 4, 2025
ba19e7c
Add primary and non-primary fact block builders
MikaKerman Feb 4, 2025
ac35db0
Improve alerts group message block generation with consistent divider…
MikaKerman Feb 5, 2025
eeb0459
Refactor test alert message generation to remove itertools and hardco…
MikaKerman Feb 5, 2025
e0d1351
Add default environment constant and environment specification method
MikaKerman Feb 5, 2025
912f98c
Add environment parameter to alert models and data schemas
MikaKerman Feb 5, 2025
d3178f3
Add environment parameter to alerts groups
MikaKerman Feb 5, 2025
90f79ad
Update alert message tests to support environment parameter
MikaKerman Feb 5, 2025
d0757f4
Consolidate alert subtitle block generation with unified method
MikaKerman Feb 5, 2025
b15157d
Fix full refresh condition in alert message builder
MikaKerman Feb 6, 2025
1386490
Enhance JSON assertion error message in test utility
MikaKerman Feb 6, 2025
41531ae
Add timezone support to alert message test datetime parameters
MikaKerman Feb 6, 2025
a7682e1
Merge pull request #1796 from elementary-data/ele-4028-send-alerts-me…
MikaKerman Feb 6, 2025
ef098ae
Refactor alert sending and grouping logic in data monitoring alerts
MikaKerman Feb 4, 2025
a44e9c0
Add base messaging integration classes and exceptions
MikaKerman Feb 4, 2025
9cc51ce
Add Teams webhook messaging integration
MikaKerman Feb 4, 2025
420f155
Add comprehensive README for Elementary Messaging Integration System
MikaKerman Feb 4, 2025
e197ac6
Add support for new messaging integration in data monitoring alerts
MikaKerman Feb 4, 2025
0fab5f5
Rename message_body parameter to body in messaging integration methods
MikaKerman Feb 6, 2025
af3c1eb
Merge pull request #1799 from elementary-data/ele-4028-messaging-integ
MikaKerman Feb 9, 2025
87b9a00
Refactor alert message builder for improved type handling and simplif…
MikaKerman Feb 9, 2025
a04697a
Merge pull request #1804 from elementary-data/ele-4028-messaging-integ
MikaKerman Feb 9, 2025
f2316b7
Merge branch 'master' into ele-4029-slack-message-blocks
ofek1weiss Feb 10, 2025
912546c
Added block kit format
ofek1weiss Feb 10, 2025
af93af5
Handle missing asset name in test alert message generation
MikaKerman Feb 11, 2025
2a75f66
Merge pull request #1811 from elementary-data/ele-4028-messaging-integ
MikaKerman Feb 11, 2025
288ae10
Refactor alert message builder to improve type handling and error man…
MikaKerman Feb 12, 2025
219d000
Merge pull request #1812 from elementary-data/ele-4028-messaging-integ
MikaKerman Feb 12, 2025
e13bd5c
Remove Teams integration files
MikaKerman Feb 12, 2025
7009d81
Remove pandas dependencies
MikaKerman Feb 12, 2025
74aa606
Update Microsoft Teams integration documentation
MikaKerman Feb 12, 2025
cacd79f
Update messaging integrations documentation
MikaKerman Feb 12, 2025
373d3a4
Merge pull request #1813 from elementary-data/ele-4028-messaging-integ
MikaKerman Feb 13, 2025
ff8a3ca
Remove deprecated alert grouping methods from BaseIntegration
MikaKerman Feb 13, 2025
bcdaffd
Merge pull request #1814 from elementary-data/ele-4028-messaging-integ
MikaKerman Feb 13, 2025
a2f69c5
Add pytz dependency to project requirements
MikaKerman Feb 13, 2025
f08b002
Merge pull request #1815 from elementary-data/prepare-release
MikaKerman Feb 13, 2025
4a9dff9
Update Adaptive Cards version default to 1.5
MikaKerman Feb 15, 2025
f08fc9d
Update test fixtures to use Adaptive Cards version 1.5
MikaKerman Feb 15, 2025
5489d41
Add support for displaying result messages in model alerts
MikaKerman Feb 15, 2025
e0ec7ae
Update Adaptive Cards test fixtures to version 1.5
MikaKerman Feb 16, 2025
cbdd9a9
Merge pull request #1818 from elementary-data/ele-4028-send-alerts-me…
MikaKerman Feb 16, 2025
1f4b51f
ELE-3961: Support test_ids filtering (#1787)
dapollak Feb 16, 2025
7e05c3e
Update GitHub Actions workflow artifact naming
MikaKerman Feb 16, 2025
1ad4a2a
Merge pull request #1819 from elementary-data/ele-4068-test-warehouse…
MikaKerman Feb 16, 2025
d718193
Added slack web and webhook integrations
ofek1weiss Feb 16, 2025
4f3ef30
Update CLI report
MikaKerman Feb 16, 2025
af2deb4
Merge pull request #1820 from elementary-data/ele-4069-release-0162
MikaKerman Feb 16, 2025
9a17f4c
release v0.16.2
web-flow Feb 16, 2025
986d735
Merge pull request #1821 from elementary-data/release/v0.16.2
MikaKerman Feb 16, 2025
f3754c7
added tests
ofek1weiss Feb 16, 2025
eb8f93f
test fixes
ofek1weiss Feb 16, 2025
5ac6acd
mypy
ofek1weiss Feb 16, 2025
3dafa93
Merge branch 'master' of github.com:elementary-data/elementary into e…
ofek1weiss Feb 16, 2025
bfa84ca
test fixes
ofek1weiss Feb 16, 2025
2d58603
Docs updates (#1723)
okabak123 Feb 17, 2025
a8aa901
Add GitHub Actions workflow for building Docker image
MikaKerman Feb 17, 2025
e9a0c18
Table Block
ofek1weiss Feb 17, 2025
509cbec
<=
ofek1weiss Feb 17, 2025
85f1439
pre-commit fixes
ofek1weiss Feb 17, 2025
4f0a7a1
Merge pull request #1825 from elementary-data/ele-4069-release-0162
MikaKerman Feb 17, 2025
c7a628f
Fields
ofek1weiss Feb 18, 2025
6d85caa
fix typos
ofek1weiss Feb 18, 2025
555657b
Merge pull request #1827 from elementary-data/fix-typos
ofek1weiss Feb 18, 2025
de53fc9
Merge branch 'master' of github.com:elementary-data/elementary into e…
ofek1weiss Feb 18, 2025
6aa8036
dynamic max cell length
ofek1weiss Feb 18, 2025
ba47099
use alert fields in new builder
ofek1weiss Feb 18, 2025
4e6b70f
CR
ofek1weiss Feb 18, 2025
07b11dc
bugfix: Updated pyfiglet version #1773 (#1774)
Feb 18, 2025
5255b7f
Merge branch 'master' into ele-4074-new-teams-feedback
ofek1weiss Feb 18, 2025
29e51aa
removed pyfiglet
ofek1weiss Feb 18, 2025
c96d429
Merge branch 'master' into remove-pyfiglet
ofek1weiss Feb 18, 2025
f0e25ad
Merge pull request #1829 from elementary-data/remove-pyfiglet
ofek1weiss Feb 18, 2025
9963d18
Merge branch 'master' into ele-4074-new-teams-feedback
ofek1weiss Feb 18, 2025
f17006f
mypy
ofek1weiss Feb 18, 2025
f2dd165
Added TableBlock for test results sampe
ofek1weiss Feb 18, 2025
bc65db9
Merge branch 'master' of github.com:elementary-data/elementary into e…
ofek1weiss Feb 18, 2025
e48a6d3
Merge pull request #1828 from elementary-data/ele-4074-selectable-ale…
ofek1weiss Feb 18, 2025
aef974e
Merge branch 'master' of github.com:elementary-data/elementary into e…
ofek1weiss Feb 18, 2025
a2db2ab
fixed tests
ofek1weiss Feb 18, 2025
82245a7
Changed webhook integrations to have the webhook as part of the conif…
ofek1weiss Feb 19, 2025
a7a38ca
typing-extensions
ofek1weiss Feb 19, 2025
50bc881
updated readme
ofek1weiss Feb 19, 2025
46eef40
added blocks to readme
ofek1weiss Feb 19, 2025
c96bcf2
Merge pull request #1822 from elementary-data/ele-4067-slack-messagin…
ofek1weiss Feb 19, 2025
1748a6a
Added formatting needed for critical assets
ofek1weiss Feb 19, 2025
c56fd90
added actions support for slack apps
ofek1weiss Feb 20, 2025
0d7a672
removed prints
ofek1weiss Feb 20, 2025
f9c9d36
mypy
ofek1weiss Feb 20, 2025
61cc2d2
added comment
ofek1weiss Feb 20, 2025
fd0321d
Merge pull request #1831 from elementary-data/ele-4073-rich-critical-…
ofek1weiss Feb 20, 2025
1fb4845
added action id
ofek1weiss Feb 24, 2025
734ce43
Merge pull request #1834 from elementary-data/ele-4073-rich-critical-…
ofek1weiss Feb 24, 2025
88be3ba
Added recent contributors 🎉 (#1824)
Maayan-s Feb 27, 2025
8fc220b
update package version (#1838)
NoyaArie Mar 2, 2025
b52e5f3
ubuntu version - latest
NoyaArie Mar 3, 2025
7be81bd
Upgrade Elementary package to version 0.17.0
MikaKerman Mar 5, 2025
948156f
Merge pull request #1841 from elementary-data/ele-4132-release-0170
MikaKerman Mar 5, 2025
236ec03
Update Elementary report
MikaKerman Mar 6, 2025
7bc8a28
Merge pull request #1842 from elementary-data/ele-4132-release-0170
MikaKerman Mar 6, 2025
1df424f
release v0.17.0
web-flow Mar 6, 2025
e978c16
Merge pull request #1843 from elementary-data/release/v0.17.0
MikaKerman Mar 6, 2025
b152c25
Consider invocation filters in the send-report summary
ofek1weiss Mar 9, 2025
df4b087
if else
ofek1weiss Mar 9, 2025
f53d45d
Merge pull request #1846 from elementary-data/add-reference-to-invoca…
ofek1weiss Mar 9, 2025
90782b1
added invocation filters to summary message
ofek1weiss Mar 9, 2025
7277349
Merge pull request #1847 from elementary-data/add-reference-to-invoca…
ofek1weiss Mar 9, 2025
d779acc
* bind message context to model
ofek1weiss Mar 10, 2025
e41796a
mypy
ofek1weiss Mar 10, 2025
9c03288
Merge pull request #1848 from elementary-data/messaging-integration-c…
ofek1weiss Mar 10, 2025
bc4d24f
Upgrade Node.js version in docs Dockerfile to 20.3.0
oravi Mar 10, 2025
e727ee1
Add documentation for unstructured data tests in Snowflake
oravi Mar 10, 2025
d68f072
Add Databricks setup documentation for unstructured data tests
oravi Mar 10, 2025
5e22dbd
Add BigQuery setup documentation for unstructured data tests
oravi Mar 10, 2025
7584fd4
Enhance BigQuery setup documentation for unstructured data tests
oravi Mar 11, 2025
e7a4b21
Edited documentation for unstructured data tests on data lakes and Re…
oravi Mar 11, 2025
da0bb9f
Update documentation navigation for unstructured data tests with Reds…
oravi Mar 11, 2025
1b346ed
Revamp unstructured data tests quickstart documentation with comprehe…
oravi Mar 11, 2025
ad67aa7
Update unstructured data tests documentation with platform-specific s…
oravi Mar 11, 2025
68ca6b7
Add unstructured data tests feature description to README
oravi Mar 11, 2025
74b43e6
cosmetics
oravi Mar 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
46 changes: 46 additions & 0 deletions .github/workflows/build-docker-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Build Docker image
on:
workflow_dispatch:

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}

jobs:
build-and-push-docker-image:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- name: Checkout Elementary
uses: actions/checkout@v4

- name: Set up QEMU for multi-platform support
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx for multi-platform support
uses: docker/setup-buildx-action@v3

- name: Log in to the container registry
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}

- name: Build and push Docker image
uses: docker/build-push-action@v3
with:
context: .
push: false
platforms: linux/amd64,linux/arm64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
4 changes: 2 additions & 2 deletions .github/workflows/bump-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Create release branch
run: git checkout -b release/v${{ inputs.cli-version }}
- name: Initial config
Expand Down Expand Up @@ -80,7 +80,7 @@ jobs:
needs: bump-version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: create pull request
uses: repo-sync/pull-request@v2
with:
Expand Down
41 changes: 41 additions & 0 deletions .github/workflows/close_pylon_issue.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Close Pylon Ticket on Issue or Pull Request Closure

on:
issues:
types: [closed]
pull_request:
types: [closed]

jobs:
close_pylon_ticket:
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@v2

- name: Extract Pylon Ticket ID
id: extract_ticket_id
run: |
if [[ "${{ github.event_name }}" == 'issues' ]]; then
ISSUE_BODY=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }}" | jq -r '.body')
pylon_ticket_id=$(echo "$ISSUE_BODY" | grep -oP '(?<=<!-- pylon-ticket-id: )\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b(?= -->)')
elif [[ "${{ github.event_name }}" == 'pull_request' ]]; then
PR_BODY=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}" | jq -r '.body')
pylon_ticket_id=$(echo "$PR_BODY" | grep -oP '(?<=<!-- pylon-ticket-id: )\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b(?= -->)')
fi
echo "::set-output name=pylon_ticket_id::$pylon_ticket_id"

- name: Close Pylon Ticket
if: steps.extract_ticket_id.outputs.pylon_ticket_id != ''
run: |
pylon_ticket_id=${{ steps.extract_ticket_id.outputs.pylon_ticket_id }}
echo "Closing Pylon Ticket ID: $pylon_ticket_id"
curl --request PATCH \
--url "https://api.usepylon.com/issues/$pylon_ticket_id" \
--header "Authorization: ${{ secrets.PYLON_API_KEY }}" \
--header 'Content-Type: application/json' \
--data '{
"state": "closed"
}'
69 changes: 51 additions & 18 deletions .github/workflows/create_pylon_issue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,30 +13,63 @@ jobs:
- name: Check out the repository
uses: actions/checkout@v2

- name: Install jq
run: sudo apt-get install -y jq

- name: Create Pylon Issue for GitHub Issue
if: github.event_name == 'issues'
run: |
curl -X POST "https://api.usepylon.com/v1/issues" \
-H "Authorization: Bearer ${{ secrets.PYLON_API_KEY }}" \
-H "Content-Type: application/json" \
-d '{
response=$(curl --request POST \
--url https://api.usepylon.com/issues \
--header 'Authorization: ${{ secrets.PYLON_API_KEY }}' \
--header 'Content-Type: application/json' \
--data '{
"account_id": "${{ secrets.PYLON_ACCOUNT_ID }}",
"requester_id": "${{ secrets.PYLON_REQUESTER_ID }}",
"priority": "medium",
"title": "${{ github.event.issue.title }}",
"description": "${{ github.event.issue.body }}",
"repository": "${{ github.repository }}",
"type": "GitHub Issue",
"url": "${{ github.event.issue.html_url }}"
}'
"body_html": "<html lang=en><head><title>GitHub Issue Details</title></head><body><h1>GitHub Issue Details</h1><p><strong>Repository:</strong> ${{ github.repository }}</p><p><strong>Type:</strong> Github Issue</p><p><strong>URL:</strong> <a href=${{ github.event.issue.html_url }}>${{ github.event.issue.html_url }}</a></p></body></html>"
}')
ticket_id=$(echo $response | jq -r '.data.id')
echo "ticket_id=$ticket_id" >> $GITHUB_ENV

- name: Add Pylon ticket ID to issue body
if: success()
run: |
issue_body=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }}" | jq -r '.body')
new_body="$issue_body<!-- pylon-ticket-id: ${{ env.ticket_id }} -->"
json_body=$(jq -R -s --arg body "$new_body" '{"body": $body}' <<< "$new_body")
curl -X PATCH -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Content-Type: application/json" \
-d "$json_body" \
"https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }}"

- name: Create Pylon Issue for Pull Request
if: github.event_name == 'pull_request'
run: |
curl -X POST "https://api.usepylon.com/v1/issues" \
-H "Authorization: Bearer ${{ secrets.PYLON_API_KEY }}" \
-H "Content-Type: application/json" \
-d '{
response=$(curl --request POST \
--url https://api.usepylon.com/issues \
--header 'Authorization: ${{ secrets.PYLON_API_KEY }}' \
--header 'Content-Type: application/json' \
--data '{
"account_id": "${{ secrets.PYLON_ACCOUNT_ID }}",
"requester_id": "${{ secrets.PYLON_REQUESTER_ID }}",
"priority": "high",
"title": "${{ github.event.pull_request.title }}",
"description": "${{ github.event.pull_request.body }}",
"repository": "${{ github.repository }}",
"type": "Pull Request",
"url": "${{ github.event.pull_request.html_url }}"
}'
"body_html": "<html lang=en><head><title>GitHub Pull Request Details</title></head><body><h1>GitHub Pull Request Details</h1><p><strong>Repository:</strong> ${{ github.repository }}</p><p><strong>Type:</strong> Pull Request</p><p><strong>URL:</strong> <a href=${{ github.event.pull_request.html_url }}>${{ github.event.pull_request.html_url }}</a></p></body></html>"
}')
ticket_id=$(echo $response | jq -r '.data.id')
echo "ticket_id=$ticket_id" >> $GITHUB_ENV

- name: Add Pylon ticket ID to PR body
if: success()
run: |
pr_body=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}" | jq -r '.body')
new_body="$pr_body<!-- pylon-ticket-id: ${{ env.ticket_id }} -->"
json_body=$(jq -R -s --arg body "$new_body" '{"body": $body}' <<< "$new_body")
curl -X PATCH -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Content-Type: application/json" \
-d "$json_body" \
"https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}"
17 changes: 12 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ env:

jobs:
publish-to-pypi:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
steps:
- name: Checkout Elementary
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v4
Expand All @@ -27,7 +27,7 @@ jobs:
run: python -m build --sdist --wheel --outdir dist .

- name: Upload build artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: build
path: dist
Expand All @@ -46,7 +46,13 @@ jobs:

steps:
- name: Checkout Elementary
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Set up QEMU for multi-platform support
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx for multi-platform support
uses: docker/setup-buildx-action@v3

- name: Log in to the container registry
uses: docker/login-action@v2
Expand All @@ -66,13 +72,14 @@ jobs:
with:
context: .
push: true
platforms: linux/amd64,linux/arm64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

merge-to-docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: PR master to docs
uses: repo-sync/pull-request@v2
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/run-precommit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Elementary
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Set up Python
uses: actions/[email protected]
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/test-github-action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,19 @@ env:

jobs:
test:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
defaults:
run:
working-directory: elementary
steps:
- name: Checkout Elementary
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path: elementary
ref: ${{ inputs.elementary-ref }}

- name: Checkout dbt package
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
repository: elementary-data/dbt-data-reliability
path: dbt-data-reliability
Expand Down Expand Up @@ -90,14 +90,14 @@ jobs:
--file-path "report.html"

- name: Upload report
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: report.html
path: edr_target/report.html

- name: Upload log
if: always()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: edr.log
path: edr_target/edr.log
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/test-main-warehouse.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
branches: ["master"]
paths:
- elementary/**
- .github/**
- pyproject.toml
workflow_dispatch:

Expand Down
22 changes: 11 additions & 11 deletions .github/workflows/test-warehouse.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ env:

jobs:
test:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
defaults:
run:
working-directory: elementary
Expand All @@ -86,13 +86,13 @@ jobs:
cancel-in-progress: true
steps:
- name: Checkout Elementary
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path: elementary
ref: ${{ inputs.elementary-ref }}

- name: Checkout dbt package
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
repository: elementary-data/dbt-data-reliability
path: dbt-data-reliability
Expand All @@ -101,12 +101,12 @@ jobs:
- name: Start Postgres
if: inputs.warehouse-type == 'postgres'
working-directory: ${{ env.DBT_PKG_INTEG_TESTS_DIR }}
run: docker-compose up -d postgres
run: docker compose up -d postgres

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: "3.8"
python-version: "3.9"

- name: Install Spark requirements
if: inputs.warehouse-type == 'spark'
Expand Down Expand Up @@ -182,9 +182,9 @@ jobs:
--project-profile-target "${{ inputs.warehouse-type }}"

- name: Upload report artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: report_${{ inputs.warehouse-type }}_${{ env.BRANCH_NAME }}.html
name: report_${{ inputs.warehouse-type }}_${{ env.BRANCH_NAME }}_dbt_${{ inputs.dbt-version }}.html
path: elementary/edr_target/elementary_report.html

- name: Write GCS keyfile
Expand All @@ -210,17 +210,17 @@ jobs:
--aws-access-key-id "$AWS_ACCESS_KEY_ID"
--aws-secret-access-key "$AWS_SECRET_ACCESS_KEY"
--s3-bucket-name elementary-ci-artifacts
--google-service-account-path /tmp/gcs_keyfile.json
--gcs-bucket-name elementary_ci_artifacts
# --google-service-account-path /tmp/gcs_keyfile.json
# --gcs-bucket-name elementary_ci_artifacts
--azure-connection-string "$AZURE_CONNECTION_STRING"
--azure-container-name reports
--update-bucket-website true

- name: Upload edr log
if: ${{ always() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: edr.log
name: edr_${{ inputs.warehouse-type }}_${{ env.BRANCH_NAME }}_dbt_${{ inputs.dbt-version }}.log
path: elementary/edr_target/edr.log

- name: Run Python package e2e tests
Expand Down
Loading