Skip to content

Commit a543a63

Browse files
committed
Merge branch 'develop' into 3.3.0_to_merge
2 parents 0022432 + 32981e7 commit a543a63

File tree

334 files changed

+9875
-119824
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

334 files changed

+9875
-119824
lines changed

.devcontainer/devcontainer.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "OpenMS Dev Container",
3-
"image": "ghcr.io/openms/contrib_manylinux_2_28:latest",
3+
"image": "ghcr.io/openms/contrib_manylinux_2_34:latest",
44
"customizations": {
55
"vscode": {
66
"extensions": [
@@ -31,4 +31,4 @@
3131
}
3232
},
3333
"postCreateCommand": "yum install openssh-clients -y"
34-
}
34+
}
+79
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
name: Deploy to Bioconda
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
branch:
7+
description: "Branch to deploy from"
8+
required: true
9+
default: "nightly"
10+
push:
11+
branches:
12+
- nightly
13+
14+
jobs:
15+
bioconda-deploy:
16+
runs-on: ubuntu-latest
17+
defaults:
18+
run:
19+
shell: bash -le {0} # Important! Use login shell for proper conda initialization
20+
21+
steps:
22+
- name: Set up Conda
23+
uses: conda-incubator/setup-miniconda@v3
24+
with:
25+
activate-environment: bioconda_env
26+
auto-update-conda: true
27+
#environment-file: environment.yml # Replace with your Conda environment file if necessary
28+
python-version: 3.9
29+
channels: conda-forge,bioconda,defaults
30+
channel-priority: true
31+
32+
- name: Prepare output directory
33+
run: |
34+
mkdir -p $GITHUB_WORKSPACE/output/noarch
35+
touch $GITHUB_WORKSPACE/output/noarch/repodata.json
36+
conda install bioconda-utils -y
37+
conda index $GITHUB_WORKSPACE/output
38+
ls -l
39+
ls -l $GITHUB_WORKSPACE/output
40+
41+
- name: Configure Git
42+
run: |
43+
git config --global user.name "GitHub Actions"
44+
git config --global user.email "[email protected]"
45+
46+
- name: Clone Bioconda recipes repository and add our changes (e.g., version with 'dev') on top of it
47+
run: |
48+
git clone https://github.com/OpenMS/bioconda-recipes.git bioconda-recipes
49+
cd bioconda-recipes
50+
git checkout -b nightly origin/nightly
51+
git remote add bioconda https://github.com/bioconda/bioconda-recipes.git
52+
git fetch bioconda master
53+
git rebase bioconda/master
54+
55+
- name: Lint and build OpenMS Bioconda packages
56+
run: |
57+
cd bioconda-recipes
58+
bioconda-utils lint --packages pyopenms openms-meta
59+
bioconda-utils build --docker --pkg_dir $GITHUB_WORKSPACE/output --packages openms-meta || true
60+
conda index $GITHUB_WORKSPACE/output
61+
62+
- name: Build pyopenms package
63+
run: |
64+
cd bioconda-recipes
65+
bioconda-utils build --docker --mulled-test --pkg_dir $GITHUB_WORKSPACE/output --packages pyopenms || true
66+
conda index $GITHUB_WORKSPACE/output
67+
68+
- name: Upload Conda packages
69+
run: |
70+
cd bioconda-recipes
71+
ls -l $GITHUB_WORKSPACE/output
72+
anaconda -v -t ${{ secrets.ANACONDA_TOKEN }} upload -u openms --no-progress --force $GITHUB_WORKSPACE/output/linux-64/*.tar.bz2
73+
74+
- name: Check upload status
75+
run: |
76+
if [[ $? -ne 0 ]]; then
77+
echo "Upload failed!"
78+
exit 1
79+
fi

.github/workflows/codium-pr-agent.yml

-19
This file was deleted.

.github/workflows/containerdeploy.yml

+14-41
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: deploy-container-images
1+
name: Deploy container images
22
on:
33
workflow_dispatch:
44
push:
@@ -40,18 +40,6 @@ jobs:
4040
## Remove release/ from release branch name (or keep the non-release name)
4141
echo "tag=${BRANCH#release/}" >> $GITHUB_OUTPUT
4242
id: tag_name
43-
- name: Define contrib image tag
44-
id: contrib_tag
45-
shell: bash
46-
run: |
47-
# the contrib image tag is the same as the main image tag for release branches
48-
# for non-release branches, we use the latest contrib image
49-
if [[ "${{ steps.extract_branch.outputs.branch }}" == "release/"* ]]
50-
then
51-
echo "contrib_tag=${{ steps.tag_name.outputs.tag }}" >> $GITHUB_OUTPUT
52-
else
53-
echo "contrib_tag=latest" >> $GITHUB_OUTPUT
54-
fi
5543
- name: Downcase REPO
5644
run: echo "repo=${GITHUB_REPOSITORY,,}" >> $GITHUB_OUTPUT
5745
id: downcase_repo
@@ -67,22 +55,6 @@ jobs:
6755
uses: actions/checkout@v4
6856
with:
6957
fetch-depth: 1
70-
- name: Checkout contrib submodule repository
71-
run: git submodule update --init contrib
72-
# we only need the contrib submodule if we're on a release branch
73-
# otherwise, we use the latest contrib image built in the OpenMS/contrib
74-
if: startsWith(steps.extract_branch.outputs.branch, 'release/')
75-
- name: Build contrib container using the correct submodule hash
76-
uses: docker/build-push-action@v6
77-
with:
78-
push: true
79-
context: contrib
80-
file: contrib/dockerfiles/Dockerfile
81-
tags: |
82-
ghcr.io/openms/contrib:${{ steps.tag_name.outputs.tag }}
83-
cache-from: type=gha
84-
cache-to: type=gha,mode=max
85-
if: startsWith(steps.extract_branch.outputs.branch, 'release/')
8658
- name: Test docker build in runtime base
8759
uses: docker/build-push-action@v5
8860
with:
@@ -93,9 +65,8 @@ jobs:
9365
NUM_BUILD_CORES=4
9466
BUILDKIT_CONTEXT_KEEP_GIT_DIR=1
9567
OPENMS_VERSION_TAG=${{ steps.tag_name.outputs.tag }}
96-
CONTRIB_IMAGE_TAG=${{ steps.contrib_tag.outputs.contrib_tag }}
97-
cache-from: type=gha
98-
cache-to: type=gha,mode=max
68+
# cache-from: type=gha
69+
# cache-to: type=gha,mode=max
9970
- name: Build and push library image
10071
uses: docker/build-push-action@v5
10172
with:
@@ -106,11 +77,10 @@ jobs:
10677
NUM_BUILD_CORES=4
10778
BUILDKIT_CONTEXT_KEEP_GIT_DIR=1
10879
OPENMS_VERSION_TAG=${{ steps.tag_name.outputs.tag }}
109-
CONTRIB_IMAGE_TAG=${{ steps.contrib_tag.outputs.contrib_tag }}
11080
tags: |
11181
ghcr.io/${{ steps.downcase_repo.outputs.repo }}-library:${{ steps.tag_name.outputs.tag }}
112-
cache-from: type=gha
113-
cache-to: type=gha,mode=max
82+
# cache-from: type=gha
83+
# cache-to: type=gha,mode=max
11484
- name: Build and push tools image
11585
uses: docker/build-push-action@v6
11686
with:
@@ -121,12 +91,11 @@ jobs:
12191
NUM_BUILD_CORES=4
12292
BUILDKIT_CONTEXT_KEEP_GIT_DIR=1
12393
OPENMS_VERSION_TAG=${{ steps.tag_name.outputs.tag }}
124-
CONTRIB_IMAGE_TAG=${{ steps.contrib_tag.outputs.contrib_tag }}
12594
tags: |
12695
ghcr.io/${{ steps.downcase_repo.outputs.repo }}-executables:${{ steps.tag_name.outputs.tag }}
12796
ghcr.io/${{ steps.downcase_repo.outputs.repo }}-tools:${{ steps.tag_name.outputs.tag }}
128-
cache-from: type=gha
129-
cache-to: type=gha,mode=max
97+
# cache-from: type=gha
98+
# cache-to: type=gha,mode=max
13099
- name: Build and push tools + thirdparty image
131100
uses: docker/build-push-action@v5
132101
with:
@@ -137,11 +106,10 @@ jobs:
137106
NUM_BUILD_CORES=4
138107
BUILDKIT_CONTEXT_KEEP_GIT_DIR=1
139108
OPENMS_VERSION_TAG=${{ steps.tag_name.outputs.tag }}
140-
CONTRIB_IMAGE_TAG=${{ steps.contrib_tag.outputs.contrib_tag }}
141109
tags: |
142110
ghcr.io/${{ steps.downcase_repo.outputs.repo }}-tools-thirdparty:${{ steps.tag_name.outputs.tag }}
143-
cache-from: type=gha
144-
cache-to: type=gha,mode=max
111+
# cache-from: type=gha
112+
# cache-to: type=gha,mode=max
145113
deploy-singularity:
146114
runs-on: ubuntu-latest
147115
needs: deploy-docker
@@ -152,6 +120,11 @@ jobs:
152120
registry: ghcr.io
153121
username: ${{ github.actor }}
154122
password: ${{ secrets.GITHUB_TOKEN }}
123+
# install glib2.0 development package needed by singularity
124+
- name: Install Dependencies
125+
run: |
126+
sudo apt-get update
127+
sudo apt-get install -y libglib2.0-dev
155128
- name: Singularity install with defaults
156129
uses: singularityhub/install-singularity@main
157130
with:

.github/workflows/openms_ci_matrix_full.yml

+11-10
Original file line numberDiff line numberDiff line change
@@ -216,11 +216,10 @@ jobs:
216216

217217
- name: Install Qt (Windows)
218218
if: startsWith(matrix.os, 'windows')
219-
uses: jurplel/install-qt-action@v3
219+
uses: jurplel/install-qt-action@v4
220220
with:
221-
version: '5.15.2' # 5.12.7 is broken https://bugreports.qt.io/browse/QTBUG-81715, > 5.15.2 is not available on official archives (https://github.com/miurahr/aqtinstall/issues/636)
221+
version: '6.7.2'
222222
cache: 'false'
223-
aqtversion: '==3.1.*'
224223
archives: 'qtsvg qtimageformats qtbase'
225224

226225
- name: Setup build tools (and system contrib on Linux and Mac)
@@ -234,7 +233,7 @@ jobs:
234233
sudo add-apt-repository universe
235234
sudo apt update
236235
sudo apt-get -qq install -y build-essential cmake autoconf patch libtool git automake ninja-build xvfb ccache
237-
sudo apt-get -qq install -y qtbase5-dev libqt5svg5-dev libqt5opengl5-dev
236+
sudo apt-get -qq install -y qt6-base-dev libqt6svg6-dev libqt6opengl6-dev libqt6openglwidgets6 libgl-dev
238237
sudo apt-get -qq install -y libeigen3-dev libboost-random-dev libboost-regex-dev libboost-iostreams-dev \
239238
libboost-date-time-dev libboost-math-dev libxerces-c-dev zlib1g-dev libsvm-dev libbz2-dev coinor-libcoinmp-dev libhdf5-dev
240239
echo "cmake_prefix=" >> $GITHUB_OUTPUT
@@ -245,8 +244,8 @@ jobs:
245244
fi
246245
247246
if [[ "${{ matrix.os }}" == windows-* ]]; then
248-
# Qt5_DIR set by Install Qt5 step
249-
echo "cmake_prefix=$Qt5_DIR/lib/cmake;$Qt5_DIR" >> $GITHUB_OUTPUT
247+
# QT_ROOT_DIR set by Install Qt step
248+
echo "cmake_prefix=$QT_ROOT_DIR/lib/cmake;$QT_ROOT_DIR" >> $GITHUB_OUTPUT
250249
choco install ccache ninja -y --no-progress
251250
choco install cmake -y --no-progress
252251
## GH CLI "SHOULD BE" installed. Sometimes I had to manually install nonetheless. Super weird.
@@ -270,10 +269,11 @@ jobs:
270269
brew update
271270
## Needed for Qt. Install before to overwrite the default softlinks on the GH runners
272271
brew install [email protected] --force --overwrite
273-
brew install --quiet ccache autoconf automake libtool ninja && brew link --overwrite ccache
274-
brew install libsvm xerces-c boost eigen sqlite coinutils cbc cgl clp qt@5
275-
echo "cmake_prefix=$(brew --prefix qt@5)/lib/cmake;$(brew --prefix qt@5)" >> $GITHUB_OUTPUT
276-
echo "Qt5_DIR=$(brew --prefix qt@5)/lib/cmake/Qt5" >> $GITHUB_ENV
272+
brew install --quiet ccache autoconf automake libtool ninja libomp && brew link --overwrite ccache
273+
# attempt to fix https://github.com/Homebrew/homebrew-core/issues/113176
274+
brew link --force libomp
275+
brew install libsvm xerces-c boost eigen sqlite coinutils cbc cgl clp qt
276+
echo "cmake_prefix=$(brew --prefix qt)/lib/cmake;$(brew --prefix qt);$(brew --prefix libomp)" >> $GITHUB_OUTPUT
277277
brew install --quiet doxygen ghostscript graphviz
278278
fi
279279
@@ -384,6 +384,7 @@ jobs:
384384
ENABLE_GCC_WERROR: "OFF" # TODO think about that
385385
SEARCH_ENGINES_DIRECTORY: ${{ github.workspace }}/_thirdparty
386386
WITH_GUI: "ON"
387+
SIGNING_IDENTITY: "-"
387388
ADDRESS_SANITIZER: "Off"
388389
BUILD_TYPE: "Release"
389390
OPENMP: "ON"

0 commit comments

Comments
 (0)