Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
0703284
Merge pull request #843 from I2PC/release-3.23.11
albertmena Nov 28, 2023
6a2147c
Merge pull request #888 from I2PC/release-3.24.06
albertmena Jun 12, 2024
4917395
preparing release version
albertmena Dec 17, 2024
8fb1cc0
Merge branch 'master' into release-3.24.12
albertmena Dec 17, 2024
a114a27
Merge pull request #965 from I2PC/release-3.24.12
oierlauzi Dec 17, 2024
2bdcd21
Update CHANGELOG.md
albertmena Dec 23, 2024
5ae3dc3
Update versions.py
albertmena Dec 23, 2024
b3b0cb2
Merge pull request #969 from I2PC/release-3.24.12
albertmena Dec 23, 2024
dba6a4b
Fixing branch for plugin, adapting parse, updating tagName
albertmena Jan 2, 2025
a497ba4
Merge branch 'master' into release-3.24.12
albertmena Jan 2, 2025
771cca2
Updating version in changelog
albertmena Jan 2, 2025
ba06951
Merge remote-tracking branch 'origin/release-3.24.12' into release-3.…
albertmena Jan 2, 2025
fcd4c09
Update CHANGELOG.md
albertmena Jan 2, 2025
dc67a1a
Update CHANGELOG.md
albertmena Jan 2, 2025
de4c8a9
Update CHANGELOG.md
albertmena Jan 2, 2025
f9a5b63
production flag
albertmena Jan 2, 2025
2e1833f
Merge branch 'release-3.24.12' of github.com:I2PC/xmipp into release-…
albertmena Jan 2, 2025
d7be5dd
renaming production flag
albertmena Jan 8, 2025
4e2b285
Merge pull request #970 from I2PC/release-3.24.12
albertmena Jan 8, 2025
c98f801
colectin tag name or branch
albertmena Jan 8, 2025
d925c88
Merge branch 'master' into release-3.24.12
albertmena Jan 8, 2025
9fee3e3
renaming
albertmena Jan 8, 2025
8578701
Merge branch 'release-3.24.12' of github.com:I2PC/xmipp into release-…
albertmena Jan 8, 2025
e202bb0
Re-renaming
albertmena Jan 8, 2025
20a3b36
Merge pull request #972 from I2PC/release-3.24.12
albertmena Jan 8, 2025
73980bd
syntax error
albertmena Jan 8, 2025
4210173
Merge branch 'master' into release-3.24.12
albertmena Jan 8, 2025
82ecc72
Use 22.04 instead of latest
martin-s-a Jan 8, 2025
d28c0f9
Merge pull request #973 from I2PC/release-3.24.12
albertmena Jan 8, 2025
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
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
strategy:
matrix:
os:
- 'ubuntu-latest'
- 'ubuntu-22.04'

cuda:
- {version: '11.8.0', method: 'network'}
Expand Down
8 changes: 4 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Release 3.24.12 - Poseidon
## Release 3.24.12.0 - Poseidon
### Xmipp Programs
- New programs
- tomo_average_subtomos: This method carries out a subtomogram averaging. It means, given a set of subtomogram the program will estimate the average map
Expand Down Expand Up @@ -33,7 +33,7 @@
- Fix for rare axis orderings in MRC/MAP files
- Local average label added (used to measure the intensity of the particles in the original micrographs)

## Release 3.24.06 - Oceanus
## Release 3.24.06 - Oceanus
### Xmipp Programs
- New programs
- xtomo tigre reconstruction: This program provides a variety of algorithms to reconstruct tomogram from a set of tilt series
Expand Down Expand Up @@ -72,7 +72,7 @@
- Adding fixed extension to tomo


## Release 3.23.11 - Nereus
## Release 3.23.11 - Nereus
### Xmipp Programs

- New programs
Expand Down Expand Up @@ -151,7 +151,7 @@



## Release 3.23.03 - Kratos
## Release 3.23.03 - Kratos
### Xmipp Programs

- New programs: tomo_confidence_map, tomo_extract_particlestacks, tomo_extract_subtomograms, tomo_tiltseries_dose_filter, psd_estimatator
Expand Down
4 changes: 2 additions & 2 deletions installer/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@

