Skip to content

Commit

Permalink
build(docker): upgraded docker image to ubuntu 24.04 (reanahub#270)
Browse files Browse the repository at this point in the history
  • Loading branch information
wirespecter committed Jul 16, 2024
1 parent 95341c8 commit 6e7ab9d
Show file tree
Hide file tree
Showing 7 changed files with 63 additions and 62 deletions.
34 changes: 17 additions & 17 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on: [push, pull_request]

jobs:
lint-commitlint:
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -36,7 +36,7 @@ jobs:
./run-tests.sh --check-commitlint ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} ${{ github.event.pull_request.head.sha }} ${{ github.event.pull_request.number }}
lint-shellcheck:
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -47,15 +47,15 @@ jobs:
./run-tests.sh --check-shellcheck
lint-black:
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.8
python-version: "3.12"

- name: Check Python code formatting
run: |
Expand All @@ -64,15 +64,15 @@ jobs:
./run-tests.sh --check-black
lint-flake8:
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.8
python-version: "3.12"

- name: Check compliance with pep8, pyflakes and circular complexity
run: |
Expand All @@ -81,15 +81,15 @@ jobs:
./run-tests.sh --check-flake8
lint-pydocstyle:
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.8
python-version: "3.12"

- name: Check compliance with Python docstring conventions
run: |
Expand All @@ -98,15 +98,15 @@ jobs:
./run-tests.sh --check-pydocstyle
lint-check-manifest:
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.8
python-version: "3.12"

- name: Check Python manifest completeness
run: |
Expand All @@ -115,15 +115,15 @@ jobs:
./run-tests.sh --check-manifest
docs-sphinx:
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.8
python-version: "3.12"

- name: Install system dependencies
run: |
Expand All @@ -139,15 +139,15 @@ jobs:
run: ./run-tests.sh --check-sphinx

python-tests:
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.8
python-version: "3.12"

- name: Install system dependencies
run: |
Expand All @@ -170,7 +170,7 @@ jobs:
files: coverage.xml

lint-dockerfile:
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -179,7 +179,7 @@ jobs:
run: ./run-tests.sh --check-dockerfile

docker-build:
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -188,7 +188,7 @@ jobs:
run: ./run-tests.sh --check-docker-build

release-docker:
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
if: >
vars.RELEASE_DOCKER == 'true' &&
github.event_name == 'push' &&
Expand Down
4 changes: 2 additions & 2 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
version: 2

build:
os: ubuntu-22.04
os: ubuntu-24.04
tools:
python: "3.8"
python: "3.12"

