Revert "Reapply "Began preparing for conda deployment""

This reverts commit ade2f3b84572b4356d404da2dbcd1d7266f10205.
This commit is contained in:
Harrison Deng 2025-01-22 18:29:37 +00:00
parent 53e74af20a
commit 677c5e1aa8
9 changed files with 27 additions and 74 deletions

View File

@ -1,16 +0,0 @@
FROM mcr.microsoft.com/devcontainers/miniconda:1-3
# Copy environment.yml (if found) to a temp location so we update the environment. Also
# copy "noop.txt" so the COPY instruction does not fail if no environment.yml exists.
COPY environment.yml* .devcontainer/noop.txt /tmp/conda-tmp/
RUN if [ -f "/tmp/conda-tmp/environment.yml" ]; then umask 0002 && /opt/conda/bin/conda env update -n base -f /tmp/conda-tmp/environment.yml; fi \
&& rm -rf /tmp/conda-tmp
# [Optional] Uncomment to install a different version of Python than the default
# RUN conda install -y python=3.6 \
# && pip install --no-cache-dir pipx \
# && pipx reinstall-all
# [Optional] Uncomment this section to install additional OS packages.
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
# && apt-get -y install --no-install-recommends <your-package-list-here>

View File

@ -1,11 +1,9 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the // For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/miniconda // README at: https://github.com/devcontainers/templates/tree/main/src/python
{ {
"name": "Miniconda (Python 3)", "name": "Python 3",
"build": { // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"context": "..", "image": "mcr.microsoft.com/devcontainers/python:1-3.12-bullseye",
"dockerfile": "Dockerfile"
},
// Features to add to the dev container. More info: https://containers.dev/features. // Features to add to the dev container. More info: https://containers.dev/features.
// "features": {}, // "features": {},
@ -14,18 +12,18 @@
// "forwardPorts": [], // "forwardPorts": [],
// Use 'postCreateCommand' to run commands after the container is created. // Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "python --version", "postCreateCommand": "pip3 install --user -r requirements.txt",
// Configure tool-specific properties.
"customizations": { "customizations": {
"vscode": { "vscode": {
"extensions": [ "extensions": [
"mechatroner.rainbow-csv", "mechatroner.rainbow-csv"
"piotrpalarz.vscode-gitignore-generator"
] ]
} }
} }
// Configure tool-specific properties.
// "customizations": {},
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root" // "remoteUser": "root"
} }

View File

@ -1,3 +0,0 @@
This file is copied into the container along with environment.yml* from the
parent folder. This is done to prevent the Dockerfile COPY instruction from
failing if no environment.yml is found.

3
.gitignore vendored
View File

@ -357,5 +357,4 @@ package
# Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option) # Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option)
output output
*.private.* *.private.*
conda-bld

View File

@ -1,5 +0,0 @@
{
"recommendations": [
"piotrpalarz.vscode-gitignore-generator"
]
}

22
Jenkinsfile vendored
View File

@ -2,42 +2,36 @@ pipeline {
agent { agent {
kubernetes { kubernetes {
cloud 'rsys-devel' cloud 'rsys-devel'
defaultContainer 'miniforge3' defaultContainer 'pip'
inheritFrom 'miniforge' inheritFrom 'pip'
} }
} }
stages { stages {
stage("install") { stage("install") {
steps { steps {
sh 'conda env update -n base -f environment.yml' sh 'python -m pip install -r requirements.txt'
} }
} }
stage("unit tests") { stage("unit tests") {
steps { steps {
sh returnStatus: true, script: "pytest --junitxml=test_results.xml --cov=src --cov-report xml:coverage.xml" sh returnStatus: true, script: "python -m pytest --junitxml=test_results.xml --cov=src --cov-report xml:coverage.xml"
xunit checksName: '', tools: [JUnit(excludesPattern: '', pattern: 'test_results.xml', stopProcessingIfError: true)] xunit checksName: '', tools: [JUnit(excludesPattern: '', pattern: 'test_results.xml', stopProcessingIfError: true)]
recordCoverage(tools: [[parser: 'COBERTURA', pattern: 'coverage.xml']]) recordCoverage(tools: [[parser: 'COBERTURA', pattern: 'coverage.xml']])
} }
} }
stage("build") { stage("build") {
environment {
GIT_AUTHOR_NAME = "Harrison Deng"
GIT_AUTHOR_EMAIL = "yunyangdeng@outlook.com"
}
steps { steps {
sh "python -m build" sh "python -m build"
sh "grayskull pypi dist/*.tar.gz"
sh "conda-build autobigsst.engine --output-folder conda-bld"
} }
} }
stage("archive") { stage("archive") {
steps { steps {
archiveArtifacts artifacts: 'dist/*.tar.gz, dist/*.whl conda-bld/**/*.conda', fingerprint: true, followSymlinks: false, onlyIfSuccessful: true archiveArtifacts artifacts: 'dist/*.tar.gz, dist/*.whl', fingerprint: true, followSymlinks: false, onlyIfSuccessful: true
} }
} }
stage("publish") { stage("publish") {
parallel { parallel {
stage ("internal") { stage ("git.reslate.systems") {
environment { environment {
CREDS = credentials('username-password-rs-git') CREDS = credentials('username-password-rs-git')
} }
@ -45,12 +39,12 @@ pipeline {
sh returnStatus: true, script: 'python -m twine upload --repository-url https://git.reslate.systems/api/packages/ydeng/pypi -u ${CREDS_USR} -p ${CREDS__PSW} --non-interactive --disable-progress-bar --verbose dist/*' sh returnStatus: true, script: 'python -m twine upload --repository-url https://git.reslate.systems/api/packages/ydeng/pypi -u ${CREDS_USR} -p ${CREDS__PSW} --non-interactive --disable-progress-bar --verbose dist/*'
} }
} }
stage ("external") { stage ("pypi.org") {
when { when {
tag '*.*' tag '*.*'
} }
environment { environment {
PYPI_TOKEN = credentials('pypi.org') TOKEN = credentials('pypi.org')
} }
steps { steps {
sh returnStatus: true, script: 'python -m twine upload -u __token__ -p ${TOKEN} --non-interactive --disable-progress-bar --verbose dist/*' sh returnStatus: true, script: 'python -m twine upload -u __token__ -p ${TOKEN} --non-interactive --disable-progress-bar --verbose dist/*'

View File

@ -1,17 +0,0 @@
name: base
channels:
- conda-forge
dependencies:
- aiohttp[speedups]
- biopython
- pytest
- pytest-asyncio
- python-build
- twine
- setuptools_scm
- pytest-cov
- grayskull
- conda-build
- anaconda-client
- conda-utils
- bioconda-build

View File

@ -6,12 +6,7 @@ build-backend = "setuptools.build_meta"
name = "autobigsst.engine" name = "autobigsst.engine"
dynamic = ["version"] dynamic = ["version"]
readme = "README.md" readme = "README.md"
authors = [
{name = "Harrison Deng"},
]
maintainers = [
{name = "Harrison Deng"},
]
dependencies = [ dependencies = [
"biopython", "biopython",
"aiohttp[speedups]", "aiohttp[speedups]",

View File

@ -0,0 +1,8 @@
aiohttp[speedups]
biopython
pytest
pytest-asyncio
build
twine
setuptools_scm
pytest-cov