File tree 2 files changed +90
-0
lines changed
2 files changed +90
-0
lines changed Original file line number Diff line number Diff line change
1
+ name : Build development Docker image
2
+
3
+ on :
4
+ workflow_dispatch :
5
+
6
+ env :
7
+ REGISTRY : ghcr.io
8
+ IMAGE_NAME : ${{ github.repository }}-dev
9
+
10
+ jobs :
11
+ push_to_registry :
12
+ runs-on : ubuntu-latest
13
+
14
+ permissions :
15
+ packages : write
16
+ contents : read
17
+ attestations : write
18
+ id-token : write
19
+
20
+ steps :
21
+ - name : Check out the repository
22
+ uses : actions/checkout@v4
23
+
24
+ - name : Log in to the Container registry
25
+ uses : docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
26
+ with :
27
+ registry : ${{ env.REGISTRY }}
28
+ username : ${{ github.actor }}
29
+ password : ${{ secrets.GITHUB_TOKEN }}
30
+
31
+ - name : Extract metadata (tags, labels) for Docker
32
+ id : meta
33
+ uses : docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
34
+ with :
35
+ images : ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
36
+
37
+ - name : Build and push Docker image
38
+ id : push
39
+ uses : docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671
40
+ with :
41
+ context : .
42
+ file : ./dockerfile/dev.dockerfile
43
+ push : true
44
+ tags : ${{ steps.meta.outputs.tags }}
45
+ labels : ${{ steps.meta.outputs.labels }}
46
+
47
+ - name : Generate artifact attestation
48
+ uses : actions/attest-build-provenance@v2
49
+ with :
50
+ subject-name : ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}}
51
+ subject-digest : ${{ steps.push.outputs.digest }}
52
+ push-to-registry : true
Original file line number Diff line number Diff line change
1
+ FROM ubuntu:22.04
2
+
3
+ SHELL ["/bin/bash" , "-euo" , "pipefail" , "-c" ]
4
+ RUN apt-get update &&\
5
+ apt-get install -y --no-install-recommends \
6
+ wget ca-certificates \
7
+ clang-format-14 clang-14 clang-tidy-14 lld-14 \
8
+ build-essential meson gcc-12 g++-12 cmake rustc cargo \
9
+ google-perftools \
10
+ libaio-dev \
11
+ libboost-all-dev \
12
+ libdouble-conversion-dev \
13
+ libdwarf-dev \
14
+ libgflags-dev \
15
+ libgmock-dev \
16
+ libgoogle-glog-dev \
17
+ libgoogle-perftools-dev \
18
+ libgtest-dev \
19
+ liblz4-dev \
20
+ liblzma-dev \
21
+ libssl-dev \
22
+ libunwind-dev \
23
+ libuv1-dev &&\
24
+ apt-get clean &&\
25
+ rm -rf /var/lib/apt/lists/*
26
+ ARG FDB_VERSION=7.1.61
27
+ ARG FDB_DOWNLOAD_URL=https://github.com/apple/foundationdb/releases/download/7.1.61/foundationdb-clients_${FDB_VERSION}-1_amd64.deb
28
+ RUN wget ${FDB_DOWNLOAD_URL} -O /tmp/foundationdb-clients.deb &&\
29
+ dpkg -i /tmp/foundationdb-clients.deb &&\
30
+ rm /tmp/foundationdb-clients.deb
31
+ ARG LIBFUSE_VERSION=3.16.2
32
+ ARG LIBFUSE_DOWNLOAD_URL=https://github.com/libfuse/libfuse/releases/download/fuse-${LIBFUSE_VERSION}/fuse-${LIBFUSE_VERSION}.tar.gz
33
+ RUN wget -O- ${LIBFUSE_DOWNLOAD_URL} |\
34
+ tar -xzvf - -C /tmp &&\
35
+ cd /tmp/fuse-${LIBFUSE_VERSION} &&\
36
+ mkdir build && cd build &&\
37
+ meson setup .. && ninja && ninja install &&\
38
+ rm -f -r /tmp/fuse-${LIBFUSE_VERSION}*
You can’t perform that action at this time.
0 commit comments