Skip to content

Commit

Permalink
release: pg_idkit 0.2.3
Browse files Browse the repository at this point in the history
Signed-off-by: GitHub <[email protected]>
  • Loading branch information
t3hmrman committed Mar 7, 2024
1 parent fca2020 commit ca99d4f
Show file tree
Hide file tree
Showing 7 changed files with 84 additions and 19 deletions.
20 changes: 20 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,6 +1,26 @@
# Changelog
All notable changes to this project will be documented in this file.

## [0.2.3] - 2024-03-06

### Bug Fixes

- Release tagging upon merge
- Use --locked for cargo install
- Use zsh for better cross-platform support
- More zsh usage
- Use builder-gnu image from CI
- Cross platform shell usage by platform

### Features

- Require superuser in pg_idkit.control ("Ability to install the extension for non-root users")

### Miscellaneous Tasks

- Update Rust to 1.76.0
- Update postgres 16 to v16.2

## [0.2.2] - 2024-01-30

### Bug Fixes
Expand Down
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 7 additions & 7 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "pg_idkit"
version = "0.2.2"
version = "0.2.3"
edition = "2021"
authors = ["Victor Adossi <[email protected]>"]
license = "MIT"
Expand Down Expand Up @@ -65,7 +65,7 @@ assets = []
[package.metadata.generate-rpm.variants.pg11]
assets = [
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/lib/postgresql/pg_idkit.so", dest = "/usr/lib64/pgsql/pg_idkit.so", mode = "755" },
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/share/postgresql/extension/pg_idkit--0.2.2.sql", dest = "/usr/share/pgsql/extension/pg_idkit--0.2.2.sql", mode = "755" },
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/share/postgresql/extension/pg_idkit--0.2.3.sql", dest = "/usr/share/pgsql/extension/pg_idkit--0.2.3.sql", mode = "755" },
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/share/postgresql/extension/pg_idkit.control", dest = "/usr/share/pgsql/extension/pg_idkit.control", mode = "755" },
]
requires = { postgresql-server = "> 11", glibc = "*" }
Expand All @@ -74,7 +74,7 @@ release = "pg11"
[package.metadata.generate-rpm.variants.pg12]
assets = [
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/lib/postgresql/pg_idkit.so", dest = "/usr/lib64/pgsql/pg_idkit.so", mode = "755" },
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/share/postgresql/extension/pg_idkit--0.2.2.sql", dest = "/usr/share/pgsql/extension/pg_idkit--0.2.2.sql", mode = "755" },
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/share/postgresql/extension/pg_idkit--0.2.3.sql", dest = "/usr/share/pgsql/extension/pg_idkit--0.2.3.sql", mode = "755" },
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/share/postgresql/extension/pg_idkit.control", dest = "/usr/share/pgsql/extension/pg_idkit.control", mode = "755" },
]
requires = { postgresql-server = "> 12", glibc = "*" }
Expand All @@ -83,7 +83,7 @@ release = "pg12"
[package.metadata.generate-rpm.variants.pg13]
assets = [
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/lib/postgresql/pg_idkit.so", dest = "/usr/lib64/pgsql/pg_idkit.so", mode = "755" },
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/share/postgresql/extension/pg_idkit--0.2.2.sql", dest = "/usr/share/pgsql/extension/pg_idkit--0.2.2.sql", mode = "755" },
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/share/postgresql/extension/pg_idkit--0.2.3.sql", dest = "/usr/share/pgsql/extension/pg_idkit--0.2.3.sql", mode = "755" },
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/share/postgresql/extension/pg_idkit.control", dest = "/usr/share/pgsql/extension/pg_idkit.control", mode = "755" },
]
requires = { postgresql-server = "> 13", glibc = "*" }
Expand All @@ -92,7 +92,7 @@ release = "pg13"
[package.metadata.generate-rpm.variants.pg14]
assets = [
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/lib/postgresql/pg_idkit.so", dest = "/usr/lib64/pgsql/pg_idkit.so", mode = "755" },
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/share/postgresql/extension/pg_idkit--0.2.2.sql", dest = "/usr/share/pgsql/extension/pg_idkit--0.2.2.sql", mode = "755" },
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/share/postgresql/extension/pg_idkit--0.2.3.sql", dest = "/usr/share/pgsql/extension/pg_idkit--0.2.3.sql", mode = "755" },
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/share/postgresql/extension/pg_idkit.control", dest = "/usr/share/pgsql/extension/pg_idkit.control", mode = "755" },
]
requires = { postgresql-server = "> 14", glibc = "*" }
Expand All @@ -101,7 +101,7 @@ release = "pg14"
[package.metadata.generate-rpm.variants.pg15]
assets = [
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/lib/postgresql/pg_idkit.so", dest = "/usr/lib64/pgsql/pg_idkit.so", mode = "755" },
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/share/postgresql/extension/pg_idkit--0.2.2.sql", dest = "/usr/share/pgsql/extension/pg_idkit--0.2.2.sql", mode = "755" },
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/share/postgresql/extension/pg_idkit--0.2.3.sql", dest = "/usr/share/pgsql/extension/pg_idkit--0.2.3.sql", mode = "755" },
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/share/postgresql/extension/pg_idkit.control", dest = "/usr/share/pgsql/extension/pg_idkit.control", mode = "755" },
]
requires = { postgresql-server = "> 15", glibc = "*" }
Expand All @@ -110,7 +110,7 @@ release = "pg15"
[package.metadata.generate-rpm.variants.pg16]
assets = [
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/lib/postgresql/pg_idkit.so", dest = "/usr/lib64/pgsql/pg_idkit.so", mode = "755" },
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/share/postgresql/extension/pg_idkit--0.2.2.sql", dest = "/usr/share/pgsql/extension/pg_idkit--0.2.2.sql", mode = "755" },
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/share/postgresql/extension/pg_idkit--0.2.3.sql", dest = "/usr/share/pgsql/extension/pg_idkit--0.2.3.sql", mode = "755" },
{ source = "/tmp/pg_idkit/rpm/scratch/pgrx-install/share/postgresql/extension/pg_idkit.control", dest = "/usr/share/pgsql/extension/pg_idkit.control", mode = "755" },
]
requires = { postgresql-server = "> 16", glibc = "*" }
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ docker run \
-e POSTGRES_PASSWORD=replace_this \
-p 5432 \
--name pg_idkit \
ghcr.io/vadosware/pg_idkit:0.2.2-pg16.2-alpine3.18-amd64
ghcr.io/vadosware/pg_idkit:0.2.3-pg16.2-alpine3.18-amd64
```

> [!WARNING]
Expand Down Expand Up @@ -119,7 +119,7 @@ target/release/pg_idkit-pg16
│   └── share
│   └── postgresql
│   └── extension
│   ├── pg_idkit--0.2.2.sql
│   ├── pg_idkit--0.2.3.sql
│   └── pg_idkit.control
└── usr
├── lib
Expand All @@ -138,7 +138,7 @@ As the installation of the extension into a specific version of postgres uses yo
In the example above, the [files you need for a Postgres extension][pg-ext-files] are:

- `target/release/home/<user>/.pgrx/16.2/pgrx-install/lib/postgresql/pg_idkit.so`
- `target/release/home/<user>/.pgrx/16.2/pgrx-install/share/postgresql/extension/pg_idkit--0.2.2.sql`
- `target/release/home/<user>/.pgrx/16.2/pgrx-install/share/postgresql/extension/pg_idkit--0.2.3.sql`
- `target/release/home/<user>/.pgrx/16.2/pgrx-install/share/postgresql/extension/pg_idkit.control`

Install these files in the relevant folders for your Postgres installation -- note that exactly where these files should go can can differ across linux distributions and containerized environments.
Expand Down Expand Up @@ -185,7 +185,7 @@ docker run \
-e POSTGRES_PASSWORD=replace_this \
-p 5432 \
--name pg_idkit \
ghcr.io/vadosware/pg_idkit:0.2.2-pg16.2-alpine3.18-amd64
ghcr.io/vadosware/pg_idkit:0.2.3-pg16.2-alpine3.18-amd64
```

