Skip to content

Template Dockerfiles #523

Template Dockerfiles

Template Dockerfiles #523

Workflow file for this run

name: 'CI'
on:
workflow_dispatch:
push:
branches:
- main
paths:
- '**/Dockerfile'
pull_request:
paths:
- '**/Dockerfile'
schedule:
- cron: '0 0 * * 1'
jobs:
lint:
name: lint
runs-on: ubuntu-latest
strategy:
matrix:
release: [ "2025.1" ]
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: changes
with:
filters: |
dockerfiles:
- '${{ matrix.release }}/**'
- if: steps.changes.outputs.dockerfiles == 'true'
run: ./dockerfiles.py ${{ matrix.release }}
- name: Compare the expected and actual directories
run: |
if [ "$(git diff --ignore-space-at-eol HEAD -- ${{ matrix.release }} | wc -l)" -gt "0" ]; then
echo "Detected uncommitted changes after build. See status below:"
git diff --ignore-space-at-eol HEAD -- ${{ matrix.release }}
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -m "QD-8148 Update \`${{ matrix.release }}\`"
git push
exit 1
fi
if: steps.changes.outputs.dockerfiles == 'true'
build243:
name: "2024.3"
strategy:
matrix:
platform: [ linux/amd64 ] # linux/arm64
linter: [ android-community, android, dotnet, go, js, jvm, jvm-community, php, python, python-community, dotnet-community, cpp, cnova ]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: changes
with:
filters: |
dockerfile:
- '2024.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@v6
with:
tags: jetbrains/qodana-${{ matrix.linter }}:2024.3
context: 2024.3/${{ matrix.linter }}
platforms: ${{ matrix.platform }}
push: false
cache-from: type=gha
cache-to: type=gha,mode=max,ignore-error=true
build242:
name: "2024.2"
strategy:
matrix:
platform: [ linux/amd64 ] # linux/arm64
linter: [ android-community, android, dotnet, go, js, jvm, jvm-community, php, python, python-community, dotnet-community, cpp, cnova ]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: changes
with:
filters: |
dockerfile:
- '2024.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@v6
with:
tags: jetbrains/qodana-${{ matrix.linter }}:2024.1
context: 2024.2/${{ matrix.linter }}
platforms: ${{ matrix.platform }}
push: false
cache-from: type=gha
cache-to: type=gha,mode=max,ignore-error=true
build241:
name: "2024.1"
strategy:
matrix:
platform: [ linux/amd64 ] # linux/arm64
linter: [ android-community, dotnet, go, js, jvm, jvm-community, php, python, python-community, dotnet-community, cpp ]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: changes
with:
filters: |
dockerfile:
- '2024.1/${{ 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@v6
with:
tags: jetbrains/qodana-${{ matrix.linter }}:2024.1
context: 2024.1/${{ matrix.linter }}
platforms: ${{ matrix.platform }}
push: false
cache-from: type=gha
cache-to: type=gha,mode=max
build233:
name: "2023.3"
strategy:
matrix:
platform: [ linux/amd64 ] # linux/arm64
linter: [ android-community, dotnet, go, js, jvm, jvm-community, php, python, python-community, dotnet-community ]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: changes
with:
filters: |
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@v6
with:
tags: jetbrains/qodana-${{ matrix.linter }}:2023.3
context: 2023.3/${{ matrix.linter }}
platforms: ${{ matrix.platform }}
push: false
cache-from: type=gha
cache-to: type=gha,mode=max