|
1 | | -- name: install pg_prove |
2 | | - apt: |
3 | | - pkg: |
4 | | - - libtap-parser-sourcehandler-pgtap-perl |
5 | | - when: debpkg_mode |
6 | | - |
7 | 1 | # - name: Temporarily disable PG Sodium references in config |
8 | 2 | # become: yes |
9 | 3 | # become_user: postgres |
|
16 | 10 | become_user: postgres |
17 | 11 | shell: |
18 | 12 | cmd: > |
19 | | - sed -i.bak |
20 | | - -e 's/\(shared_preload_libraries = '\''.*\)pgsodium,\(.*'\''\)/\1\2/' |
21 | | - -e 's/\(shared_preload_libraries = '\''.*\)supabase_vault,\(.*'\''\)/\1\2/' |
| 13 | + sed -i.bak |
| 14 | + -e 's/\(shared_preload_libraries = '\''.*\)pgsodium,\(.*'\''\)/\1\2/' |
| 15 | + -e 's/\(shared_preload_libraries = '\''.*\)supabase_vault,\(.*'\''\)/\1\2/' |
22 | 16 | -e 's/\(shared_preload_libraries = '\''.*\), *supabase_vault'\''/\1'\''/' |
23 | 17 | -e 's/pgsodium.getkey_script=/#pgsodium.getkey_script=/' |
24 | 18 | /etc/postgresql/postgresql.conf |
|
74 | 68 | LOCALE_ARCHIVE: /usr/lib/locale/locale-archive |
75 | 69 | when: stage2_nix |
76 | 70 |
|
77 | | - |
78 | | -- name: Check psql_version and modify migrations if oriole-xx |
79 | | - block: |
80 | | - - name: Check if psql_version is psql_orioledb-xx |
81 | | - set_fact: |
82 | | - is_psql_oriole: "{{ psql_version in ['psql_orioledb-16', 'psql_orioledb-17'] }}" |
83 | | - |
84 | | - - name: Remove specified extensions from SQL file |
85 | | - ansible.builtin.command: |
86 | | - cmd: > |
87 | | - sed -i '/\\ir.*\(timescaledb\|postgis\|pgrouting\|plv8\).*\.sql/d' /tmp/migrations/tests/extensions/test.sql |
88 | | - when: is_psql_oriole |
89 | | - become: yes |
90 | | - |
91 | | - - name: Remove specified extension files from extensions directory |
92 | | - ansible.builtin.find: |
93 | | - paths: /tmp/migrations/tests/extensions |
94 | | - patterns: |
95 | | - - '*timescaledb*.sql' |
96 | | - - '*plv8*.sql' |
97 | | - - '*postgis*.sql' |
98 | | - - '*pgrouting*.sql' |
99 | | - register: files_to_remove |
100 | | - when: is_psql_oriole |
101 | | - |
102 | | - - name: Delete matched extension files |
103 | | - ansible.builtin.file: |
104 | | - path: "{{ item.path }}" |
105 | | - state: absent |
106 | | - loop: "{{ files_to_remove.files }}" |
107 | | - when: is_psql_oriole |
108 | | - become: yes |
109 | | - |
110 | | -- name: Run Unit tests (with filename unit-test-*) on Postgres Database |
111 | | - shell: /usr/bin/pg_prove -U postgres -h localhost -d postgres -v /tmp/unit-tests/unit-test-*.sql |
112 | | - register: retval |
113 | | - failed_when: retval.rc != 0 |
114 | | - when: debpkg_mode or stage2_nix |
115 | | - |
116 | | -- name: Run migrations tests |
117 | | - shell: /usr/bin/pg_prove -U supabase_admin -h localhost -d postgres -v tests/test.sql |
118 | | - register: retval |
119 | | - failed_when: retval.rc != 0 |
120 | | - when: debpkg_mode or stage2_nix |
121 | | - args: |
122 | | - chdir: /tmp/migrations |
123 | | - |
124 | 71 | - name: Re-enable PG Sodium references in config |
125 | 72 | become: yes |
126 | 73 | become_user: postgres |
|
132 | 79 | shell: /usr/lib/postgresql/bin/psql --no-password --no-psqlrc -d postgres -h localhost -U supabase_admin -c 'SELECT pg_stat_statements_reset(); SELECT pg_stat_reset();' |
133 | 80 | when: debpkg_mode or stage2_nix |
134 | 81 |
|
135 | | -- name: remove pg_prove |
136 | | - apt: |
137 | | - pkg: |
138 | | - - libtap-parser-sourcehandler-pgtap-perl |
139 | | - state: absent |
140 | | - autoremove: yes |
141 | | - when: debpkg_mode |
142 | | - |
143 | 82 | - name: Stop Postgres Database |
144 | 83 | become: yes |
145 | 84 | become_user: postgres |
|
0 commit comments