forked from TrueCloudLab/frostfs-node
[#149] Use custom image and kludges for node
Until #139 is fixed, we can't use root inside Docker container running CI, but Woodpecker CI can't run non-root containers until they fix https://github.com/woodpecker-ci/woodpecker/issues/1077, hence we use temporary kludges with custom image and manual permissions in pipelines. Signed-off-by: Stanislav Bogatyrev <s.bogatyrev@yadro.com>
This commit is contained in:
parent
d64fb887ff
commit
573d920821
3 changed files with 53 additions and 0 deletions
25
.docker/Dockerfile.ci
Normal file
25
.docker/Dockerfile.ci
Normal file
|
@ -0,0 +1,25 @@
|
|||
FROM golang:1.19
|
||||
|
||||
WORKDIR /tmp
|
||||
|
||||
# Install apt packages
|
||||
RUN apt-get update && apt-get install --no-install-recommends -y \
|
||||
pip \
|
||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Dash → Bash
|
||||
RUN echo "dash dash/sh boolean false" | debconf-set-selections
|
||||
RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash
|
||||
|
||||
RUN useradd -u 1234 -d /home/ci -m ci
|
||||
USER ci
|
||||
|
||||
ENV PATH="$PATH:/home/ci/.local/bin"
|
||||
|
||||
COPY .pre-commit-config.yaml .
|
||||
|
||||
RUN pip install "pre-commit==3.1.1" \
|
||||
&& git init . \
|
||||
&& pre-commit install-hooks \
|
||||
&& rm -rf /tmp/*
|
11
.woodpecker/full-pre-commit.yml
Normal file
11
.woodpecker/full-pre-commit.yml
Normal file
|
@ -0,0 +1,11 @@
|
|||
pipeline:
|
||||
# Kludge for non-root containers under WoodPecker
|
||||
fix-ownership:
|
||||
image: alpine:latest
|
||||
commands: chown -R 1234:1234 .
|
||||
|
||||
full-pre-commit:
|
||||
image: git.frostfs.info/truecloudlab/frostfs-ci:v0.36
|
||||
commands:
|
||||
- export HOME="$(getent passwd $(id -u) | cut '-d:' -f6)"
|
||||
- pre-commit run -a
|
17
.woodpecker/pre-commit.yml
Normal file
17
.woodpecker/pre-commit.yml
Normal file
|
@ -0,0 +1,17 @@
|
|||
pipeline:
|
||||
# Kludge for non-root containers under WoodPecker
|
||||
fix-ownership:
|
||||
image: alpine:latest
|
||||
commands: chown -R 1234:1234 .
|
||||
|
||||
pre-commit:
|
||||
image: git.frostfs.info/truecloudlab/frostfs-ci:v0.36
|
||||
commands:
|
||||
- export HOME="$(getent passwd $(id -u) | cut '-d:' -f6)"
|
||||
- pre-commit run
|
||||
|
||||
unit:
|
||||
image: git.frostfs.info/truecloudlab/frostfs-ci:v0.36
|
||||
commands:
|
||||
- export HOME="$(getent passwd $(id -u) | cut '-d:' -f6)"
|
||||
- make test
|
Loading…
Reference in a new issue