# Self imports
from .cmake import parseCmakeVersions
from .utils import runJob, getCurrentBranch, isBranchUpToDate, runParallelJobs
from .utils import runJob, getCurrentName, isBranchUpToDate, runParallelJobs
from .constants import (API_URL, LOG_FILE, TAIL_LOG_NCHARS, UNKNOWN_VALUE,
XMIPP_VERSIONS, XMIPP, VERSION_KEY, MASTER_BRANCHNAME, VERSION_FILE, CMAKE_PYTHON,
CMAKE_CUDA, CMAKE_MPI, CMAKE_HDF5, CMAKE_JPEG, CMAKE_SQLITE, CMAKE_JAVA,
Expand Down Expand Up @@ -124,7 +124,7 @@ def __getJSON(retCode: int=0) -> Optional[Dict]:
jsonData = runParallelJobs([
(getOSReleaseName, ()),
(__getCPUFlags, ()),
(getCurrentBranch, ()),
(getCurrentName, ()),
(isBranchUpToDate, ()),
(__getLogTail, ())
])
Expand Down
2 changes: 1 addition & 1 deletion installer/constants/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
# Other variables
TAB_SIZE = 4
SECTION_MESSAGE_LEN = 60
TAG_BRANCH_NAME = 'HEAD'
TAG_BRANCH_NAME = 'v3.24.12.0-Poseidon'

# File names
CONFIG_FILE = 'xmipp.conf'
Expand Down
8 changes: 7 additions & 1 deletion installer/constants/parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@
PARAM_SHORT = 'short'
PARAM_JOBS = 'jobs'
PARAM_BRANCH = 'branch'
PARAM_PRODUCTION = 'production'
PARAM_MODELS_DIRECTORY = 'models-directory'
PARAM_TEST_NAME = 'test-name'
PARAM_SHOW_TESTS = 'show-tests'
Expand Down Expand Up @@ -126,6 +127,10 @@
LONG_VERSION: "--branch",
DESCRIPTION: "Branch for the source repositories."
},
PARAM_PRODUCTION: {
LONG_VERSION: "--production",
DESCRIPTION: "Flag to identify a production compilation (avoid the download of the plugin)."
},
PARAM_MODELS_DIRECTORY: {
SHORT_VERSION: "-d",
LONG_VERSION: "--directory",
Expand Down Expand Up @@ -178,7 +183,7 @@
MODE_ARGS = {
MODE_VERSION: [PARAM_SHORT],
MODE_COMPILE_AND_INSTALL: [PARAM_JOBS, PARAM_BRANCH, PARAM_KEEP_OUTPUT],
MODE_ALL: [PARAM_JOBS, PARAM_BRANCH, PARAM_KEEP_OUTPUT],
MODE_ALL: [PARAM_JOBS, PARAM_BRANCH, PARAM_KEEP_OUTPUT, PARAM_PRODUCTION],
MODE_CONFIG_BUILD: [PARAM_KEEP_OUTPUT],
MODE_CONFIG: [PARAM_OVERWRITE],
MODE_GET_MODELS: [PARAM_MODELS_DIRECTORY],
Expand Down Expand Up @@ -207,6 +212,7 @@
'./xmipp',
f'./xmipp {MODE_ALL}',
f'./xmipp {PARAMS[PARAM_JOBS][SHORT_VERSION]} 20',
f'./xmipp {PARAMS[PARAM_PRODUCTION][LONG_VERSION]}',
f'./xmipp {PARAMS[PARAM_BRANCH][SHORT_VERSION]} devel',
f'./xmipp {MODE_ALL} {PARAMS[PARAM_JOBS][SHORT_VERSION]} 20 '
f'{PARAMS[PARAM_BRANCH][SHORT_VERSION]} devel'
Expand Down
22 changes: 11 additions & 11 deletions installer/constants/versions.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@
from .main import XMIPP, XMIPP_CORE, XMIPP_VIZ, XMIPP_PLUGIN

# Xmipp's current versions
__LATEST_RELEASE_NUMBER = '3.XX.YY.0'
__LATEST_RELEASE_NAME = 'v3.XX.YY-TBD'
RELEASE_DATE = 'dd/mm/yyyy'
LATEST_RELEASE_NUMBER = '3.24.12.0'
LATEST_RELEASE_NAME = 'v3.24.12.0-Poseidon'
RELEASE_DATE = '23/12/2024'
#####################################
DEVEL_BRANCHNAME = 'devel'
MASTER_BRANCHNAME = 'master'
Expand All @@ -39,20 +39,20 @@
VERNAME_KEY = 'vername'
XMIPP_VERSIONS = {
XMIPP: {
VERSION_KEY: __LATEST_RELEASE_NUMBER,
VERNAME_KEY: __LATEST_RELEASE_NAME
VERSION_KEY: LATEST_RELEASE_NUMBER,
VERNAME_KEY: LATEST_RELEASE_NAME
},
XMIPP_CORE: {
VERSION_KEY: __LATEST_RELEASE_NUMBER,
VERNAME_KEY: __LATEST_RELEASE_NAME
VERSION_KEY: LATEST_RELEASE_NUMBER,
VERNAME_KEY: LATEST_RELEASE_NAME
},
XMIPP_VIZ: {
VERSION_KEY: __LATEST_RELEASE_NUMBER,
VERNAME_KEY: __LATEST_RELEASE_NAME
VERSION_KEY: LATEST_RELEASE_NUMBER,
VERNAME_KEY: LATEST_RELEASE_NAME
},
XMIPP_PLUGIN: {
VERSION_KEY: __LATEST_RELEASE_NUMBER,
VERNAME_KEY: __LATEST_RELEASE_NAME
VERSION_KEY: LATEST_RELEASE_NUMBER,
VERNAME_KEY: LATEST_RELEASE_NAME
}
}
#####################################
Expand Down
19 changes: 11 additions & 8 deletions installer/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,18 @@
from typing import Tuple, Optional

# Module imports
from .utils import runJob, getCurrentBranch, isProductionMode
from .utils import runJob, getCurrentBranch, isProductionMode, getCurrentName
from .logger import logger, yellow, green, bold
from .constants import (REPOSITORIES, XMIPP_SOURCES, SOURCES_PATH, MASTER_BRANCHNAME,
SOURCE_CLONE_ERROR, TAG_BRANCH_NAME, INTERRUPTED_ERROR, VERSION_FILE, RELEASE_DATE,
XMIPP_VERSIONS, XMIPP, VERSION_KEY, SECTION_MESSAGE_LEN, VERNAME_KEY, MODE_GET_SOURCES,
MODE_CONFIG_BUILD, CONFIG_FILE)
MODE_CONFIG_BUILD, CONFIG_FILE, XMIPP_PLUGIN)
from .api import sendApiPOST, getOSReleaseName
from .cmake import parseCmakeVersions
from .config import getConfigDate

####################### COMMAND FUNCTIONS #######################
def getSources(branch: str=None):
def getSources(branch: str=None, production: bool=False):
"""
### This function fetches the sources needed for Xmipp to compile.

Expand All @@ -51,10 +51,13 @@ def getSources(branch: str=None):
# Clone or download internal sources
logger(getSectionMessage("Getting Xmipp sources"), forceConsoleOutput=True)
for source in XMIPP_SOURCES:
logger(f"Cloning {source}...", forceConsoleOutput=True)
retCode, output = __cloneSourceRepo(REPOSITORIES[source][0], path=SOURCES_PATH, branch=branch)
message = output if retCode else ''
handleRetCode(retCode, predefinedErrorCode=SOURCE_CLONE_ERROR, message=message, sendAPI=False)
if source == XMIPP_PLUGIN and production:
pass
else:
logger(f"Cloning {source}...", forceConsoleOutput=True)
retCode, output = __cloneSourceRepo(REPOSITORIES[source][0], path=SOURCES_PATH, branch=branch)
message = output if retCode else ''
handleRetCode(retCode, predefinedErrorCode=SOURCE_CLONE_ERROR, message=message, sendAPI=False)

def exitXmipp(retCode: int=0):
"""
Expand Down Expand Up @@ -98,7 +101,7 @@ def getSuccessMessage() -> str:
- (str): Success message.
"""
# Getting release name
branchName = getCurrentBranch()
branchName = getCurrentName()
releaseName = branchName
if branchName is None or branchName == MASTER_BRANCHNAME:
releaseName = XMIPP_VERSIONS[XMIPP][VERSION_KEY]
Expand Down
19 changes: 19 additions & 0 deletions installer/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@

# Installer imports
from .constants import XMIPP, VERNAME_KEY, XMIPP_VERSIONS, INTERRUPTED_ERROR
from .constants.versions import LATEST_RELEASE_NAME
from .logger import blue, red, logger

####################### RUN FUNCTIONS #######################
Expand Down Expand Up @@ -215,6 +216,24 @@ def isTag(dir: str='./') -> bool:
currentBranch = getCurrentBranch(dir=dir)
return not currentBranch or currentBranch == "HEAD"


def getCurrentName():
"""
### This function returns the current branch of the repository of the given directory or the name of the tag.

#### Params:
- dir (str): Optional. Directory of the repository where the check will happen. Default is current directory.

#### Returns:
- (str): The name of the branch or the tag.
"""
if isTag():
return LATEST_RELEASE_NAME
else:
return getCurrentBranch()



def isBranchUpToDate(dir: str='./') -> bool:
"""
### This function returns True if the current branch is up to date, or False otherwise or if some error happened.
Expand Down
11 changes: 6 additions & 5 deletions xmipp
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ from installer.constants import (MODE_ALL, MODE_COMPILE_AND_INSTALL, MODE_CONFIG
CMAKE_CONFIGURE_ERROR, CMAKE_COMPILE_ERROR, CMAKE_INSTALL_ERROR, PARAM_LOGIN, PARAM_SHORT,
PARAM_JOBS, PARAM_BRANCH, PARAM_GIT_COMMAND, PARAM_TEST_PRO, PARAM_TEST_PRO, PARAM_TEST_FUNC, PARAM_MODEL_PATH,
PARAM_MODELS_DIRECTORY, PARAM_KEEP_OUTPUT, PARAM_SHOW_TESTS, PARAM_TEST_NAME, PARAM_UPDATE,
PARAM_OVERWRITE, BUILD_PATH, INSTALL_PATH, BUILD_TYPE, SOURCES_PATH, XMIPP_SOURCES, XMIPP,
PARAM_OVERWRITE, BUILD_PATH, INSTALL_PATH, BUILD_TYPE, SOURCES_PATH, XMIPP_SOURCES, XMIPP, PARAM_PRODUCTION,
LOG_FILE, CMAKE_ERROR, MODE_GET_SOURCES, VERSION_FILE, PARAMS, LONG_VERSION, SHORT_VERSION, SEND_INSTALLATION_STATISTICS)
from installer.utils import runStreamingJob, runJob
from installer.parser import ModeHelpFormatter, GeneralHelpFormatter, ErrorHandlerArgumentParser, getParamNames
Expand Down Expand Up @@ -87,9 +87,9 @@ def modeCleanBin():
userInput = ''
logger("", forceConsoleOutput=True)
if userInput == confirmationText:
runJob(f"find {SOURCES_PATH}/* -name \"*.so\" -exec rm -rf {{}} \;", showCommand=True)
runJob(f"find {SOURCES_PATH}/* -name \"*.os\" -exec rm -rf {{}} \;", showCommand=True)
runJob(f"find {SOURCES_PATH}/* -name \"*.o\" -exec rm -rf {{}} \;", showCommand=True)
runJob(f"find {SOURCES_PATH}/* -name \"*.so\" -exec rm -rf {{}}", showCommand=True)
runJob(f"find {SOURCES_PATH}/* -name \"*.os\" -exec rm -rf {{}}", showCommand=True)
runJob(f"find {SOURCES_PATH}/* -name \"*.o\" -exec rm -rf {{}}", showCommand=True)
runJob("find . -iname \"*.pyc\" -delete", showCommand=True)
runJob("find . -iname \"*.dblite\" -delete", showCommand=True)
runJob(f"find {os.path.join(SOURCES_PATH, XMIPP, 'applications', 'programs')} --type d -empty", showCommand=True)
Expand Down Expand Up @@ -221,7 +221,7 @@ def modeGetSources(args: argparse.Namespace):
- args (Namespace): Command line arguments parsed by argparse library.
"""
# Clone sources from specified branch
getSources(branch=args.branch)
getSources(branch=args.branch, production=args.production)

def modeGit(args: argparse.Namespace):
"""
Expand Down Expand Up @@ -372,6 +372,7 @@ if __name__ == "__main__":
allSubparser = subparsers.add_parser(MODE_ALL, formatter_class=ModeHelpFormatter)
allSubparser.add_argument(*getParamNames(PARAM_JOBS), type=int, default=JOBS)
allSubparser.add_argument(*getParamNames(PARAM_BRANCH))
allSubparser.add_argument(*getParamNames(PARAM_PRODUCTION), type=bool, default=False)
allSubparser.add_argument(*getParamNames(PARAM_KEEP_OUTPUT), action='store_true')

# Arguments for mode 'cleanAll'
Expand Down
Loading