From another terminal, you can exec into the `pg_idkit` container and enable `pg_idkit`:
Expand Down Expand Up @@ -222,10 +222,10 @@ RPMs are produced upon [every official release](/releases) of `pg_idkit`.

Grab a released version of the RPM (or build one yourself by running `just build-rpm` after [setting up local development][guide-localdev]).

For example, with an RPM named `pg_idkit-0.2.2-pg16.x86_64.rpm`, you should be able to run:
For example, with an RPM named `pg_idkit-0.2.3-pg16.x86_64.rpm`, you should be able to run:

```
dnf install pg_idkit-0.2.2-pg16.x86_64.rpm
dnf install pg_idkit-0.2.3-pg16.x86_64.rpm
```

</details>
Expand Down
2 changes: 1 addition & 1 deletion infra/docker/base-pkg-alpine3.18-amd64.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
FROM alpine:3.19.0@sha256:13b7e62e8df80264dbb747995705a986aa530415763a6c58f84a3ca8af9a5bcd AS builder

# Allow for overriding rust toolcahin version
ARG RUST_TOOLCHAIN_VERSION=1.74
ARG RUST_TOOLCHAIN_VERSION=1.76
ENV RUST_TOOLCHAIN_VERSION=$RUST_TOOLCHAIN_VERSION

