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

build(docker): upgrade base image to ubuntu 24.04 #283

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
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 @@ -140,15 +140,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 Python dependencies
run: |
Expand All @@ -166,7 +166,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 @@ -175,7 +175,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 @@ -184,7 +184,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 @@ -19,5 +19,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)
18 changes: 8 additions & 10 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
# This file is part of REANA.
# Copyright (C) 2018, 2019, 2020, 2021, 2022, 2023 CERN.
# Copyright (C) 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/
Expand All @@ -24,15 +22,15 @@ RUN apt-get update -y && \
apt-get install --no-install-recommends -y \
gcc \
nodejs \
python3.8 \
python3-dev \
python3.12 \
python3.12-dev \
python3-pip \
vim-tiny && \
pip install --no-cache-dir --upgrade pip 'setuptools<71' && \
pip install --no-cache-dir --upgrade setuptools && \
pip install --no-cache-dir -r /code/requirements.txt && \
apt-get remove -y \
gcc \
python3-dev && \
python3.12-dev && \
apt-get autoremove -y && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
Expand Down
2 changes: 1 addition & 1 deletion reana_workflow_engine_cwl/cwl_reana.py
Original file line number Diff line number Diff line change
Expand Up @@ -488,7 +488,7 @@ def is_done(self, operation):
if operation["status"] in terminal_states:
log.info(
f"[job {self.name}] FINAL JOB STATE: "
f"{ operation['status']} ------------------"
f"{operation['status']} ------------------"
)
if operation["status"] == "finished":
self.rcode = 0
Expand Down
71 changes: 37 additions & 34 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,72 +1,75 @@
#
# 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 setup.py
#
amqp==5.2.0 # via kombu
appdirs==1.4.4 # via fs
argcomplete==3.2.2 # via cwltool
attrs==23.2.0 # via jsonschema
backports-zoneinfo[tzdata]==0.2.1 # via backports-zoneinfo, kombu
argcomplete==3.4.0 # via cwltool
arrow==1.3.0 # via isoduration
attrs==23.2.0 # via jsonschema, referencing
bagit==1.8.1 # via cwltool
bracex==2.4 # via wcmatch
bravado==10.3.2 # via reana-commons
bravado-core==6.1.0 # via bravado, reana-commons
cachecontrol[filecache]==0.13.1 # via cachecontrol, schema-salad
certifi==2024.2.2 # via requests
cachecontrol[filecache]==0.14.0 # via cachecontrol, schema-salad
certifi==2024.7.4 # via requests
charset-normalizer==3.3.2 # via requests
checksumdir==1.1.9 # via reana-commons
click==8.1.7 # via reana-commons
coloredlogs==15.0.1 # via cwltool
cwltool==3.1.20210628163208 # via reana-commons
filelock==3.13.1 # via cachecontrol
filelock==3.15.4 # via cachecontrol
fqdn==1.5.1 # via jsonschema
fs==2.4.16 # via reana-commons
humanfriendly==10.0 # via coloredlogs
idna==3.6 # via jsonschema, requests
importlib-resources==6.1.2 # via schema-salad
idna==3.7 # via jsonschema, requests
importlib-resources==6.4.0 # via swagger-spec-validator
isodate==0.6.1 # via rdflib
jsonpointer==2.4 # via jsonschema
isoduration==20.11.0 # via jsonschema
jsonpointer==3.0.0 # via jsonschema
jsonref==1.1.0 # via bravado-core
jsonschema[format]==3.2.0 # via bravado-core, reana-commons, swagger-spec-validator
kombu==5.3.5 # via reana-commons
lxml==5.1.0 # via prov
jsonschema[format]==4.23.0 # via bravado-core, reana-commons, swagger-spec-validator
jsonschema-specifications==2023.12.1 # via jsonschema
kombu==5.3.7 # via reana-commons
lxml==5.2.2 # via prov
markupsafe==2.1.5 # via werkzeug
mistune==2.0.5 # via schema-salad
mistune==3.0.2 # via schema-salad
mock==3.0.5 # via reana-commons
monotonic==1.6 # via bravado
msgpack==1.0.7 # via bravado-core, cachecontrol
msgpack==1.0.8 # via bravado-core, cachecontrol
msgpack-python==0.5.6 # via bravado
mypy-extensions==1.0.0 # via cwltool, schema-salad
networkx==3.1 # via prov
networkx==3.3 # via prov
prov==1.5.1 # via cwltool
psutil==5.9.8 # via cwltool
pydot==2.0.0 # via cwltool
pyparsing==3.1.1 # via pydot, rdflib
pyrsistent==0.20.0 # via jsonschema
python-dateutil==2.9.0 # via bravado, bravado-core, prov
psutil==6.0.0 # via cwltool
pydot==3.0.1 # via cwltool
pyparsing==3.1.2 # via pydot, rdflib
python-dateutil==2.9.0.post0 # via arrow, bravado, bravado-core, prov
pytz==2024.1 # via bravado-core
pyyaml==6.0.1 # via bravado, bravado-core, reana-commons, swagger-spec-validator
rdflib==5.0.0 # via cwltool, prov, schema-salad
reana-commons[cwl]==0.95.0a2 # via reana-workflow-engine-cwl (setup.py)
requests==2.31.0 # via bravado, bravado-core, cachecontrol, cwltool, schema-salad
reana-commons[cwl]==0.95.0a3 # via reana-workflow-engine-cwl (setup.py)
referencing==0.35.1 # via jsonschema, jsonschema-specifications
requests==2.32.3 # via bravado, bravado-core, cachecontrol, cwltool, schema-salad
rfc3339-validator==0.1.4 # via jsonschema
rfc3987==1.3.8 # via jsonschema
rpds-py==0.19.0 # via jsonschema, referencing
ruamel-yaml==0.17.10 # via cwltool, schema-salad
ruamel-yaml-clib==0.2.8 # via ruamel-yaml
schema-salad==8.5.20240102191335 # via cwltool
schema-salad==8.7.20240718183047 # via cwltool
shellescape==3.8.1 # via cwltool
simplejson==3.19.2 # via bravado, bravado-core
six==1.16.0 # via bravado, bravado-core, fs, isodate, jsonschema, mock, prov, python-dateutil, rdflib
strict-rfc3339==0.7 # via jsonschema
swagger-spec-validator==3.0.3 # via bravado-core
typing-extensions==4.10.0 # via bravado, cwltool, kombu, swagger-spec-validator
tzdata==2024.1 # via backports-zoneinfo
urllib3==2.2.1 # via requests
six==1.16.0 # via bravado, bravado-core, fs, isodate, mock, prov, python-dateutil, rdflib, rfc3339-validator
swagger-spec-validator==3.0.4 # via bravado-core
types-python-dateutil==2.9.0.20240316 # via arrow
typing-extensions==4.12.2 # via bravado, cwltool, swagger-spec-validator
uri-template==1.3.0 # via jsonschema
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
zipp==3.17.0 # via importlib-resources
webcolors==24.6.0 # via jsonschema
werkzeug==3.0.3 # via reana-commons

# The following packages are considered to be unsafe in a requirements file:
# setuptools
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python",
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
Expand Down
Loading