-
Notifications
You must be signed in to change notification settings - Fork 14
Comparing changes
Open a pull request
base repository: ikalnytskyi/action-setup-postgres
base: v3
head repository: ikalnytskyi/action-setup-postgres
compare: v4
- 9 commits
- 4 files changed
- 2 contributors
Commits on Dec 28, 2022
-
Use
$GITHUB_OUTPUTinstead of::set-outputThe `::set-output` command has been deprecated and is scheduled for removal on Jun 1, 2023 [1]. The recommended way to set output parameters today is by writing them to `$GITHUB_OUTPUT` file [2]. [1] https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/ [2] https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter Resolves: #6
Configuration menu - View commit details
-
Copy full SHA for acc2f7f - Browse repository at this point
Copy the full SHA acc2f7fView commit details -
Merge pull request #9 from ikalnytskyi/remove-set-output
Use `$GITHUB_OUTPUT` instead of `::set-output`
Configuration menu - View commit details
-
Copy full SHA for 3973215 - Browse repository at this point
Copy the full SHA 3973215View commit details
Commits on Jan 3, 2023
-
BREAKING CHANGE: create superuser
The 'setup-postgres' action used to create a superuser that hasn't been exposed to users via 'connection-uri' output. The superuser has been named after GitHub Action's system user (i.e. 'runner'), had no password and could have been used via PostgreSQL client applications [1] or when using manually constructed connection URI with no user set. The user set via action's input parameters used to be unprivileged with escalated permissions to create databases on-demand. I don't remember why I made things this way, maybe I got confused somewhere along the way, but I don't think having both private superuser and public unprivileged user is a good idea. It's quite common in tests to dynamically create databases and/or users for applications under test, thus superuser permissions are required. This patch removes a private superuser named after the GitHub Action's system user (i.e. 'runner') in favor of granting superuser permissions to a user set via action's input parameters. Those who explicitly relied on 'runner' user might got affected as the user WON'T exist anymore. [1] https://www.postgresql.org/docs/15/reference-client.html
Configuration menu - View commit details
-
Copy full SHA for f9abc1d - Browse repository at this point
Copy the full SHA f9abc1dView commit details -
Merge pull request #11 from ikalnytskyi/superuser
BREAKING CHANGE: create superuser
Configuration menu - View commit details
-
Copy full SHA for ae2fb38 - Browse repository at this point
Copy the full SHA ae2fb38View commit details -
BREAKING CHANGE: enforce password authentication
It turns out that PostgreSQL comes with weird default that allows passwordless authentication for localhost connections [1]. This essentially means that 'password' input parameter for this action was ignored. The 'setup-postgres' action's primary use case is to be used on CI where most of the time authentication is desired in order to verify that passwords are passed correctly from applications under test. This patch enforces password authentication even for localhost connections, making sure that passwords are verified and not ignored. This will break everyone who previously passed wrong password or didn't pass it at all. [1] https://www.postgresql.org/docs/15/auth-trust.html Fixes: #5
Configuration menu - View commit details
-
Copy full SHA for f02428f - Browse repository at this point
Copy the full SHA f02428fView commit details -
Merge pull request #12 from ikalnytskyi/enforce-auth
BREAKING CHANGE: enforce password authentication
Configuration menu - View commit details
-
Copy full SHA for 3574bd5 - Browse repository at this point
Copy the full SHA 3574bd5View commit details
Commits on Jan 4, 2023
-
BREAKING CHANGE: don't set connection env vars
The 'setup-postgres' action used to set libpq environment variables [1] with connection parameters so the PostgreSQL client applications [2], such as 'psql' or 'createuser', won't require any configuration before using. Unfortunately these libpq environment variables are also used by all libpq clients including database drivers such as 'psycopg'. While this may sound good, it may as well lead to undesired behaviour and unobvious issues when connection parameters are automatically pulled from environment but most not. Nevertheless, the need to easy usage of the client applications [2] is indisputable because providing a bunch of connection parameters all the time is tedious. Therefore this patch pushes requires connection parameters to the connection service file [3], so the client applications can pull the data on-demand. E.g: $ psql service=superuser -c "SELECT 1;" $ PGSERVICE=superuser createuser myuser [1] https://www.postgresql.org/docs/15/libpq-envars.html [2] https://www.postgresql.org/docs/15/reference-client.html [3] https://www.postgresql.org/docs/15/libpq-pgservice.htmlConfiguration menu - View commit details
-
Copy full SHA for 75b3f77 - Browse repository at this point
Copy the full SHA 75b3f77View commit details -
Merge pull request #13 from ikalnytskyi/pgservice
BREAKING CHANGE: don't set connection env vars
Configuration menu - View commit details
-
Copy full SHA for f19cd58 - Browse repository at this point
Copy the full SHA f19cd58View commit details -
Configuration menu - View commit details
-
Copy full SHA for fd37e26 - Browse repository at this point
Copy the full SHA fd37e26View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v3...v4