Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QD-8148 Set up renovate for dependencies #24

Merged
merged 4 commits into from
Jan 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions .github/renovate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base"
],
"regexManagers": [
{
"fileMatch": [
"(^|/)Dockerfile$"
],
"matchStrings": [
"#\\s*renovate:\\s*datasource=(?<datasource>.*?) depName=(?<depName>.*?)( versioning=(?<versioning>.*?))?\\sENV .*?_VERSION=\"?(?<currentValue>.*?)\"?\\s"
],
"versioningTemplate": "{{#if versioning}}{{versioning}}{{else}}semver{{/if}}"
}
],
"packageRules": [
{
"datasources": [
"repology"
],
"packagePatterns": [
"^debian_11/"
],
"separateMajorMinor": false,
"groupName": "debian packages",
"groupSlug": "debian"
}
],
"includePaths": [
"2023.2/**",
"2023.3/**",
"next/**"
]
}
14 changes: 6 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ jobs:
strategy:
matrix:
platform: [ linux/amd64 ] # linux/arm64
version: [ 2023.3, 2023.2 ]
linter: [ android-community, dotnet, go, js, jvm, jvm-community, php, python, python-community, dotnet-community ]
runs-on: ubuntu-latest
steps:
Expand All @@ -29,16 +28,16 @@ jobs:
with:
filters: |
dockerfile:
- '${{ matrix.version }}/${{ matrix.linter }}/Dockerfile'
- '2023.3/${{ matrix.linter }}/Dockerfile'
- if: steps.changes.outputs.dockerfile == 'true'
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- if: steps.changes.outputs.dockerfile == 'true'
name: Build
uses: docker/build-push-action@v5
with:
tags: jetbrains/qodana-${{ matrix.linter }}:${{ matrix.version }}
context: ${{ matrix.version }}/${{ matrix.linter }}
tags: jetbrains/qodana-${{ matrix.linter }}:2023.3
context: 2023.3/${{ matrix.linter }}
platforms: ${{ matrix.platform }}
push: false
cache-from: type=gha
Expand All @@ -49,7 +48,6 @@ jobs:
strategy:
matrix:
platform: [ linux/amd64 ] # linux/arm64
version: [ 2023.3, 2023.2 ]
linter: [ android-community, dotnet, go, js, jvm, jvm-community, php, python, python-community ]
runs-on: ubuntu-latest
steps:
Expand All @@ -60,16 +58,16 @@ jobs:
with:
filters: |
dockerfile:
- '${{ matrix.version }}/${{ matrix.linter }}/Dockerfile'
- '2023.2/${{ matrix.linter }}/Dockerfile'
- if: steps.changes.outputs.dockerfile == 'true'
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- if: steps.changes.outputs.dockerfile == 'true'
name: Build
uses: docker/build-push-action@v5
with:
tags: jetbrains/qodana-${{ matrix.linter }}:${{ matrix.version }}
context: ${{ matrix.version }}/${{ matrix.linter }}
tags: jetbrains/qodana-${{ matrix.linter }}:2023.2
context: 2023.2/${{ matrix.linter }}
platforms: ${{ matrix.platform }}
push: false
cache-from: type=gha
Expand Down
2 changes: 0 additions & 2 deletions 2023.2/android-community/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
ARG BASE_TAG="bullseye-slim"
ARG NODE_TAG="16-bullseye-slim"
FROM node:$NODE_TAG AS node_base
FROM debian:$BASE_TAG

ENV HOME="/root" \
Expand Down
35 changes: 25 additions & 10 deletions 2023.3/android-community/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,23 @@
ARG BASE_TAG="bullseye-slim"
ARG NODE_TAG="16-bullseye-slim"
FROM node:$NODE_TAG AS node_base
FROM debian:$BASE_TAG

