Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
180 commits
Select commit Hold shift + click to select a range
8f3c42a
[DPE-5833] Create new PostgreSQL version 16 charm (#680)
lucasgameiroborges Mar 19, 2025
e1a7340
Merge branch 'main' into pg16-fixes
dragomirp Mar 19, 2025
b297f5b
Check PR for 16
dragomirp Mar 19, 2025
8fe21fd
Merge branch 'main' into pg16-fixes
dragomirp Mar 21, 2025
3b6de0c
lxd bump
dragomirp Mar 21, 2025
ff76559
Merge branch 'main' into pg16-fixes
dragomirp Mar 24, 2025
e3df392
Merge pull request #800 from canonical/pg16-fixes
taurus-forever Mar 25, 2025
1902cf6
[MISC] Sync main to 16/edge (#813)
dragomirp Apr 1, 2025
9a41525
[MISC] Sync up changes from 14 (#834)
dragomirp Apr 16, 2025
b56defa
Disable network cut tests on arm (#845)
dragomirp Apr 22, 2025
1d83dda
[DPE-6815] disable pgaudit during extensions changes (#840)
dragomirp Apr 22, 2025
528d7d4
Update charmcraft.yaml build tools (#818)
renovate[bot] Apr 23, 2025
d7e5a8c
[DPE-6189] Manage passwords with user secrets (#833)
reneradoi Apr 23, 2025
93ae108
[MISC] Sync main to 16/edge (#843)
dragomirp Apr 23, 2025
60a4418
Lock file maintenance Python dependencies (#819)
renovate[bot] Apr 25, 2025
28afde3
Remove defalut scope in promote action (#855)
dragomirp Apr 29, 2025
9d2f0da
Update charmcraft.yaml build tools (#862)
renovate[bot] Apr 30, 2025
f60f4ef
Lock file maintenance Python dependencies (#863)
renovate[bot] Apr 30, 2025
ff02253
[DPE-6965] Storage pools (#852)
marceloneppel May 5, 2025
1425f6d
[DPE-6965] Wait for all storages to detatch in smoke test (#869)
dragomirp May 6, 2025
2753365
[MISC] Split HA tests (#880)
marceloneppel May 6, 2025
3f81441
feat: [DPE-6904] Spaces support (#857)
paulomach May 6, 2025
6517ee6
Add in-place upgrades & rollbacks with charm-refresh (#866)
carlcsaposs-canonical May 7, 2025
2f6131a
Temporarily disable tests to unblock release
carlcsaposs-canonical May 7, 2025
3d6ed10
Trigger release
carlcsaposs-canonical May 7, 2025
67de3f4
Revert "Trigger release"
carlcsaposs-canonical May 7, 2025
f0f52a4
Revert "Temporarily disable tests to unblock release"
carlcsaposs-canonical May 7, 2025
fa95c88
Fix unit tests (#889)
carlcsaposs-canonical May 7, 2025
b9d1d2f
Fix charm refresh compatibility version tag during build (#892)
carlcsaposs-canonical May 7, 2025
a540ec4
Temporarily disable tests to unblock release
carlcsaposs-canonical May 7, 2025
7b80358
Revert "Temporarily disable tests to unblock release"
carlcsaposs-canonical May 7, 2025
4cab75f
Update charm-refresh-build-version to fix charm refresh version (#894)
carlcsaposs-canonical May 7, 2025
0c6eba1
Temporarily disable tests to unblock release
carlcsaposs-canonical May 7, 2025
b22551f
Revert "Temporarily disable tests to unblock release"
carlcsaposs-canonical May 7, 2025
c5215cb
Remove outdated TODO comment (#888)
carlcsaposs-canonical May 8, 2025
8ac7b57
[MISC] Delete runner password (#912)
dragomirp May 23, 2025
e5c14a1
Fix 16/edge refresh tests (including refresh to the same snap revisio…
marceloneppel May 28, 2025
3ee6bd0
[DPE-7309] Switch to Pydantic 2 and data_models v1 (#902)
dragomirp May 28, 2025
576806d
[DPE-7129] Fix network cut without ip change test (#900)
marceloneppel May 30, 2025
e19585f
Update Python dependencies (#905)
renovate[bot] May 30, 2025
9a30c95
Lock file maintenance Python dependencies (#878)
renovate[bot] May 31, 2025
03222bf
Update charmcraft.yaml build tools (#875)
renovate[bot] May 31, 2025
ec2b448
Lock file maintenance Python dependencies (#929)
renovate[bot] Jun 3, 2025
6fa983a
[DPE-7309][DPE-7326] Switch to TLSv4 (#909)
dragomirp Jun 4, 2025
04b21d5
[DPE-6752] Implement instance level predefined roles (#881)
shayancanonical Jun 5, 2025
2bb989c
[DPE-7309][DPE-7326] Re-enable upgrade tests (#934)
dragomirp Jun 6, 2025
6f8e54e
Fix lack of new file/folder creation when moving from v0 to v1 for po…
shayancanonical Jun 6, 2025
03b7e54
[DPE-7498] Create DBA role (#932)
marceloneppel Jun 6, 2025
59e6ff2
[DPE-7499] Remove admin and postgres roles (#931)
marceloneppel Jun 8, 2025
577307e
[DPE-7500] Create catalog/database level roles (#921)
marceloneppel Jun 9, 2025
486a1e1
[DPE-7502] Update PG to 16.9 (#944)
dragomirp Jun 9, 2025
ffa77b2
DPE-6662 Fix pgbackrest logs names on logs rotation (#939)
taurus-forever Jun 9, 2025
4ba3220
Refactor v16 documentation for Sphinx (#936)
a-velasco Jun 10, 2025
da66db9
[DPE-7502] Improve upgrade tests to support both (in)compatible scena…
taurus-forever Jun 10, 2025
fed4393
Update dependency uv to v0.7.12 (#953)
renovate[bot] Jun 10, 2025
868d987
Add redirects for all charmhub pages (16) (#962)
a-velasco Jun 12, 2025
e15d644
Update dependency requests to v2.32.4 [SECURITY] (#957)
renovate[bot] Jun 12, 2025
0523e6c
Predefined roles compatibility (#960)
marceloneppel Jun 13, 2025
92eee27
Lock file maintenance Python dependencies (#954)
renovate[bot] Jun 13, 2025
6cf8599
[DPE-7520] Test that the charmed_read role cannot write data (#945)
marceloneppel Jun 13, 2025
f00d3f2
Switch renovate team (#971)
dragomirp Jun 17, 2025
04999ee
Check is_user_in_hba output (#974)
dragomirp Jun 17, 2025
7cc1507
[DPE-7558] Fixes for predefined roles (backporting fixes from PgBounc…
marceloneppel Jun 17, 2025
3ebcebb
[DPE-7556] Add catalog/database level roles and mark chamed_dba_role …
marceloneppel Jun 17, 2025
1696d4a
Update PG16 version page (#970)
taurus-forever Jun 18, 2025
f2628fb
Set `httpx` and `httpcore` logger level to WARNING (#898)
carlcsaposs-canonical Jun 19, 2025
3ecaf4c
[MISC] Move pg wal (#988)
dragomirp Jun 19, 2025
229b467
Update dependency uv to v0.7.13 (#978)
renovate[bot] Jun 20, 2025
6b4ccfa
Update canonical/data-platform-workflows action to v32.1.0 (#979)
renovate[bot] Jun 21, 2025
622971f
Lock file maintenance Python dependencies (16/edge) (#981)
renovate[bot] Jun 21, 2025
cb2413a
Don't restart the service during initial syncing (#994)
dragomirp Jun 23, 2025
7798ac5
Lock file maintenance Python dependencies (#998)
renovate[bot] Jun 25, 2025
de0f011
Update dependency uv to v0.7.14 (#997)
renovate[bot] Jun 25, 2025
1e9eb89
Remove reinits (#999)
dragomirp Jun 25, 2025
fcc17af
Create users and roles on restoration (#991)
delgod Jun 25, 2025
574cbd5
[DPE-7627] Allow `charmed_dba` role members to connect to other datab…
marceloneppel Jun 25, 2025
62ada16
Update charm-refresh to v3.0.0.3 (#1008)
carlcsaposs-canonical Jun 30, 2025
c8048b5
[DPE-7549] Add compression and restore max-process (#983)
dragomirp Jun 30, 2025
03b1d71
Update charmcraft.yaml build tools (#1012)
renovate[bot] Jul 1, 2025
59b58e9
[MISC] Parallel patroni calls (#925)
dragomirp Jul 1, 2025
9f969b8
Lock file maintenance Python dependencies (#1013)
renovate[bot] Jul 1, 2025
a179e9d
[MISC] Converge cluster status calls (#1014)
dragomirp Jul 3, 2025
c8a49ae
[DPE-7678] recreate predefined roles (#1017)
dragomirp Jul 8, 2025
f2873a9
[DPE-7678] Enable disable extensions afrer restore (#1025)
dragomirp Jul 8, 2025
4d6ef0b
Update dependency uv to v0.7.19 (#1021)
renovate[bot] Jul 8, 2025
94f31bd
[DPE-6965] Bump snap revision to 197/198 (#1024)
taurus-forever Jul 9, 2025
86ced4d
[DPE-7628] Fix permissions for predefined roles (#1003)
marceloneppel Jul 10, 2025
695fb93
Remove markdown-linter action (16) (#1029)
a-velasco Jul 10, 2025
f5b17dc
[MISC] Use test app beta for isolated test (#1032)
dragomirp Jul 10, 2025
90834b0
[DPE-6965] Re-enable charm upgrade tests (new snap _daemon_ user) (#1…
taurus-forever Jul 10, 2025
a7aaea9
[DPE-7685] setrpiv shim (#1027)
dragomirp Jul 10, 2025
9679313
Remove `-u _daemon_` from the docs (#1035)
dragomirp Jul 11, 2025
47466e0
Fix automatic doc checks (16) (#1034)
a-velasco Jul 11, 2025
9b7e8b3
Bump PG slots max_replication_slots / max_wal_senders = 25 (#1037)
taurus-forever Jul 11, 2025
f3f3756
[DPE-6259] pgbackrest config perms (#1036)
dragomirp Jul 12, 2025
232c069
[MISC] Remove psql setpriv shim and switch stable upgrade tests to 16…
dragomirp Jul 15, 2025
70fad43
Lock file maintenance Python dependencies (#1023)
renovate[bot] Jul 16, 2025
137c60b
Update dependency uv to v0.7.21 (#1042)
renovate[bot] Jul 16, 2025
a0391a1
Reuse class PostgreSQL on each self.postgresql.* call (#1030)
taurus-forever Jul 16, 2025
5edfc96
Lock file maintenance Python dependencies (#1056)
renovate[bot] Jul 23, 2025
3f989d0
Update dependency uv to v0.8.0 (#1055)
renovate[bot] Jul 23, 2025
085ae08
[DPE-7792] Update predefined roles docs (#1054)
marceloneppel Jul 25, 2025
4d5e9a5
(WIP) Major v16 tutorial edits (#1040)
a-velasco Jul 25, 2025
239322e
Fix broken MicroStack links (#1062)
a-velasco Jul 28, 2025
c349890
[DPE-7706] Update PostgreSQL TF module (#1052)
taurus-forever Jul 28, 2025
008cb9f
[DPE-7785] Backport roles fixes from PgBouncer (#1048)
marceloneppel Jul 28, 2025
e3a249b
[DPE-7594] Sync up pg_hba changes and remove trigger (#1051)
dragomirp Jul 30, 2025
86f6bca
Lock file maintenance Python dependencies (#1068)
renovate[bot] Jul 30, 2025
098d1f3
Update canonical/data-platform-workflows action to v32.2.1 (#1067)
renovate[bot] Jul 30, 2025
1ce543d
Update dependency uv to v0.8.3 (#1066)
renovate[bot] Jul 30, 2025
f7de1f1
[DPE-7817] Remove mention to admin extra user role (#1058)
marceloneppel Jul 31, 2025
823e0a0
Logical Replication (#924)
Zvirovyi Aug 1, 2025
1609fa2
[DPE-7594] Add custom users to pg_hba filter (#1072)
dragomirp Aug 4, 2025
7f94671
Update charmcraft.yaml build tools (#1078)
renovate[bot] Aug 6, 2025
9b0ddd7
Lock file maintenance Python dependencies (16/edge) (#1079)
renovate[bot] Aug 6, 2025
de009c7
Don't readd databases owner and update snaps (#1080)
dragomirp Aug 7, 2025
6610871
[MISC] Add Pyright to linting (#1053)
dragomirp Aug 8, 2025
7defc85
[DPE-7624] Add logical replication documentation (#1084)
marceloneppel Aug 8, 2025
a42d4db
Update canonical/data-platform-workflows action to v32.2.2 (#1092)
renovate[bot] Aug 12, 2025
ee02d5a
Update charmcraft.yaml build tools (#1093)
renovate[bot] Aug 13, 2025
df70da8
Update GitHub actions to v5 (#1094)
renovate[bot] Aug 14, 2025
6f55424
Change config options to dashes & update charm-refresh to v3.1.0.0 (#…
carlcsaposs-canonical Aug 15, 2025
b4f0004
Lock file maintenance Python dependencies (#1095)
renovate[bot] Aug 17, 2025
4858b75
[DPE-6902] Replace md5 with scram-sha-256 in patroni/pg_hba.conf (#1004)
taurus-forever Aug 19, 2025
63846ad
DPE-7968 Bump snap revision (#1108)
taurus-forever Aug 19, 2025
6fdc7b3
Update canonical/data-platform-workflows action to v32.2.3 (#1105)
renovate[bot] Aug 20, 2025
471d0b7
Update dependency uv to v0.8.12 (#1106)
renovate[bot] Aug 20, 2025
49d8bb5
Lock file maintenance Python dependencies (#1107)
renovate[bot] Aug 20, 2025
f9c4aa4
[DPE-7726] Use Patroni API for is_restart_pending() (instead of SQL s…
taurus-forever Aug 21, 2025
836d068
Update Charmhub home page (16) (#1111)
a-velasco Aug 25, 2025
b8db827
Update charm-refresh to v3.1.0.2 (#1118)
carlcsaposs-canonical Aug 25, 2025
5736ded
Lock file maintenance Python dependencies (#1116)
renovate[bot] Aug 26, 2025
614ae38
[DPE-7965] property cache (#1101)
dragomirp Aug 26, 2025
d061b93
Lock file maintenance Python dependencies (#1124)
renovate[bot] Aug 26, 2025
be83f8b
Update dependency uv to v0.8.13 (#1122)
renovate[bot] Aug 26, 2025
cab9d43
Update canonical/data-platform-workflows action to v34 (#1123)
renovate[bot] Aug 27, 2025
394352f
[DPE-7379] custom username (#1100)
dragomirp Aug 29, 2025
8f60854
[MISC] Update charm libs (#1128)
dragomirp Sep 1, 2025
71e81dd
Lock file maintenance Python dependencies (#1134)
renovate[bot] Sep 2, 2025
cdc25dd
Update canonical/data-platform-workflows action to v35 (#1133)
renovate[bot] Sep 2, 2025
6b4d577
Update dependency uv to v0.8.14 (#1132)
renovate[bot] Sep 2, 2025
6f84cce
Don't block if the snap cannot be installed (#1135)
dragomirp Sep 2, 2025
d36929d
[DPE-8062] Enable microceph test for arm64 (#1126)
marceloneppel Sep 2, 2025
787953b
Switch to single kernel (#1138)
dragomirp Sep 8, 2025
d431fe8
Update dependency uv to v0.8.15 (#1144)
renovate[bot] Sep 9, 2025
f8cfb96
[DPE-8005] Handle empty region (#1117)
dragomirp Sep 10, 2025
9ffa9c6
Lock file maintenance Python dependencies (#1145)
renovate[bot] Sep 10, 2025
916c5bf
DPE-8299 Bump disk cleanup timeout 3=>10 (#1149)
taurus-forever Sep 11, 2025
974a6df
DPE-8296 Bump PostgreSQL to 16.10 (#1150)
taurus-forever Sep 11, 2025
d1e7c54
[MISC] Handle invalid stanza name (#1154)
dragomirp Sep 15, 2025
fd67104
Lock file maintenance Python dependencies (#1160)
renovate[bot] Sep 16, 2025
6d769e7
Update charmcraft.yaml build tools (#1159)
renovate[bot] Sep 16, 2025
23ee9f1
[DPE-8381] Add docs tmpfs warning (#1163)
marceloneppel Sep 22, 2025
90a2f7e
Update versions and release documentation (16) (#1141)
a-velasco Sep 22, 2025
d1b3c8c
[DPE-8320] Fix backups with internal certificates (#1162)
dragomirp Sep 22, 2025
6652b65
[DPE-8337] Disable Patroni config to prevent possible data loss (#1174)
taurus-forever Sep 24, 2025
8f4d10b
Lock file maintenance Python dependencies (#1178)
renovate[bot] Sep 25, 2025
798e91f
Update charmcraft.yaml build tools (#1177)
renovate[bot] Sep 25, 2025
c7a3c43
[DPE-7949] Refresh v3 documentation (#1087)
a-velasco Sep 30, 2025
f9855c2
[DPE-7584] Update single kernel library to fix tmpfs ownership and pe…
marceloneppel Oct 1, 2025
2a89f8b
DPE-8470 Bump patroni from 3.2.2 to 3.3.8 (#1198)
taurus-forever Oct 3, 2025
2087cc2
[MISC] Strict sync mode (#1199)
dragomirp Oct 7, 2025
1b01598
Update dependency ops to v3 (#1022)
renovate[bot] Oct 7, 2025
45b23a2
Lock file maintenance Python dependencies (16/edge) (#1205)
renovate[bot] Oct 7, 2025
3a00ea4
Update dependency uv to v0.8.23 (#1204)
renovate[bot] Oct 8, 2025
782292f
Remove secret's old revision (#1207)
marceloneppel Oct 9, 2025
d38d765
[DPE-8473] Handle invalid database name (`databases`) (#1190)
marceloneppel Oct 9, 2025
a0ac475
Lock file maintenance Python dependencies (#1223)
renovate[bot] Oct 14, 2025
d32e4e6
Update architecture page (16) (#1193)
a-velasco Oct 15, 2025
4ccc19d
doc: quick fix to use the new client-certificates relation (#1227)
nobuto-m Oct 15, 2025
d86803f
[MISC] Sync main to 16/edge (#1212)
dragomirp Oct 16, 2025
c1bfebb
Update dependency uv to v0.9.3 (#1222)
renovate[bot] Oct 16, 2025
d863f20
Add security event logging documentation (#1237)
marceloneppel Oct 20, 2025
1329135
Fix substrate (#1243)
marceloneppel Oct 20, 2025
d5b923a
[DPE-8426] Port Jubilant upgrade and async replication tests (#1206)
dragomirp Oct 21, 2025
0f14536
Add `lxc image list` to integration tests (#1240)
carlcsaposs-canonical Oct 21, 2025
769f4ce
docs: Remove unclear blocked state (16) (#1252)
a-velasco Oct 22, 2025
49adae3
[DPE-8426] Fix refresh tests (#1248)
dragomirp Oct 22, 2025
4d43436
Update dependency uv to v0.9.4 (#1245)
renovate[bot] Oct 22, 2025
ea1591c
Update event security logs documentation regarding logging charm oper…
marceloneppel Oct 22, 2025
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
7 changes: 7 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## Issue

## Solution

## Checklist
- [ ] I have added or updated any relevant documentation.
- [ ] I have cleaned any remaining cloud resources from my accounts.
31 changes: 3 additions & 28 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
Expand Up @@ -4,41 +4,16 @@
'github>canonical/data-platform//renovate_presets/charm.json5',
],
reviewers: [
'team:data-platform-postgresql',
'team:data-postgresql',
],
"baseBranches": ["main", "/^*\\/edge$/"],
packageRules: [
{
matchPackageNames: [
'pydantic',
],
allowedVersions: '<2.0.0',
},
{
matchManagers: [
'custom.regex',
],
matchDepNames: [
'juju',
],
matchDatasources: [
'pypi',
],
allowedVersions: '<3',
groupName: 'Juju agents',
},
],
customManagers: [
{
customType: 'regex',
fileMatch: [
'^\\.github/workflows/[^/]+\\.ya?ml$',
],
matchStrings: [
'(libjuju: )==(?<currentValue>.*?) +# renovate: latest libjuju 2',
],
depNameTemplate: 'juju',
datasourceTemplate: 'pypi',
versioningTemplate: 'loose',
},
],
customManagers: [],
}
2 changes: 1 addition & 1 deletion .github/workflows/approve_renovate_pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ on:
jobs:
approve-pr:
name: Approve Renovate pull request
uses: canonical/data-platform-workflows/.github/workflows/approve_renovate_pr.yaml@v31.0.0
uses: canonical/data-platform-workflows/.github/workflows/approve_renovate_pr.yaml@v35.0.2
permissions:
pull-requests: write # Needed to approve PR
24 changes: 24 additions & 0 deletions .github/workflows/automatic-doc-checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#
name: Automatic doc checks

on:
push:
branches: [ main ]
pull_request:
paths:
- 'docs/**' # Only run on changes to the docs directory

workflow_dispatch:
# Manual trigger


concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
documentation-checks:
uses: canonical/documentation-workflows/.github/workflows/documentation-checks.yaml@main
with:
working-directory: "docs"
fetch-depth: 0
3 changes: 2 additions & 1 deletion .github/workflows/check_pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@ on:
- edited
branches:
- main
- '*/edge'

jobs:
check-pr:
name: Check pull request
uses: canonical/data-platform-workflows/.github/workflows/check_charm_pr.yaml@v31.0.0
uses: canonical/data-platform-workflows/.github/workflows/check_charm_pr.yaml@v35.0.2
9 changes: 5 additions & 4 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ on:
- 'LICENSE'
- '**.md'
- .github/renovate.json5
- '.github/workflows/sync_docs.yaml'
- 'docs/**'
- 'terraform/**'
schedule:
- cron: '53 0 * * *' # Daily at 00:53 UTC
# Triggered on push to branch "main" by .github/workflows/release.yaml
Expand All @@ -27,15 +28,15 @@ on:
jobs:
lint:
name: Lint
uses: canonical/data-platform-workflows/.github/workflows/lint.yaml@v31.0.0
uses: canonical/data-platform-workflows/.github/workflows/lint.yaml@v35.0.2

unit-test:
name: Unit test charm
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Install tox & poetry
run: |
pipx install tox
Expand All @@ -49,7 +50,7 @@ jobs:

build:
name: Build charm
uses: canonical/data-platform-workflows/.github/workflows/build_charm.yaml@v31.0.0
uses: canonical/data-platform-workflows/.github/workflows/build_charm.yaml@v35.0.2

integration-test:
name: Integration test charm
Expand Down
30 changes: 13 additions & 17 deletions .github/workflows/integration_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Set up environment
run: |
sudo snap install charmcraft --classic
Expand Down Expand Up @@ -84,20 +84,11 @@ jobs:
needs:
- collect-integration-tests
runs-on: ${{ matrix.job.runner }}
timeout-minutes: 217 # Sum of steps `timeout-minutes` + 5
timeout-minutes: 216 # Sum of steps `timeout-minutes` + 5
steps:
- name: Free up disk space
timeout-minutes: 1
run: |
printf '\nDisk usage before cleanup\n'
df --human-readable
# Based on https://github.com/actions/runner-images/issues/2840#issuecomment-790492173
rm -r /opt/hostedtoolcache/
printf '\nDisk usage after cleanup\n'
df --human-readable
- name: Checkout
timeout-minutes: 3
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Set up environment
timeout-minutes: 5
run: sudo snap install charmcraft --classic
Expand All @@ -108,7 +99,7 @@ jobs:
go install github.com/snapcore/spread/cmd/spread@latest
- name: Download packed charm(s)
timeout-minutes: 5
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
pattern: ${{ inputs.artifact-prefix }}-*
merge-multiple: true
Expand Down Expand Up @@ -141,6 +132,11 @@ jobs:
- timeout-minutes: 1
if: ${{ success() || (failure() && steps.spread.outcome == 'failure') }}
run: snap list
- name: lxc image list
timeout-minutes: 1
if: ${{ success() || (failure() && steps.spread.outcome == 'failure') }}
# sudo needed since spread runs scripts as root
run: sudo lxc image list
- name: Select model
timeout-minutes: 1
# `!contains(matrix.job.spread_job, 'juju29')` workaround for juju 2 error:
Expand All @@ -157,7 +153,7 @@ jobs:
- name: juju status
timeout-minutes: 1
if: ${{ !contains(matrix.job.spread_job, 'juju29') && (success() || (failure() && steps.spread.outcome == 'failure')) }}
run: sudo juju status --color --relations | tee ~/logs/juju-status.txt
run: sudo juju status --color --relations --storage | tee ~/logs/juju-status.txt
- name: juju debug-log
timeout-minutes: 3
if: ${{ !contains(matrix.job.spread_job, 'juju29') && (success() || (failure() && steps.spread.outcome == 'failure')) }}
Expand Down Expand Up @@ -207,19 +203,19 @@ jobs:
# git push origin gh-pages-beta
# )
- name: Checkout GitHub pages branch
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
ref: gh-pages-beta
path: repo/
- name: Download default test results
# Default test results in case the integration tests time out or runner set up fails
# (So that Allure report will show "unknown"/"failed" test result, instead of omitting the test)
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
path: allure-default-results/
name: allure-default-results-integration-test
- name: Download test results
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
path: allure-results/
pattern: allure-results-integration-test-*
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/lib-check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ on:
- 'LICENSE'
- '**.md'
- 'renovate.json'
- 'docs/**'

jobs:
lib-check:
Expand All @@ -23,7 +24,7 @@ jobs:
if: ${{ github.event.pull_request.head.repo.full_name == 'canonical/postgresql-operator' }}
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Check libs
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/promote.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ on:
jobs:
promote:
name: Promote charm
uses: canonical/data-platform-workflows/.github/workflows/_promote_charm.yaml@v31.0.0
uses: canonical/data-platform-workflows/.github/workflows/_promote_charm.yaml@v35.0.2
with:
track: '14'
track: '16'
from-risk: ${{ inputs.from-risk }}
to-risk: ${{ inputs.to-risk }}
secrets:
Expand Down
19 changes: 15 additions & 4 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Copyright 2023 Canonical Ltd.
# See LICENSE file for licensing details.
name: Release to Charmhub
name: Release to Charmhub edge

on:
push:
branches:
- main
- '*/edge'
paths-ignore:
- 'tests/**'
- 'docs/**'
Expand All @@ -16,8 +16,18 @@ on:
- '.github/workflows/sync_docs.yaml'

jobs:
tag:
name: Create charm refresh compatibility version git tag
uses: canonical/data-platform-workflows/.github/workflows/tag_charm_edge.yaml@v35.0.2
with:
track: '16'
permissions:
contents: write # Needed to create git tag

ci-tests:
name: Tests
needs:
- tag
uses: ./.github/workflows/ci.yaml
secrets: inherit
permissions:
Expand All @@ -26,10 +36,11 @@ jobs:
release:
name: Release charm
needs:
- tag
- ci-tests
uses: canonical/data-platform-workflows/.github/workflows/release_charm.yaml@v31.0.0
uses: canonical/data-platform-workflows/.github/workflows/release_charm_edge.yaml@v35.0.2
with:
channel: 14/edge
track: 16
artifact-prefix: ${{ needs.ci-tests.outputs.artifact-prefix }}
secrets:
charmhub-token: ${{ secrets.CHARMHUB_TOKEN }}
Expand Down
18 changes: 0 additions & 18 deletions .github/workflows/sync_docs.yaml

This file was deleted.

44 changes: 44 additions & 0 deletions .github/workflows/tiobe_scan.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Copyright 2025 Canonical Ltd.
# See LICENSE file for licensing details.

name: Weekly TICS scan

on:
schedule:
- cron: "0 2 * * 6" # Every Saturday 2:00 AM UTC
workflow_dispatch:

jobs:
TICS:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v5

- name: Create and activate virtual environment
run: |
python3 -m venv .venv
. .venv/bin/activate
pip install flake8 poetry pylint pytest tox
poetry install --all-groups
echo PATH="$PATH" >> "$GITHUB_ENV"

- name: Run coverage tests
run: |
tox -e unit

- name: Move results to the necessary folder for TICS
run: |
mkdir -p .cover
mv coverage.xml .cover/cobertura.xml

- name: TICS GitHub Action
uses: tiobe/tics-github-action@v3
with:
mode: qserver
project: postgresql-operator
viewerUrl: https://canonical.tiobe.com/tiobeweb/TICS/api/cfg?name=default
branchdir: ${{ env.GITHUB_WORKSPACE }}
ticsAuthToken: ${{ secrets.TICSAUTHTOKEN }}
installTics: true
calc: ALL
9 changes: 8 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,18 @@ build/
__pycache__/
*.py[cod]
coverage.xml
requirements.txt
/requirements.txt
requirements-last-build.txt
.last_refresh_unit_status.json

# PyCharm project folder.
.idea/

# LXD profile used for deployment on local development environment.
lxd-profile.yaml

# Terraform runtime
terraform/.terraform.lock.hcl
terraform/.terraform/
terraform/terraform.tfstate
terraform/terraform.tfstate.backup
Loading
Loading