# Allow for overriding of PGRX PG version that is used
Expand Down
8 changes: 4 additions & 4 deletions infra/docker/pg_idkit-pg16.1-alpine3.18-amd64.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ ENV USER=$USER
ARG PGRX_PG_VERSION=pg16
ENV PGRX_PG_VERSION=$PGRX_PG_VERSION

ARG PKG_PG_VERSION=16.2
ARG PKG_PG_VERSION=16.1
ENV PKG_PG_VERSION=$PKG_PG_VERSION

ENV PKG_TARBALL_SUFFIX="-musl"
Expand All @@ -20,9 +20,9 @@ WORKDIR /pg_idkit
COPY . .
RUN RUSTFLAGS="-Ctarget-feature=-crt-static" just build package

FROM postgres:16.2-alpine3.18@sha256:7301126f8f27879e950feac65f148bb191007d6cd9b9a4a3a949ff85f7adca44
FROM postgres:16.1-alpine3.18@sha256:a44705e05d7c52add276c29d355851c63b8ce7df764191095c7337848bc2d69b

# NOTE: PGRX_PG_VERSION is defined via base-pkg:pg16.2-alpine3.18-amd64
# NOTE: PGRX_PG_VERSION is defined via base-pkg:pg16.1-alpine3.18-amd64
ARG PGRX_PG_VERSION=pg16
ENV PGRX_PG_VERSION=$PGRX_PG_VERSION

Expand All @@ -42,4 +42,4 @@ LABEL org.opencontainers.image.source="https://github.com/VADOSWARE/pg_idkit"
LABEL org.opencontainers.image.title="Postgres + pg_idkit"
LABEL org.opencontainers.image.url="https://github.com/VADOSWARE/pg_idkit"
LABEL org.opencontainers.image.vendor="VADOSWARE"
LABEL org.opencontainers.image.version=v${PGIDKIT_VERSION}
LABEL org.opencontainers.image.version=v${PGIDKIT_VERSION}
45 changes: 45 additions & 0 deletions infra/docker/pg_idkit-pg16.2-alpine3.18-amd64.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#
# NOTE: you must have the base packaging layer built for this image to work
# you can build this from scratch with `just build-base-pkg-image`
#
FROM ghcr.io/vadosware/pg_idkit/base-pkg:0.1.x-alpine3.18-amd64 AS builder

ARG USER
ENV USER=$USER

ARG PGRX_PG_VERSION=pg16
ENV PGRX_PG_VERSION=$PGRX_PG_VERSION

ARG PKG_PG_VERSION=16.2
ENV PKG_PG_VERSION=$PKG_PG_VERSION

ENV PKG_TARBALL_SUFFIX="-musl"

# Re-run the build with the latest code
WORKDIR /pg_idkit
COPY . .
RUN RUSTFLAGS="-Ctarget-feature=-crt-static" just build package

FROM postgres:16.2-alpine3.18@sha256:7301126f8f27879e950feac65f148bb191007d6cd9b9a4a3a949ff85f7adca44

# NOTE: PGRX_PG_VERSION is defined via base-pkg:pg16.2-alpine3.18-amd64
ARG PGRX_PG_VERSION=pg16
ENV PGRX_PG_VERSION=$PGRX_PG_VERSION

# Install packaged pg_idkit for system postgres
COPY --from=builder /pg_idkit/pg_idkit-*-musl.tar.gz /tmp
RUN tar -C /usr/local --strip-components=1 -xvf /tmp/pg_idkit-*-musl.tar.gz

ARG PGIDKIT_VERSION
ARG PGIDKIT_REVISION

LABEL org.opencontainers.image.authors="Victor Adossi <[email protected]>"
LABEL org.opencontainers.image.description="A distribution of the base postgres image, with pg_idkit pre-installed."
LABEL org.opencontainers.image.documentation="https://github.com/VADOSWARE/pg_idkit#readme"
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.revision=${PGIDKIT_REVISION}
LABEL org.opencontainers.image.source="https://github.com/VADOSWARE/pg_idkit"
LABEL org.opencontainers.image.title="Postgres + pg_idkit"
LABEL org.opencontainers.image.url="https://github.com/VADOSWARE/pg_idkit"
LABEL org.opencontainers.image.vendor="VADOSWARE"
LABEL org.opencontainers.image.version=v${PGIDKIT_VERSION}

0 comments on commit ca99d4f

Please sign in to comment.