From 5679ac320241613f4a79b2eed5043b17f35cf0fd Mon Sep 17 00:00:00 2001 From: Vitaliy Serov Date: Fri, 19 Jul 2024 14:01:38 +0300 Subject: [PATCH 01/11] Add `hadolint` check in CI --- .github/workflows/linting.yml | 9 +++++++++ CHANGELOG.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 6b19f26cd..5dabe9051 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -25,3 +25,12 @@ jobs: run: | npm install -g markdownlint-cli markdownlint *.md + hadolint: + name: hadolint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Run Hadolint + uses: hadolint/hadolint-action@v3.1.0 + with: + recursive: true diff --git a/CHANGELOG.md b/CHANGELOG.md index 4838b79eb..fb7883765 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ * Ability to set Web Builder url via `WEB_BUILDER_URL` * Add `yamllint` check in CI * Add `dependabot` check for `GitHub Actions` +* Add `hadolint` check in CI. ### Changes From 914dae74cd83fbba093d440ca26b970233a75366 Mon Sep 17 00:00:00 2001 From: Vitaliy Serov Date: Fri, 19 Jul 2024 14:05:55 +0300 Subject: [PATCH 02/11] Fix several hadolint issues --- .hadolint.yml | 2 ++ Dockerfile | 5 ++--- dockerfiles/debian-develop/Dockerfile | 4 ++-- dockerfiles/debian-next-release/Dockerfile | 4 ++-- 4 files changed, 8 insertions(+), 7 deletions(-) create mode 100644 .hadolint.yml diff --git a/.hadolint.yml b/.hadolint.yml new file mode 100644 index 000000000..0464523a4 --- /dev/null +++ b/.hadolint.yml @@ -0,0 +1,2 @@ +ignored: + - DL3018 diff --git a/Dockerfile b/Dockerfile index 8f10a5046..d4496e887 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,5 @@ FROM ruby:3.3 -MAINTAINER Pavel.Lobashov "shockwavenn@gmail.com" - RUN apt-get update && apt-get -y -q install git curl RUN apt-get update && apt-get -y -q install libmagic-dev \ poppler-utils \ @@ -21,7 +19,8 @@ RUN mv /tmp/onlyoffice.gpg /usr/share/keyrings/onlyoffice.gpg # Write repository & install docbuilder RUN echo "deb [signed-by=/usr/share/keyrings/onlyoffice.gpg] http://download.onlyoffice.com/repo/debian squeeze main" >> /etc/apt/sources.list.d/onlyoffice.list && \ apt-get -y update && \ - apt-get -y install onlyoffice-documentbuilder + apt-get --no-install-recommends -y install onlyoffice-documentbuilder && \ + rm -rf /var/lib/apt/lists/* CMD /bin/bash -c "onlyoffice-documentbuilder -v; \ cd /doc-builder-testing; \ rake" diff --git a/dockerfiles/debian-develop/Dockerfile b/dockerfiles/debian-develop/Dockerfile index 7e29b298a..f64a12787 100644 --- a/dockerfiles/debian-develop/Dockerfile +++ b/dockerfiles/debian-develop/Dockerfile @@ -1,6 +1,5 @@ FROM ruby:3.3 -MAINTAINER Pavel.Lobashov "shockwavenn@gmail.com" ENV VERSION="99.99.99" ENV DIST="stable" @@ -17,7 +16,8 @@ RUN bundle config set without 'development' && \ RUN echo "deb [trusted=yes] https://s3.eu-west-1.amazonaws.com/repo-doc-onlyoffice-com/repo/debian $DIST $VERSION" | \ tee /etc/apt/sources.list.d/onlyoffice-dev.list && \ apt-get -y update && \ - apt-get -y install onlyoffice-documentbuilder + apt-get --no-install-recommends -y install onlyoffice-documentbuilder && \ + rm -rf /var/lib/apt/lists/* RUN cat /etc/apt/sources.list.d/onlyoffice-dev.list CMD /bin/bash -c "onlyoffice-documentbuilder -v; \ diff --git a/dockerfiles/debian-next-release/Dockerfile b/dockerfiles/debian-next-release/Dockerfile index aed11cc12..47099b141 100644 --- a/dockerfiles/debian-next-release/Dockerfile +++ b/dockerfiles/debian-next-release/Dockerfile @@ -1,6 +1,5 @@ FROM ruby:3.3 -MAINTAINER Pavel.Lobashov "shockwavenn@gmail.com" ENV VERSION="8.1.1" ENV DIST="stable" @@ -17,7 +16,8 @@ RUN bundle config set without 'development' && \ RUN echo "deb [trusted=yes] https://s3.eu-west-1.amazonaws.com/repo-doc-onlyoffice-com/repo/debian $DIST $VERSION" | \ tee /etc/apt/sources.list.d/onlyoffice-dev.list && \ apt-get -y update && \ - apt-get -y install onlyoffice-documentbuilder=$VERSION-* + apt-get --no-install-recommends -y install onlyoffice-documentbuilder=$VERSION-* && \ + rm -rf /var/lib/apt/lists/* RUN cat /etc/apt/sources.list.d/onlyoffice-dev.list CMD /bin/bash -c "onlyoffice-documentbuilder -v; \ From 242692bf95b783845de8b6773f1a5848613dae05 Mon Sep 17 00:00:00 2001 From: Vitaliy Serov Date: Fri, 19 Jul 2024 14:08:34 +0300 Subject: [PATCH 03/11] Fix more --- .hadolint.yml | 2 +- dockerfiles/rockylinux-latest/Dockerfile | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.hadolint.yml b/.hadolint.yml index 0464523a4..8f7e23e45 100644 --- a/.hadolint.yml +++ b/.hadolint.yml @@ -1,2 +1,2 @@ ignored: - - DL3018 + - DL3008 diff --git a/dockerfiles/rockylinux-latest/Dockerfile b/dockerfiles/rockylinux-latest/Dockerfile index e7d53a39c..37b8243d3 100644 --- a/dockerfiles/rockylinux-latest/Dockerfile +++ b/dockerfiles/rockylinux-latest/Dockerfile @@ -6,6 +6,8 @@ RUN bundle config set without 'development' && \ bundle install RUN bundle config set without 'development' && \ bundle install -RUN dnf -y install https://download.onlyoffice.com/repo/centos/main/noarch/onlyoffice-repo.noarch.rpm -RUN dnf -y install onlyoffice-documentbuilder -CMD rake rspec_critical +RUN dnf -y install https://download.onlyoffice.com/repo/centos/main/noarch/onlyoffice-repo.noarch.rpm && \ + dnf -y install onlyoffice-documentbuilder && \ + dnf clean all +CMD ["rake", "rspec_critical"] + From d2893190ef5905cf3fb7c20d879148f440e84f17 Mon Sep 17 00:00:00 2001 From: Vitaliy Serov Date: Fri, 19 Jul 2024 14:14:44 +0300 Subject: [PATCH 04/11] Fix more --- dockerfiles/debian-develop/Dockerfile | 4 +--- dockerfiles/debian-next-release/Dockerfile | 6 ++---- dockerfiles/entrypoint.sh | 5 +++++ dockerfiles/rockylinux-latest/Dockerfile | 2 +- 4 files changed, 9 insertions(+), 8 deletions(-) create mode 100644 dockerfiles/entrypoint.sh diff --git a/dockerfiles/debian-develop/Dockerfile b/dockerfiles/debian-develop/Dockerfile index f64a12787..098db918d 100644 --- a/dockerfiles/debian-develop/Dockerfile +++ b/dockerfiles/debian-develop/Dockerfile @@ -20,6 +20,4 @@ RUN echo "deb [trusted=yes] https://s3.eu-west-1.amazonaws.com/repo-doc-onlyoffi rm -rf /var/lib/apt/lists/* RUN cat /etc/apt/sources.list.d/onlyoffice-dev.list -CMD /bin/bash -c "onlyoffice-documentbuilder -v; \ - cd /doc-builder-testing; \ - rake rspec_critical" +CMD ["sh", "dockerfiles/entrypoint.sh"] diff --git a/dockerfiles/debian-next-release/Dockerfile b/dockerfiles/debian-next-release/Dockerfile index 47099b141..a634e0e48 100644 --- a/dockerfiles/debian-next-release/Dockerfile +++ b/dockerfiles/debian-next-release/Dockerfile @@ -16,10 +16,8 @@ RUN bundle config set without 'development' && \ RUN echo "deb [trusted=yes] https://s3.eu-west-1.amazonaws.com/repo-doc-onlyoffice-com/repo/debian $DIST $VERSION" | \ tee /etc/apt/sources.list.d/onlyoffice-dev.list && \ apt-get -y update && \ - apt-get --no-install-recommends -y install onlyoffice-documentbuilder=$VERSION-* && \ + apt-get --no-install-recommends-y install onlyoffice-documentbuilder=$VERSION-* && \ rm -rf /var/lib/apt/lists/* RUN cat /etc/apt/sources.list.d/onlyoffice-dev.list -CMD /bin/bash -c "onlyoffice-documentbuilder -v; \ - cd /doc-builder-testing; \ - rake rspec_critical" +CMD ["sh", "dockerfiles/entrypoint.sh"] diff --git a/dockerfiles/entrypoint.sh b/dockerfiles/entrypoint.sh new file mode 100644 index 000000000..ecd261080 --- /dev/null +++ b/dockerfiles/entrypoint.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +onlyoffice-documentbuilder -v +cd /doc-builder-testing +rake rspec_critical diff --git a/dockerfiles/rockylinux-latest/Dockerfile b/dockerfiles/rockylinux-latest/Dockerfile index 37b8243d3..1e61badc4 100644 --- a/dockerfiles/rockylinux-latest/Dockerfile +++ b/dockerfiles/rockylinux-latest/Dockerfile @@ -9,5 +9,5 @@ RUN bundle config set without 'development' && \ RUN dnf -y install https://download.onlyoffice.com/repo/centos/main/noarch/onlyoffice-repo.noarch.rpm && \ dnf -y install onlyoffice-documentbuilder && \ dnf clean all -CMD ["rake", "rspec_critical"] +CMD ["sh", "dockerfiles/entrypoint.sh"] From 157e2c94111739c76fdc09dc8864da4fe89f5660 Mon Sep 17 00:00:00 2001 From: Vitaliy Serov Date: Fri, 19 Jul 2024 14:18:06 +0300 Subject: [PATCH 05/11] Fix more --- .hadolint.yml | 1 + Dockerfile | 12 +++++++----- dockerfiles/debian-next-release/Dockerfile | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.hadolint.yml b/.hadolint.yml index 8f7e23e45..0d079d9e9 100644 --- a/.hadolint.yml +++ b/.hadolint.yml @@ -1,2 +1,3 @@ ignored: - DL3008 + - DL3028 diff --git a/Dockerfile b/Dockerfile index d4496e887..6679582df 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,12 @@ FROM ruby:3.3 -RUN apt-get update && apt-get -y -q install git curl -RUN apt-get update && apt-get -y -q install libmagic-dev \ - poppler-utils \ - time - +RUN apt-get update && \ + apt-get --no-install-recommends -y -q install \ + curl \ + git \ + libmagic-dev \ + poppler-utils \ + time RUN gem install bundler COPY . /doc-builder-testing WORKDIR /doc-builder-testing diff --git a/dockerfiles/debian-next-release/Dockerfile b/dockerfiles/debian-next-release/Dockerfile index a634e0e48..5a658ba8f 100644 --- a/dockerfiles/debian-next-release/Dockerfile +++ b/dockerfiles/debian-next-release/Dockerfile @@ -16,7 +16,7 @@ RUN bundle config set without 'development' && \ RUN echo "deb [trusted=yes] https://s3.eu-west-1.amazonaws.com/repo-doc-onlyoffice-com/repo/debian $DIST $VERSION" | \ tee /etc/apt/sources.list.d/onlyoffice-dev.list && \ apt-get -y update && \ - apt-get --no-install-recommends-y install onlyoffice-documentbuilder=$VERSION-* && \ + apt-get --no-install-recommends -y install onlyoffice-documentbuilder=$VERSION-* && \ rm -rf /var/lib/apt/lists/* RUN cat /etc/apt/sources.list.d/onlyoffice-dev.list From caff91ccaa6735232048e9c847e8ba0a5a8cec9a Mon Sep 17 00:00:00 2001 From: Vitaliy Serov Date: Fri, 19 Jul 2024 14:25:01 +0300 Subject: [PATCH 06/11] Fix more --- Dockerfile | 13 +++++++------ dockerfiles/debian-develop/Dockerfile | 10 ++++++---- dockerfiles/debian-next-release/Dockerfile | 10 ++++++---- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6679582df..35b8027d8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,18 +6,19 @@ RUN apt-get update && \ git \ libmagic-dev \ poppler-utils \ - time + time && \ + rm -rf /var/lib/apt/lists/* RUN gem install bundler COPY . /doc-builder-testing WORKDIR /doc-builder-testing RUN bundle config set without 'development' && \ bundle install # Install gpg key -RUN mkdir -p -m 700 ~/.gnupg -RUN curl -fsSL https://download.onlyoffice.com/GPG-KEY-ONLYOFFICE | gpg --no-default-keyring --keyring gnupg-ring:/tmp/onlyoffice.gpg --import -RUN chmod 644 /tmp/onlyoffice.gpg -RUN chown root:root /tmp/onlyoffice.gpg -RUN mv /tmp/onlyoffice.gpg /usr/share/keyrings/onlyoffice.gpg +RUN mkdir -p -m 700 ~/.gnupg && \ + curl -fsSL https://download.onlyoffice.com/GPG-KEY-ONLYOFFICE | gpg --no-default-keyring --keyring gnupg-ring:/tmp/onlyoffice.gpg --import && \ + chmod 644 /tmp/onlyoffice.gpg && \ + chown root:root /tmp/onlyoffice.gpg && \ + mv /tmp/onlyoffice.gpg /usr/share/keyrings/onlyoffice.gpg # Write repository & install docbuilder RUN echo "deb [signed-by=/usr/share/keyrings/onlyoffice.gpg] http://download.onlyoffice.com/repo/debian squeeze main" >> /etc/apt/sources.list.d/onlyoffice.list && \ apt-get -y update && \ diff --git a/dockerfiles/debian-develop/Dockerfile b/dockerfiles/debian-develop/Dockerfile index 098db918d..9f9abbc18 100644 --- a/dockerfiles/debian-develop/Dockerfile +++ b/dockerfiles/debian-develop/Dockerfile @@ -3,10 +3,12 @@ FROM ruby:3.3 ENV VERSION="99.99.99" ENV DIST="stable" -RUN apt-get update && apt-get -y -q install git \ - curl \ - libmagic-dev \ - poppler-utils +RUN apt-get update && \ + apt-get -y -q install git \ + curl \ + libmagic-dev \ + poppler-utils && \ + rm -rf /var/lib/apt/lists/* RUN gem install bundler COPY . /doc-builder-testing diff --git a/dockerfiles/debian-next-release/Dockerfile b/dockerfiles/debian-next-release/Dockerfile index 5a658ba8f..9ea6b3f25 100644 --- a/dockerfiles/debian-next-release/Dockerfile +++ b/dockerfiles/debian-next-release/Dockerfile @@ -3,10 +3,12 @@ FROM ruby:3.3 ENV VERSION="8.1.1" ENV DIST="stable" -RUN apt-get update && apt-get -y -q install git \ - curl \ - libmagic-dev \ - poppler-utils +RUN apt-get update && \ + apt-get -y -q install git \ + curl \ + libmagic-dev \ + poppler-utils && \ + rm -rf /var/lib/apt/lists/* RUN gem install bundler COPY . /doc-builder-testing From 38fe6e662fed1ac9aa847a13f1844af37456857a Mon Sep 17 00:00:00 2001 From: Vitaliy Serov Date: Fri, 19 Jul 2024 14:28:21 +0300 Subject: [PATCH 07/11] Fix more --- Dockerfile | 4 +--- dockerfiles/debian-develop/Dockerfile | 3 ++- dockerfiles/debian-next-release/Dockerfile | 3 ++- entrypoint.sh | 5 +++++ 4 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 entrypoint.sh diff --git a/Dockerfile b/Dockerfile index 35b8027d8..a008aac37 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,6 +24,4 @@ RUN echo "deb [signed-by=/usr/share/keyrings/onlyoffice.gpg] http://download.onl apt-get -y update && \ apt-get --no-install-recommends -y install onlyoffice-documentbuilder && \ rm -rf /var/lib/apt/lists/* -CMD /bin/bash -c "onlyoffice-documentbuilder -v; \ - cd /doc-builder-testing; \ - rake" +CMD ["sh", "entrypoint.sh"] diff --git a/dockerfiles/debian-develop/Dockerfile b/dockerfiles/debian-develop/Dockerfile index 9f9abbc18..c564d0932 100644 --- a/dockerfiles/debian-develop/Dockerfile +++ b/dockerfiles/debian-develop/Dockerfile @@ -4,7 +4,8 @@ ENV VERSION="99.99.99" ENV DIST="stable" RUN apt-get update && \ - apt-get -y -q install git \ + apt-get --no-install-recommends -y -q install \ + git \ curl \ libmagic-dev \ poppler-utils && \ diff --git a/dockerfiles/debian-next-release/Dockerfile b/dockerfiles/debian-next-release/Dockerfile index 9ea6b3f25..be2954190 100644 --- a/dockerfiles/debian-next-release/Dockerfile +++ b/dockerfiles/debian-next-release/Dockerfile @@ -4,7 +4,8 @@ ENV VERSION="8.1.1" ENV DIST="stable" RUN apt-get update && \ - apt-get -y -q install git \ + apt-get --no-install-recommends -y -q install \ + git \ curl \ libmagic-dev \ poppler-utils && \ diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 000000000..5a6e92f22 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +onlyoffice-documentbuilder -v +cd /doc-builder-testing +rake From fde395affe6b69939887ea4d5c0c293f81826094 Mon Sep 17 00:00:00 2001 From: Vitaliy Serov Date: Fri, 19 Jul 2024 14:28:58 +0300 Subject: [PATCH 08/11] Fix typo --- dockerfiles/rockylinux-latest/Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/dockerfiles/rockylinux-latest/Dockerfile b/dockerfiles/rockylinux-latest/Dockerfile index 1e61badc4..4b285416d 100644 --- a/dockerfiles/rockylinux-latest/Dockerfile +++ b/dockerfiles/rockylinux-latest/Dockerfile @@ -10,4 +10,3 @@ RUN dnf -y install https://download.onlyoffice.com/repo/centos/main/noarch/onlyo dnf -y install onlyoffice-documentbuilder && \ dnf clean all CMD ["sh", "dockerfiles/entrypoint.sh"] - From 331378342b3c0eac438214a52eb3164a29ca5e8f Mon Sep 17 00:00:00 2001 From: Vitaliy Serov Date: Fri, 19 Jul 2024 14:31:33 +0300 Subject: [PATCH 09/11] Fix more --- Dockerfile | 1 + dockerfiles/debian-develop/Dockerfile | 1 + dockerfiles/debian-next-release/Dockerfile | 1 + 3 files changed, 3 insertions(+) diff --git a/Dockerfile b/Dockerfile index a008aac37..858b08df9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,6 +14,7 @@ WORKDIR /doc-builder-testing RUN bundle config set without 'development' && \ bundle install # Install gpg key +SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN mkdir -p -m 700 ~/.gnupg && \ curl -fsSL https://download.onlyoffice.com/GPG-KEY-ONLYOFFICE | gpg --no-default-keyring --keyring gnupg-ring:/tmp/onlyoffice.gpg --import && \ chmod 644 /tmp/onlyoffice.gpg && \ diff --git a/dockerfiles/debian-develop/Dockerfile b/dockerfiles/debian-develop/Dockerfile index c564d0932..9ca2ceecd 100644 --- a/dockerfiles/debian-develop/Dockerfile +++ b/dockerfiles/debian-develop/Dockerfile @@ -16,6 +16,7 @@ COPY . /doc-builder-testing WORKDIR /doc-builder-testing RUN bundle config set without 'development' && \ bundle install +SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN echo "deb [trusted=yes] https://s3.eu-west-1.amazonaws.com/repo-doc-onlyoffice-com/repo/debian $DIST $VERSION" | \ tee /etc/apt/sources.list.d/onlyoffice-dev.list && \ apt-get -y update && \ diff --git a/dockerfiles/debian-next-release/Dockerfile b/dockerfiles/debian-next-release/Dockerfile index be2954190..89d804d4f 100644 --- a/dockerfiles/debian-next-release/Dockerfile +++ b/dockerfiles/debian-next-release/Dockerfile @@ -16,6 +16,7 @@ COPY . /doc-builder-testing WORKDIR /doc-builder-testing RUN bundle config set without 'development' && \ bundle install +SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN echo "deb [trusted=yes] https://s3.eu-west-1.amazonaws.com/repo-doc-onlyoffice-com/repo/debian $DIST $VERSION" | \ tee /etc/apt/sources.list.d/onlyoffice-dev.list && \ apt-get -y update && \ From b643318c3ae4786bd5db74de209ca1803053c7c3 Mon Sep 17 00:00:00 2001 From: Vitaliy Serov Date: Fri, 19 Jul 2024 14:34:53 +0300 Subject: [PATCH 10/11] Fix more --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 858b08df9..ef9cd2ec2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,7 +15,7 @@ RUN bundle config set without 'development' && \ bundle install # Install gpg key SHELL ["/bin/bash", "-o", "pipefail", "-c"] -RUN mkdir -p -m 700 ~/.gnupg && \ +RUN mkdir -m 700 ~/.gnupg && \ curl -fsSL https://download.onlyoffice.com/GPG-KEY-ONLYOFFICE | gpg --no-default-keyring --keyring gnupg-ring:/tmp/onlyoffice.gpg --import && \ chmod 644 /tmp/onlyoffice.gpg && \ chown root:root /tmp/onlyoffice.gpg && \ From 683d2c03ef84e9861d247ba3b217bfb235c69713 Mon Sep 17 00:00:00 2001 From: Vitaliy Serov Date: Fri, 19 Jul 2024 14:58:58 +0300 Subject: [PATCH 11/11] Fix entrypoint --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index ef9cd2ec2..d2c8fed4e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,4 +25,4 @@ RUN echo "deb [signed-by=/usr/share/keyrings/onlyoffice.gpg] http://download.onl apt-get -y update && \ apt-get --no-install-recommends -y install onlyoffice-documentbuilder && \ rm -rf /var/lib/apt/lists/* -CMD ["sh", "entrypoint.sh"] +CMD ["bash", "entrypoint.sh"]