sphinx:
configuration: docs/conf.py
Expand Down
1 change: 1 addition & 0 deletions AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,6 @@ The list of contributors in alphabetical order:
- [Parth Shandilya](https://github.com/ParthS007)
- [Rokas Maciulaitis](https://orcid.org/0000-0003-1064-6967)
- [Sinclert Pérez](https://www.linkedin.com/in/sinclert)
- [Stavros Moiras](https://orcid.org/0009-0005-4331-096X)
- [Tibor Simko](https://orcid.org/0000-0001-7202-5803)
- [Vladyslav Moisieienkov](https://orcid.org/0000-0001-9717-0775)
26 changes: 14 additions & 12 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
# This file is part of REANA.
# Copyright (C) 2017, 2018, 2019, 2020, 2021, 2022, 2023 CERN.
# Copyright (C) 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 CERN.
#
# REANA is free software; you can redistribute it and/or modify it
# under the terms of the MIT License; see LICENSE file for more details.

# Use Ubuntu LTS base image
FROM docker.io/library/ubuntu:20.04
FROM docker.io/library/ubuntu:24.04

# Use default answers in installation commands
ENV DEBIAN_FRONTEND=noninteractive

# Use distutils provided by the standard Python library instead of the vendored one in
# setuptools, so that editable installations are stored in the right directory.
# See https://github.com/pypa/setuptools/issues/3301
ENV SETUPTOOLS_USE_DISTUTILS=stdlib
# Allow pip to install packages in the system site-packages dir
ENV PIP_BREAK_SYSTEM_PACKAGES=true

# Prepare list of Python dependencies
COPY requirements.txt /code/

WORKDIR /code
COPY . /code

# Install all system and Python dependencies in one go
# hadolint ignore=DL3008,DL3013
RUN apt-get update -y && \
Expand All @@ -32,12 +33,13 @@ RUN apt-get update -y && \
libtool \
make \
openssl \
python3.8 \
python3.8-dev \
python3.12 \
python3.12-dev \
python3-pip \
unzip \
vim-tiny && \
pip install --no-cache-dir --upgrade pip setuptools && \
pip install --no-cache-dir "modules/reana-commons[yadage]" --upgrade && \
pip install --no-cache-dir --upgrade setuptools && \
pip install --no-cache-dir -r /code/requirements.txt && \
apt-get remove -y \
autoconf \
Expand All @@ -47,14 +49,14 @@ RUN apt-get update -y && \
libffi-dev \
libtool \
make \
python3.8-dev && \
python3.12-dev && \
apt-get autoremove -y && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

# Copy cluster component source code
WORKDIR /code
COPY . /code



# Are we debugging?
ARG DEBUG=0
Expand Down
4 changes: 2 additions & 2 deletions requirements.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# REANA is free software; you can redistribute it and/or modify it
# under the terms of the MIT License; see LICENSE file for more details.

jq==0.1.7; platform_machine == "x86_64"
jq==1.7.0; platform_machine == "x86_64"
jq==1.4.1; platform_machine == "aarch4"
jq==1.4.1; platform_machine == "arm64"
jq==1.7.0; platform_machine == "arm64"
pygraphviz==1.8
48 changes: 23 additions & 25 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,63 +1,61 @@
#
# This file is autogenerated by pip-compile with Python 3.8
# This file is autogenerated by pip-compile with Python 3.12
# by the following command:
#
# pip-compile --annotation-style=line --output-file=requirements.txt requirements.in setup.py
# pip-compile --annotation-style=line --output-file=requirements.txt setup.py
#
adage==0.10.1 # via reana-commons, reana-workflow-engine-yadage (setup.py), yadage
adage==0.11.0 # via reana-commons, reana-workflow-engine-yadage (setup.py), yadage
amqp==5.2.0 # via kombu
appdirs==1.4.4 # via fs
attrs==23.2.0 # via jsonschema
backports-zoneinfo[tzdata]==0.2.1 # via backports-zoneinfo, kombu
bracex==2.4 # via wcmatch
bravado==10.3.2 # via reana-commons
bravado-core==6.1.0 # via bravado, reana-commons
certifi==2024.2.2 # via requests
certifi==2024.7.4 # via requests
charset-normalizer==3.3.2 # via requests
checksumdir==1.1.9 # via packtivity, reana-commons, yadage
click==8.1.7 # via packtivity, reana-commons, yadage, yadage-schemas
decorator==5.1.1 # via jsonpath-rw, networkx
fs==2.4.16 # via reana-commons
glob2==0.7 # via packtivity, yadage
graphviz==0.20.1 # via reana-workflow-engine-yadage (setup.py)
idna==3.6 # via jsonschema, requests
jq==0.1.7 ; platform_machine == "x86_64" # via -r requirements.in, packtivity, yadage
graphviz==0.20.3 # via reana-workflow-engine-yadage (setup.py)
idna==3.7 # via jsonschema, requests
importlib-resources==6.4.0 # via swagger-spec-validator
jq==1.7.0 # via packtivity, yadage
jsonpath-rw==1.4.0 # via packtivity, yadage
jsonpointer==2.4 # via jsonschema, packtivity, yadage
jsonpointer==3.0.0 # via jsonschema, packtivity, yadage
jsonref==1.1.0 # via bravado-core, packtivity, yadage, yadage-schemas
jsonschema[format]==3.2.0 # via bravado-core, packtivity, reana-commons, swagger-spec-validator, yadage, yadage-schemas
kombu==5.3.5 # via reana-commons
kombu==5.3.7 # via reana-commons
markupsafe==2.1.5 # via werkzeug
mock==3.0.5 # via packtivity, reana-commons
monotonic==1.6 # via bravado
msgpack==1.0.7 # via bravado-core
msgpack==1.0.8 # via bravado-core
msgpack-python==0.5.6 # via bravado
networkx==1.11 # via adage
packtivity==0.14.24 # via reana-workflow-engine-yadage (setup.py), yadage
networkx==2.5 # via adage
packtivity==0.16.2 # via reana-workflow-engine-yadage (setup.py), yadage
ply==3.11 # via jsonpath-rw
psutil==5.9.8 # via yadage
psutil==6.0.0 # via yadage
pydot==2.0.0 # via reana-workflow-engine-yadage (setup.py)
pydotplus==2.0.2 # via reana-workflow-engine-yadage (setup.py)
pygraphviz==1.8 # via -r requirements.in
pyparsing==3.1.1 # via pydot, pydotplus
pyparsing==3.1.2 # via pydot, pydotplus
pyrsistent==0.20.0 # via jsonschema
python-dateutil==2.9.0 # via bravado, bravado-core
python-dateutil==2.9.0.post0 # via bravado, bravado-core
pytz==2024.1 # via bravado-core
pyyaml==6.0.1 # via bravado, bravado-core, packtivity, reana-commons, swagger-spec-validator, yadage, yadage-schemas
reana-commons[yadage]==0.95.0a2 # via reana-workflow-engine-yadage (setup.py)
requests[security]==2.31.0 # via bravado, bravado-core, packtivity, reana-workflow-engine-yadage (setup.py), yadage, yadage-schemas
reana-commons[yadage]==0.95.0a2 # via reana-workflow-engine-yadage (setup.py)
requests[security]==2.32.3 # via bravado, bravado-core, packtivity, reana-workflow-engine-yadage (setup.py), yadage, yadage-schemas
rfc3987==1.3.8 # via jsonschema, reana-workflow-engine-yadage (setup.py)
simplejson==3.19.2 # via bravado, bravado-core
six==1.16.0 # via bravado, bravado-core, fs, jsonpath-rw, jsonschema, mock, python-dateutil
strict-rfc3339==0.7 # via jsonschema
swagger-spec-validator==3.0.3 # via bravado-core
typing-extensions==4.10.0 # via bravado, kombu, swagger-spec-validator
tzdata==2024.1 # via backports-zoneinfo
urllib3==2.2.1 # via requests
swagger-spec-validator==3.0.4 # via bravado-core
typing-extensions==4.12.2 # via bravado, swagger-spec-validator
urllib3==2.2.2 # via requests
vine==5.1.0 # via amqp, kombu
wcmatch==8.4.1 # via reana-commons
webcolors==1.13 # via jsonschema
werkzeug==3.0.1 # via reana-commons
webcolors==24.6.0 # via jsonschema
werkzeug==3.0.3 # via reana-commons
yadage==0.20.1 # via reana-commons, reana-workflow-engine-yadage (setup.py)
yadage-schemas==0.10.6 # via packtivity, reana-commons, reana-workflow-engine-yadage (setup.py), yadage

Expand Down
8 changes: 4 additions & 4 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@
"tests": tests_require,
# Using older jq on amd64 due to https://github.com/reanahub/reana-demo-bsm-search/issues/21
"jq": [
"jq==0.1.7; platform_machine == 'x86_64'",
"jq==1.7.0; platform_machine == 'x86_64'",
"jq==1.4.1; platform_machine == 'aarch4'",
"jq==1.4.1; platform_machine == 'arm64'",
"jq==1.7.0; platform_machine == 'arm64'",
],
"pygraphviz": [
"pygraphviz>=1.5",
Expand All @@ -62,8 +62,8 @@
"pydotplus>=2.0.2", # FIXME needed only if yadage visuale=True.
# Pinning adage/packtivity/yadage/yadage-schemas to make sure we use compatible versions.
# See https://github.com/reanahub/reana-workflow-engine-yadage/pull/236#discussion_r992475484
"adage==0.10.1",
"packtivity==0.14.24",
"adage==0.11.0",
"packtivity==0.16.2",
"yadage==0.20.1",
"yadage-schemas==0.10.6",
"reana-commons[yadage]>=0.95.0a2,<0.96.0",
Expand Down

0 comments on commit 6e7ab9d

Please sign in to comment.