Skip to content

Commit 9cbf79e

Browse files
committed
automate builds
1 parent cb6f43c commit 9cbf79e

File tree

2 files changed

+94
-48
lines changed

2 files changed

+94
-48
lines changed

.github/workflows/build.yaml

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Create and publish a Docker image to ghcr.io
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
env:
9+
REGISTRY: ghcr.io
10+
IMAGE_NAME: ${{ github.repository }}
11+
12+
jobs:
13+
build-and-push-image:
14+
runs-on: ubuntu-latest
15+
permissions:
16+
contents: read
17+
packages: write
18+
19+
steps:
20+
- name: Checkout repository
21+
uses: actions/checkout@v3
22+
23+
- name: Set up Docker Buildx
24+
uses: docker/setup-buildx-action@v2
25+
- name: Log in to the Container registry
26+
uses: docker/login-action@v2
27+
with:
28+
registry: ghcr.io
29+
username: ${{ github.actor }}
30+
password: ${{ secrets.GITHUB_TOKEN }}
31+
- name: Extract metadata (tags, labels) for Docker
32+
id: meta
33+
uses: docker/metadata-action@v4
34+
with:
35+
images: ghcr.io/amoniacou/cloud-native-pg-postgresql-with-timescaledb
36+
37+
- name: Build and push Docker image
38+
uses: docker/build-push-action@v4
39+
with:
40+
context: .
41+
provenance: false
42+
push: true
43+
cache-from: type=gha
44+
cache-to: type=gha,mode=max
45+
tags: ${{ steps.meta.outputs.tags }}
46+
labels: ${{ steps.meta.outputs.labels }}

Dockerfile

+48-48
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,57 @@
1-
ARG TS_VERSION=2.7.2
2-
ARG CNPG_VERSION=14.5-12
1+
ARG TS_VERSION=2.11.2
2+
ARG CNPG_VERSION=14.9-debian
33

44
FROM ghcr.io/cloudnative-pg/postgresql:$CNPG_VERSION
55
ARG TS_VERSION
66
ENV TS_VERSION=${TS_VERSION}
77
USER 0
88
ARG TS_VERSION
99
RUN set -ex \
10-
&& mkdir -p /var/lib/apt/lists/partial \
11-
&& apt-get update \
12-
&& apt-get -y install \
13-
\
14-
build-essential \
15-
libssl-dev \
16-
libkrb5-dev \
17-
git \
18-
\
19-
dpkg-dev \
20-
gcc \
21-
libc-dev \
22-
make \
23-
cmake \
24-
wget \
25-
postgresql-server-dev-${PG_MAJOR} \
26-
&& mkdir -p /build/ \
27-
&& git clone https://github.com/timescale/timescaledb /build/timescaledb \
28-
\
29-
# Build current version \
30-
&& cd /build/timescaledb && rm -fr build \
31-
&& git checkout ${TS_VERSION} \
32-
&& ./bootstrap -DCMAKE_BUILD_TYPE=RelWithDebInfo -DREGRESS_CHECKS=OFF -DTAP_CHECKS=OFF -DGENERATE_DOWNGRADE_SCRIPT=ON -DWARNINGS_AS_ERRORS=OFF -DPROJECT_INSTALL_METHOD="docker-bitnami" \
33-
&& cd build && make install \
34-
&& cd ~ \
35-
\
36-
&& apt-get autoremove --purge -y \
37-
\
38-
build-essential \
39-
libssl-dev \
40-
libkrb5-dev \
41-
git \
42-
\
43-
dpkg-dev \
44-
gcc \
45-
libc-dev \
46-
make \
47-
cmake \
48-
wget \
49-
postgresql-server-dev-${PG_MAJOR} \
50-
&& apt-get clean -y \
51-
&& rm -rf \
52-
"${HOME}/.cache" \
53-
/var/lib/apt/lists/* \
54-
/tmp/* \
55-
/var/tmp/*
10+
&& mkdir -p /var/lib/apt/lists/partial \
11+
&& apt-get update \
12+
&& apt-get -y install \
13+
\
14+
build-essential \
15+
libssl-dev \
16+
libkrb5-dev \
17+
git \
18+
\
19+
dpkg-dev \
20+
gcc \
21+
libc-dev \
22+
make \
23+
cmake \
24+
wget \
25+
postgresql-server-dev-${PG_MAJOR} \
26+
&& mkdir -p /build/ \
27+
&& git clone https://github.com/timescale/timescaledb /build/timescaledb \
28+
\
29+
# Build current version \
30+
&& cd /build/timescaledb && rm -fr build \
31+
&& git checkout ${TS_VERSION} \
32+
&& ./bootstrap -DCMAKE_BUILD_TYPE=RelWithDebInfo -DREGRESS_CHECKS=OFF -DTAP_CHECKS=OFF -DGENERATE_DOWNGRADE_SCRIPT=ON -DWARNINGS_AS_ERRORS=OFF -DPROJECT_INSTALL_METHOD="docker-bitnami" \
33+
&& cd build && make install \
34+
&& cd ~ \
35+
\
36+
&& apt-get autoremove --purge -y \
37+
\
38+
build-essential \
39+
libssl-dev \
40+
libkrb5-dev \
41+
git \
42+
\
43+
dpkg-dev \
44+
gcc \
45+
libc-dev \
46+
make \
47+
cmake \
48+
wget \
49+
postgresql-server-dev-${PG_MAJOR} \
50+
&& apt-get clean -y \
51+
&& rm -rf \
52+
"${HOME}/.cache" \
53+
/var/lib/apt/lists/* \
54+
/tmp/* \
55+
/var/tmp/*
5656

5757
USER 26

0 commit comments

Comments
 (0)