# renovate: datasource=repology depName=debian_11/ca-certificates versioning=loose
ENV CA_CERTIFICATES_VERSION="20210119"
# renovate: datasource=repology depName=debian_11/curl versioning=loose
ENV CURL_VERSION="7.74.0-1.3+deb11u11"
# renovate: datasource=repology depName=debian_11/fontconfig versioning=loose
ENV FONTCONFIG_VERSION="2.13.1-4.2"
# renovate: datasource=repology depName=debian_11/git versioning=loose
ENV GIT_VERSION="1:2.30.2-1+deb11u2"
# renovate: datasource=repology depName=debian_11/git-lfs versioning=loose
ENV GIT_LFS_VERSION="2.13.2-1+b5"
# renovate: datasource=repology depName=debian_11/gnupg2 versioning=loose
ENV GNUPG2_VERSION="2.2.27-2+deb11u2"
# renovate: datasource=repology depName=debian_11/locales versioning=loose
ENV LOCALES_VERSION="2.31-13+deb11u6"
# renovate: datasource=repology depName=debian_11/procps versioning=loose
ENV PROCPS_VERSION="2:3.3.17-5"

ENV HOME="/root" \
LC_ALL="en_US.UTF-8" \
QODANA_DIST="/opt/idea" \
Expand All @@ -18,14 +33,14 @@ RUN --mount=target=/var/lib/apt/lists,type=cache,sharing=locked \
rm -f /etc/apt/apt.conf.d/docker-clean && \
mkdir -m 777 -p /opt $QODANA_DATA $QODANA_CONF && apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
ca-certificates=20210119 \
curl=7.74.0-1.3+deb11u11 \
fontconfig=2.13.1-4.2 \
git=1:2.30.2-1+deb11u2 \
git-lfs=2.13.2-1+b5 \
gnupg2=2.2.27-2+deb11u2 \
locales=2.31-13+deb11u6 \
procps=2:3.3.17-5 && \
ca-certificates=$CA_CERTIFICATES_VERSION \
curl=$CURL_VERSION \
fontconfig=$FONTCONFIG_VERSION \
git=$GIT_VERSION \
git-lfs=$GIT_LFS_VERSION \
gnupg2=$GNUPG2_VERSION \
locales=$LOCALES_VERSION \
procps=$PROCPS_VERSION && \
echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen && locale-gen && \
apt-get autoremove -y && apt-get clean && \
chmod 777 -R $HOME && \
Expand Down
16 changes: 8 additions & 8 deletions 2023.3/base/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ With `--print` option in the previous command you'll get the full picture of ima
},
"dockerfile": "debian.js.Dockerfile",
"args": {
"NODE_TAG": "16-bullseye-slim"
"NODE_TAG": "20-bullseye-slim"
},
"tags": [
"registry.jetbrains.team/p/sa/containers/qodana:debian-js-base"
Expand All @@ -69,7 +69,7 @@ With `--print` option in the previous command you'll get the full picture of ima
"COMPOSER_TAG": "2.5.1",
"DOTNET_TAG": "6.0-bullseye-slim",
"GO_TAG": "1.19-bullseye",
"NODE_TAG": "16-bullseye-slim",
"NODE_TAG": "20-bullseye-slim",
"PHP_TAG": "8.1-cli-bullseye",
"RUBY_TAG": "3.0-bullseye",
"RUST_TAG": "1.71-slim-bullseye"
Expand All @@ -89,7 +89,7 @@ With `--print` option in the previous command you'll get the full picture of ima
"COMPOSER_TAG": "2.5.1",
"DOTNET_TAG": "6.0-bullseye-slim",
"GO_TAG": "1.19-bullseye",
"NODE_TAG": "16-bullseye-slim",
"NODE_TAG": "20-bullseye-slim",
"PHP_TAG": "8.1-cli-bullseye",
"RUBY_TAG": "3.0-bullseye",
"RUST_TAG": "1.71-slim-bullseye"
Expand All @@ -109,7 +109,7 @@ With `--print` option in the previous command you'll get the full picture of ima
"COMPOSER_TAG": "2.5.1",
"DOTNET_TAG": "6.0-bullseye-slim",
"GO_TAG": "1.19-bullseye",
"NODE_TAG": "16-bullseye-slim",
"NODE_TAG": "20-bullseye-slim",
"PHP_TAG": "8.1-cli-bullseye",
"RUBY_TAG": "3.0-bullseye",
"RUST_TAG": "1.71-slim-bullseye"
Expand All @@ -129,7 +129,7 @@ With `--print` option in the previous command you'll get the full picture of ima
"COMPOSER_TAG": "2.5.1",
"DOTNET_TAG": "6.0-bullseye-slim",
"GO_TAG": "1.19-bullseye",
"NODE_TAG": "16-bullseye-slim",
"NODE_TAG": "20-bullseye-slim",
"PHP_TAG": "8.1-cli-bullseye",
"RUBY_TAG": "3.0-bullseye",
"RUST_TAG": "1.71-slim-bullseye"
Expand Down Expand Up @@ -163,7 +163,7 @@ With `--print` option in the previous command you'll get the full picture of ima
},
"dockerfile": "python.js.Dockerfile",
"args": {
"NODE_TAG": "16-bullseye-slim"
"NODE_TAG": "20-bullseye-slim"
},
"tags": [
"registry.jetbrains.team/p/sa/containers/qodana:python-js-base"
Expand All @@ -180,7 +180,7 @@ With `--print` option in the previous command you'll get the full picture of ima
"COMPOSER_TAG": "2.5.1",
"DOTNET_TAG": "6.0-bullseye-slim",
"GO_TAG": "1.19-bullseye",
"NODE_TAG": "16-bullseye-slim",
"NODE_TAG": "20-bullseye-slim",
"PHP_TAG": "8.1-cli-bullseye",
"RUBY_TAG": "3.0-bullseye",
"RUST_TAG": "1.71-slim-bullseye"
Expand All @@ -200,7 +200,7 @@ With `--print` option in the previous command you'll get the full picture of ima
"COMPOSER_TAG": "2.5.1",
"DOTNET_TAG": "6.0-bullseye-slim",
"GO_TAG": "1.19-bullseye",
"NODE_TAG": "16-bullseye-slim",
"NODE_TAG": "20-bullseye-slim",
"PHP_TAG": "8.1-cli-bullseye",
"RUBY_TAG": "3.0-bullseye",
"RUST_TAG": "1.71-slim-bullseye"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
ARG DOTNET_BASE_TAG="6.0-bullseye-slim"
FROM mcr.microsoft.com/dotnet/sdk:$DOTNET_BASE_TAG

# renovate: datasource=repology depName=debian_11/ca-certificates versioning=loose
ENV CA_CERTIFICATES_VERSION="20210119"
# renovate: datasource=repology depName=debian_11/curl versioning=loose
ENV CURL_VERSION="7.74.0-1.3+deb11u11"
# renovate: datasource=repology depName=debian_11/git versioning=loose
ENV GIT_VERSION="1:2.30.2-1+deb11u2"
# renovate: datasource=repology depName=debian_11/git-lfs versioning=loose
ENV GIT_LFS_VERSION="2.13.2-1+b5"
# renovate: datasource=repology depName=debian_11/gnupg2 versioning=loose
ENV GNUPG2_VERSION="2.2.27-2+deb11u2"
# renovate: datasource=repology depName=debian_11/default-jre versioning=loose
ENV DEFAULT_JRE_VERSION="2:1.11-72"

ENV QODANA_DATA="/data" \
QODANA_DOCKER="true" \
PATH="/opt/qodana:${PATH}"
Expand All @@ -19,12 +32,12 @@ RUN --mount=target=/var/lib/apt/lists,type=cache,sharing=locked \
rm -f /etc/apt/apt.conf.d/docker-clean && \
mkdir -m 777 -p /opt/qodana /data/project /data/cache /data/results && apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
ca-certificates=20210119 \
curl=7.74.0-1.3+deb11u11 \
default-jre=2:1.11-72 \
git=1:2.30.2-1+deb11u2 \
git-lfs=2.13.2-1+b5 \
gnupg2=2.2.27-2+deb11u2 && \
ca-certificates=$CA_CERTIFICATES_VERSION \
curl=$CURL_VERSION \
default-jre=$DEFAULT_JRE_VERSION \
git=$GIT_VERSION \
git-lfs=$GIT_LFS_VERSION \
gnupg2=$GNUPG2_VERSION && \
apt-get autoremove -y && apt-get clean && \
curl -fsSL -o /tmp/dotnet-install.sh \
"https://raw.githubusercontent.com/dotnet/install-scripts/$DOTNET_INSTALL_SH_REVISION/src/dotnet-install.sh" && \
Expand Down
35 changes: 26 additions & 9 deletions 2023.3/base/debian.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,25 @@
ARG BASE_TAG="bullseye-slim"
ARG NODE_TAG="16-bullseye-slim"
ARG NODE_TAG="20-bullseye-slim"
FROM node:$NODE_TAG AS node_base
FROM debian:$BASE_TAG

# renovate: datasource=repology depName=debian_11/ca-certificates versioning=loose
ENV CA_CERTIFICATES_VERSION="20210119"
# renovate: datasource=repology depName=debian_11/curl versioning=loose
ENV CURL_VERSION="7.74.0-1.3+deb11u11"
# renovate: datasource=repology depName=debian_11/fontconfig versioning=loose
ENV FONTCONFIG_VERSION="2.13.1-4.2"
# renovate: datasource=repology depName=debian_11/git versioning=loose
ENV GIT_VERSION="1:2.30.2-1+deb11u2"
# renovate: datasource=repology depName=debian_11/git-lfs versioning=loose
ENV GIT_LFS_VERSION="2.13.2-1+b5"
# renovate: datasource=repology depName=debian_11/gnupg2 versioning=loose
ENV GNUPG2_VERSION="2.2.27-2+deb11u2"
# renovate: datasource=repology depName=debian_11/locales versioning=loose
ENV LOCALES_VERSION="2.31-13+deb11u6"
# renovate: datasource=repology depName=debian_11/procps versioning=loose
ENV PROCPS_VERSION="2:3.3.17-5"

ENV HOME="/root" \
LC_ALL="en_US.UTF-8" \
QODANA_DIST="/opt/idea" \
Expand All @@ -18,14 +35,14 @@ RUN --mount=target=/var/lib/apt/lists,type=cache,sharing=locked \
rm -f /etc/apt/apt.conf.d/docker-clean && \
mkdir -m 777 -p /opt $QODANA_DATA $QODANA_CONF && apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
ca-certificates=20210119 \
curl=7.74.0-1.3+deb11u11 \
fontconfig=2.13.1-4.2 \
git=1:2.30.2-1+deb11u2 \
git-lfs=2.13.2-1+b5 \
gnupg2=2.2.27-2+deb11u2 \
locales=2.31-13+deb11u6 \
procps=2:3.3.17-5 && \
ca-certificates=$CA_CERTIFICATES_VERSION \
curl=$CURL_VERSION \
fontconfig=$FONTCONFIG_VERSION \
git=$GIT_VERSION \
git-lfs=$GIT_LFS_VERSION \
gnupg2=$GNUPG2_VERSION \
locales=$LOCALES_VERSION \
procps=$PROCPS_VERSION && \
echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen && locale-gen && \
apt-get autoremove -y && apt-get clean && \
chmod 777 -R $HOME && \
Expand Down
9 changes: 7 additions & 2 deletions 2023.3/base/debian.js.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
ARG NODE_TAG="16-bullseye-slim"
ARG NODE_TAG="20-bullseye-slim"
FROM node:$NODE_TAG AS node_base
FROM debianbase

# renovate: datasource=npm depName=eslint
ENV ESLINT_VERSION="8.47.0"
# renovate: datasource=npm depName=pnpm
ENV PNPM_VERSION="8.7.1"

ENV PATH="/opt/yarn/bin:$PATH"
COPY --from=node_base /usr/local/bin/node /usr/local/bin/
COPY --from=node_base /usr/local/include/node /usr/local/include/node
Expand All @@ -13,6 +18,6 @@ RUN ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm && \
node --version && \
npm --version && \
yarn --version && \
npm install -g eslint@v8.47.0 pnpm@v8.7.1 && npm config set update-notifier false && \
npm install -g eslint@$ESLINT_VERSION pnpm@$PNPM_VERSION && npm config set update-notifier false && \
chmod 777 -R "$HOME/.npm" "$HOME/.npmrc" && \
mkdir -p -m 777 "$HOME/.m2" "$HOME/.m2/repository"
Loading